https://github.com/Rubinder25/NodeHotKey
https://www.npmjs.com/package/nodehotkey
This is an autohotkey like library for NodeJs
- Make global Macros and assign hotkeys to trigger them
- Make global hotstrings to expand text as you type it
- Catch global keyboard/mouse events in your code
- Operate keyboard, mouse and clipboard from code
npm install nodehotkey --save
follow this page to install dependencies for robot-js on your platform: http://getrobot.net/docs/usage.html
import { NodeHotKey } from 'nodehotkey';
letnhk=newNodeHotKey({});Currently, we are passing an empty object. A Macro Config object can be passed to the constructor in order to create AutoHotkey like macros. Please refer to the next section for this.
Macros are pre-defined steps that can be triggered by either pressing hotkeys or typing hotstrings. These can be defined as JavaScript objects.
letmacroConfig={'Name of the Macro': {hotkeys: [kc._CONTROL,kc._E],steps: [{type: 'This Macro can be triggered by pressing CTRL+E\n'},{type: "Wait for 3 secs then press ',' "},{wait: 3000},{click: kc._COMMA},{func: tools=>{tools.type('Run JavaScript functions by pressing hotkeys');}}]}}we can then pass this macroConfig to constructor of NodeHotKey like this:-
letnhk=newNodeHotKey(macroConfig);nhk.startListening();For more sample Marco configs check out MacroSamples_NodeHotKey.
nhk.on(nhk.eventTypes.keyPressed,(eventData)=>{console.log('KeyPressed ',eventData.keyCode);});following are the utility functions present in the package:-
import{pressKey,releaseKey,click,type,paste,wait,setClipboardText,getClipboardText,matchCurrentWindowTitle}from'nodehotkey';import{NodeHotKey,pressKey,releaseKey,KEYCODESaskc}from'nodehotkey';// press keypressKey(kc._A);releaseKey(kc._A);letmacroConfig={'Name of the Macro': {hotkeys: [kc._CONTROL,kc._E],steps: [{type: 'This Macro can be triggered by pressing CTRL+E\n'},{type: "Wait for 3 secs then press ',' "},{wait: 3000},{click: kc._COMMA},{func: tools=>{tools.type('Run JavaScript functions by pressing hotkeys');}}]}}letnhk=newNodeHotKey(macroConfig);nhk.startListening();nhk.on(nhk.eventTypes.keyPressed,(eventData)=>{console.log('KeyPressed ',eventData.keyCode);});// nhk.stopListening(); // terminates the programhttps://github.com/Rubinder25/MacroSamples_NodeHotKey
email: mail2rubinder@gmail.com
MIT
Note: currently Node V10 is not supported