68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
|
# shortcut
|
||
|
|
||
|
A `Shortcut` presents a global keyboard shortcut in operating system. If a
|
||
|
`Shortcut` is registered in app, the app will receive an `active` event when
|
||
|
user presses the shortcut. Note that it is global, even your app does not get
|
||
|
focused, it still works.
|
||
|
|
||
|
|
||
|
```javascript
|
||
|
var Shortcut = require('shortcut');
|
||
|
|
||
|
shortcut = new Shortcut('ctrl+a');
|
||
|
shortcut.setKey('ctrl+s');
|
||
|
shortcut.on('active', function() { console.log('ctrl+s pressed'); });
|
||
|
shortcut.on('failed', function() { console.log("failed"); });
|
||
|
shortcut.register();
|
||
|
```
|
||
|
|
||
|
## Class: Shortcut
|
||
|
|
||
|
`Shortcut` is an [EventEmitter](event-emitter).
|
||
|
|
||
|
### new Shortcut(keycode)
|
||
|
|
||
|
* `keycode` String
|
||
|
|
||
|
Creates a new `Shortcut` associated with the `keycode`.
|
||
|
|
||
|
`keycode` is a string to specify shortcut key, such as "ctrl+shift+a".
|
||
|
|
||
|
A `keycode` consists of modifier and key two parts:
|
||
|
|
||
|
__Modifiers__: control(ctrl), command(cmd), alt, shift, commandorcontrol(cmdorctrl).
|
||
|
|
||
|
__Supported keys__: 0-9, a-z, up, down, left, right, home, end, pagedown, pageup,
|
||
|
insert, delete, esc, space, backspace, tab, f1-f12, volumeup, volumedown, media
|
||
|
keys(medianextrack, mediaprevioustrack, mediastop, mediaplaypause).
|
||
|
|
||
|
### Event: active
|
||
|
|
||
|
Emitted when a registered `shortcut` is pressed by user.
|
||
|
|
||
|
### Event: failed
|
||
|
|
||
|
Emitted when the keycode of `shortcut` is invalid.
|
||
|
|
||
|
### Shortcut.setKey(keycode)
|
||
|
|
||
|
* `keycode` String
|
||
|
|
||
|
Set new `keycode` to a `Shortcut`. Note that this operation will override previous
|
||
|
keycode and will unregister the `Shortcut`, developer should register the
|
||
|
`Shortcut` again after `setKey`.
|
||
|
|
||
|
### Shortcut.register
|
||
|
|
||
|
Register a `Shortcut` to operating system.
|
||
|
|
||
|
### Shortcut.unregister
|
||
|
|
||
|
Unregister a `Shortcut` to operating system.
|
||
|
|
||
|
### Shortcut.isRegistered
|
||
|
|
||
|
Return whether the shortcut is registered.
|
||
|
|
||
|
[event-emitter]: http://nodejs.org/api/events.html#events_class_events_eventemitter
|