73 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# globalShortcut
 | 
						|
 | 
						|
> Detect keyboard events when the application does not have keyboard focus.
 | 
						|
 | 
						|
The `globalShortcut` module can register/unregister a global keyboard shortcut
 | 
						|
with the operating system so that you can customize the operations for various
 | 
						|
shortcuts.
 | 
						|
 | 
						|
**Note:** The shortcut is global; it will work even if the app does
 | 
						|
not have the keyboard focus. You should not use this module until the `ready`
 | 
						|
event of the app module is emitted.
 | 
						|
 | 
						|
```javascript
 | 
						|
const {app, globalShortcut} = require('electron')
 | 
						|
 | 
						|
app.on('ready', () => {
 | 
						|
  // Register a 'CommandOrControl+X' shortcut listener.
 | 
						|
  const ret = globalShortcut.register('CommandOrControl+X', () => {
 | 
						|
    console.log('CommandOrControl+X is pressed')
 | 
						|
  })
 | 
						|
 | 
						|
  if (!ret) {
 | 
						|
    console.log('registration failed')
 | 
						|
  }
 | 
						|
 | 
						|
  // Check whether a shortcut is registered.
 | 
						|
  console.log(globalShortcut.isRegistered('CommandOrControl+X'))
 | 
						|
})
 | 
						|
 | 
						|
app.on('will-quit', () => {
 | 
						|
  // Unregister a shortcut.
 | 
						|
  globalShortcut.unregister('CommandOrControl+X')
 | 
						|
 | 
						|
  // Unregister all shortcuts.
 | 
						|
  globalShortcut.unregisterAll()
 | 
						|
})
 | 
						|
```
 | 
						|
 | 
						|
## Methods
 | 
						|
 | 
						|
The `globalShortcut` module has the following methods:
 | 
						|
 | 
						|
### `globalShortcut.register(accelerator, callback)`
 | 
						|
 | 
						|
* `accelerator` [Accelerator](accelerator.md)
 | 
						|
* `callback` Function
 | 
						|
 | 
						|
Registers a global shortcut of `accelerator`. The `callback` is called when
 | 
						|
the registered shortcut is pressed by the user.
 | 
						|
 | 
						|
When the accelerator is already taken by other applications, this call will
 | 
						|
silently fail. This behavior is intended by operating systems, since they don't
 | 
						|
want applications to fight for global shortcuts.
 | 
						|
 | 
						|
### `globalShortcut.isRegistered(accelerator)`
 | 
						|
 | 
						|
* `accelerator` [Accelerator](accelerator.md)
 | 
						|
 | 
						|
Returns `Boolean` - Whether this application has registered `accelerator`.
 | 
						|
 | 
						|
When the accelerator is already taken by other applications, this call will
 | 
						|
still return `false`. This behavior is intended by operating systems, since they
 | 
						|
don't want applications to fight for global shortcuts.
 | 
						|
 | 
						|
### `globalShortcut.unregister(accelerator)`
 | 
						|
 | 
						|
* `accelerator` [Accelerator](accelerator.md)
 | 
						|
 | 
						|
Unregisters the global shortcut of `accelerator`.
 | 
						|
 | 
						|
### `globalShortcut.unregisterAll()`
 | 
						|
 | 
						|
Unregisters all of the global shortcuts.
 |