Swift
Need help with macos-key-cast?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
karaggeorge

Description

Log keys pressed on macOS. Useful for screen recordings and presentations.

221 Stars 7 Forks 37 Commits 3 Opened issues

Services available

Need anything else?

macos-key-cast Actions Status

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.

Run as CLI

Using npx

$ npx macos-key-cast

Installing

$ npm install -g macos-key-cast
$ key-cast

Usage

Usage: key-cast [options]

Options: -b, --bounds JSON object with bounds of a rectangle to show the UI in. Example: '{"bounds":[[955,627],[656,384]]}' -d, --display 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 Size of the window and font to use. Defaults to normal -t, --delay How long the key remains on screen in seconds

Node API

Installation

$ npm install macos-key-cast

Usage

const castKeys = require('macos-key-cast');

const process = castKeys({size: 'large', delay: 1.5, keyCombinationsOnly: true});

// Later

process.cancel();

Demo

Dark Mode support

API

castKeys(options: object): PCancelable

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
options: object

Additional options passed to the CLI

options.size: 'small' | 'normal' | 'large'

Default:

normal

How big the window and the font should be

options.delay: number

Default:

0.5

How long the window should remain on screen after the last key press

options.display: number

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.

options.keyCombinationsOnly: boolean

Default:

false

Whether or not it should track all key presses or only combinations

options.bounds: Object

An object containing keys

x
,
y
,
width
,
height
defining an area within the display to use for the UI's initial position.

Contributing

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 😃

Related

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.