2014-08-05 00:00:39 +08:00
|
|
|
# Accelerator
|
|
|
|
|
2016-04-21 15:39:12 -07:00
|
|
|
> Define keyboard shortcuts.
|
2016-04-21 15:35:29 -07:00
|
|
|
|
2018-09-26 15:03:55 -07:00
|
|
|
Accelerators are Strings that can contain multiple modifiers and a single key code,
|
2016-10-26 14:48:09 +02:00
|
|
|
combined by the `+` character, and are used to define keyboard shortcuts
|
|
|
|
throughout your application.
|
2014-08-05 00:00:39 +08:00
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
2016-04-01 14:09:01 -07:00
|
|
|
* `CommandOrControl+A`
|
|
|
|
* `CommandOrControl+Shift+Z`
|
2014-08-05 00:00:39 +08:00
|
|
|
|
2016-10-26 14:48:09 +02:00
|
|
|
Shortcuts are registered with the [`globalShortcut`](global-shortcut.md) module
|
|
|
|
using the [`register`](global-shortcut.md#globalshortcutregisteraccelerator-callback)
|
|
|
|
method, i.e.
|
|
|
|
|
|
|
|
```javascript
|
2018-09-14 02:10:51 +10:00
|
|
|
const { app, globalShortcut } = require('electron')
|
2016-10-26 14:48:09 +02:00
|
|
|
|
|
|
|
app.on('ready', () => {
|
|
|
|
// Register a 'CommandOrControl+Y' shortcut listener.
|
|
|
|
globalShortcut.register('CommandOrControl+Y', () => {
|
|
|
|
// Do stuff when Y and either Command/Control is pressed.
|
|
|
|
})
|
|
|
|
})
|
|
|
|
```
|
|
|
|
|
2014-08-05 00:00:39 +08:00
|
|
|
## Platform notice
|
|
|
|
|
2015-07-23 17:55:57 +01:00
|
|
|
On Linux and Windows, the `Command` key does not have any effect so
|
2016-06-18 15:26:26 +02:00
|
|
|
use `CommandOrControl` which represents `Command` on macOS and `Control` on
|
2014-08-05 00:00:39 +08:00
|
|
|
Linux and Windows to define some accelerators.
|
|
|
|
|
2016-06-18 15:26:26 +02:00
|
|
|
Use `Alt` instead of `Option`. The `Option` key only exists on macOS, whereas
|
2016-04-01 15:48:12 -07:00
|
|
|
the `Alt` key is available on all platforms.
|
|
|
|
|
2015-07-24 07:19:43 +01:00
|
|
|
The `Super` key is mapped to the `Windows` key on Windows and Linux and
|
2016-06-18 15:26:26 +02:00
|
|
|
`Cmd` on macOS.
|
2015-04-28 13:28:18 +08:00
|
|
|
|
2014-08-05 00:00:39 +08:00
|
|
|
## Available modifiers
|
|
|
|
|
|
|
|
* `Command` (or `Cmd` for short)
|
|
|
|
* `Control` (or `Ctrl` for short)
|
|
|
|
* `CommandOrControl` (or `CmdOrCtrl` for short)
|
|
|
|
* `Alt`
|
2016-03-06 15:12:04 +09:00
|
|
|
* `Option`
|
|
|
|
* `AltGr`
|
2014-08-05 00:00:39 +08:00
|
|
|
* `Shift`
|
2015-04-28 13:28:18 +08:00
|
|
|
* `Super`
|
2014-08-05 00:00:39 +08:00
|
|
|
|
|
|
|
## Available key codes
|
|
|
|
|
|
|
|
* `0` to `9`
|
|
|
|
* `A` to `Z`
|
|
|
|
* `F1` to `F24`
|
|
|
|
* Punctuations like `~`, `!`, `@`, `#`, `$`, etc.
|
2015-01-23 15:26:54 -08:00
|
|
|
* `Plus`
|
2014-08-05 00:00:39 +08:00
|
|
|
* `Space`
|
2016-05-12 16:00:58 -04:00
|
|
|
* `Tab`
|
2019-02-04 15:54:59 -08:00
|
|
|
* `Capslock`
|
|
|
|
* `Numlock`
|
2019-02-11 11:13:13 -08:00
|
|
|
* `Scrolllock`
|
2014-08-05 00:00:39 +08:00
|
|
|
* `Backspace`
|
|
|
|
* `Delete`
|
|
|
|
* `Insert`
|
|
|
|
* `Return` (or `Enter` as alias)
|
|
|
|
* `Up`, `Down`, `Left` and `Right`
|
|
|
|
* `Home` and `End`
|
|
|
|
* `PageUp` and `PageDown`
|
|
|
|
* `Escape` (or `Esc` for short)
|
|
|
|
* `VolumeUp`, `VolumeDown` and `VolumeMute`
|
|
|
|
* `MediaNextTrack`, `MediaPreviousTrack`, `MediaStop` and `MediaPlayPause`
|
2016-03-06 15:12:04 +09:00
|
|
|
* `PrintScreen`
|
2018-11-14 14:02:18 -05:00
|
|
|
* NumPad Keys
|
|
|
|
* `num0` - `num9`
|
|
|
|
* `numdec` - decimal key
|
|
|
|
* `numadd` - numpad `+` key
|
|
|
|
* `numsub` - numpad `-` key
|
|
|
|
* `nummult` - numpad `*` key
|
|
|
|
* `numdiv` - numpad `÷` key
|