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