| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-03 16:43:22 -06:00
										 |  |  | app.whenReady().then(() => { | 
					
						
							| 
									
										
										
										
											2016-10-26 14:48:09 +02:00
										 |  |  |   // 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 |