blob: 411782741bbf2525ca22e548f731242c184e9799 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<!-- contributed by Erik Vold [erikvvold@gmail.com] -->
Some add-ons may wish to define keyboard shortcuts for certain operations. This
module exposes an API to create
[xul based hotkeys](https://developer.mozilla.org/en/XUL/key).
## Example ##
var keyID = "ADDON:EXAMPLE-HOTKEY@ERIKVOLD.COM:CMD-ALT-R";
const { XulKey } = require("xulkeys");
XulKey({
id: keyID,
modifiers: "accel,alt",
key: "R",
onCommand: function() {
console.log("pressed");
}
});
<api name="XulKey">
@class
This module exports a `XulKey` constructor which allows one to create xul based
hotkeys.
<api name="XulKey">
@constructor
Creates a hotkey whose `onCommand` listener method is invoked when the key
comboination provided is pressed.
@param options {Object}
Options that define the hotkey, with the following properties:
@prop [id] {string}
A namespaced unique id for the key element.
@prop key {string}
The key to listen for.
@prop [modifiers] {string}
A list of modifier keys that should be pressed to invoke the hotkey.
Multiple keys may be separated by spaces or commas.
"accel"
"meta,shift"
"control alt"
See the [MDN documentation on the modifiers
attribute](https://developer.mozilla.org/en/XUL/Attribute/modifiers) for a
full list of acceptable values.
@prop onCommand {function}
A function that is invoked when the hotkey is pressed.
</api>
</api>
|