Log keys pressed on macOS. Useful for screen recordings and presentations.
Requires macOS 10.12 or later. macOS 10.13 or earlier needs to download the Swift runtime support libraries.
Using npx
$ npx macos-key-cast
$ npm install -g macos-key-cast
$ key-cast
Usage: key-cast [options]
Options:
-b, --bounds <value> JSON object with bounds of a rectangle to show the UI in. Example: '{"bounds":[[955,627],[656,384]]}'
-d, --display <value> Display number of the screen to show the UI in. Defaults to the main screen.
-h, --help Show help information
-k, --key-combinations Show key combinations only
-s, --size <value> Size of the window and font to use. Defaults to normal
-t, --delay <value> How long the key remains on screen in seconds
$ npm install macos-key-cast
const castKeys = require('macos-key-cast');
const process = castKeys({size: 'large', delay: 1.5, keyCombinationsOnly: true});
// Later
process.cancel();Start the process.
The returned promise is an instance of PCancelable, so it has a .cancel() method which can be used to kill the process
Additional options passed to the CLI
Default: normal
How big the window and the font should be
Default: 0.5
How long the window should remain on screen after the last key press
Display id of the screen to show the UI in. Defaults to the main screen.
Note: If you are using electron, you can find the display id in the Display Object.
Default: false
Whether or not it should track all key presses or only combinations
An object containing keys x, y, width, height defining an area within the display to use for the UI's initial position.
If you want to use this and need more features or find a bug, please open an issue and I'll do my best to implement.
PRs are always welcome as well 😃
- mac-focus-window - Focus a window and bring it to the front on macOS
- mac-windows - Provide Information about Application Windows running
- macos-accessibility-permissions - Check and request macOS accessibility permissions
MIT


