node-red-contrib-keyboard-mouse-triggers 0.6.0
Nodered node, triggers on global keyboard or mouse events.
Node red trigger on keypress or mouse
This node is used as a trigger node with one output. It reacts on keyboard or mouse events.
Can be used to trigger the flow on the USB Panic Button press, the one like this one:

Installation
Install on your Node Red root directory:
npm install node-red-contrib-keyboard-mouse-triggers
Usage and Events
Drop the node you would like to get trigger on to the pallet. Each node has only one output and no inputs. The node is triggered on the corresponding event as in node name. The output msg.payload contains event object.
Keydown
Triggers on user pressed any key on the keyboard. Example of the output event is below. Notice, that the keycode and rawcode are changed based on the actual key pressed.
{
"shiftKey":false,
"altKey":false,
"ctrlKey":false,
"metaKey":false,
"keycode":49,
"rawcode":78,
"type":"keydown"
}
Sample Flow
[
{
"id": "5191fb7.c813604",
"type": "tab",
"label": "Flow 2",
"disabled": false,
"info": ""
},
{
"id": "5ee113c3.2555ec",
"type": "keydown",
"z": "5191fb7.c813604",
"name": "",
"x": 100,
"y": 60,
"wires": [
[
"bb0ebf79.dbfdb"
]
]
},
{
"id": "bb0ebf79.dbfdb",
"type": "debug",
"z": "5191fb7.c813604",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"x": 330,
"y": 60,
"wires": []
}
]

Dependency
The module is using iohook module to hook up for keyboard and mouse events globally. See npm iohook for details.
Work in Progress
At the moment, the avainlable triggers:
keydown- on key down keyboard event;
Plans:
mouseclick- on mouse button click, the button index will be delivered in the output;mousemove- on mouse move, the coordinates are in the output;keydownwith the specific setting of expected keys - improve thekeydownnode with the settings, specify the key to be expected,Ctrl,Altand/orShiftkeys to be pressed as well.