nodehotkey v2.0.15
NodeHotKey
https://github.com/Rubinder25/NodeHotKey
https://www.npmjs.com/package/nodehotkey
This is an autohotkey like library for NodeJs
Features
- 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
 
Usage
Install
npm install nodehotkey --save
follow this page to install dependencies for robot-js on your platform: http://getrobot.net/docs/usage.html
import
import { NodeHotKey } from 'nodehotkey';
Initialize the object
let nhk = new NodeHotKey({});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.
Macro
Macros are pre-defined steps that can be triggered by either pressing hotkeys or typing hotstrings. These can be defined as JavaScript objects.
A sample macro looks like this
let macroConfig = {
    '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:-
let nhk = new NodeHotKey(macroConfig);
nhk.startListening();For more sample Marco configs check out MacroSamples_NodeHotKey.
Events
nhk.on(nhk.eventTypes.keyPressed, (eventData) => {
    console.log('KeyPressed ', eventData.keyCode);
});Functions
following are the utility functions present in the package:-
import { pressKey, releaseKey, click,
        type, paste, wait, setClipboardText, 
        getClipboardText, matchCurrentWindowTitle } from 'nodehotkey'; Putting it all together
import { NodeHotKey, pressKey,releaseKey, KEYCODES as kc } from 'nodehotkey';
// press key
pressKey(kc._A);
releaseKey(kc._A);
let macroConfig = {
    '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'); 
                    } 
            }
        ]
    }
}
let nhk = new NodeHotKey(macroConfig);
nhk.startListening();
nhk.on(nhk.eventTypes.keyPressed, (eventData) => {
    console.log('KeyPressed ', eventData.keyCode);
});
// nhk.stopListening(); // terminates the programSample Macros
https://github.com/Rubinder25/MacroSamples_NodeHotKey
email: mail2rubinder@gmail.com
License
MIT
Note: currently Node V10 is not supported
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago