specialkey-emulator

Emulate special keys (e.g. brightness, play/pause, increase volume) by emitting low-level global keyboard events - using NodeJS.

Usage no npm install needed!

<script type="module">
  import specialkeyEmulator from 'https://cdn.skypack.dev/specialkey-emulator';
</script>

README

# specialkey-emulator


Emulate special keys (e.g. brightness, play/pause, increase volume) by emitting low-level global keyboard events - using NodeJS.

Contents

  1. Supported Platforms
  2. Requirements
  3. Roadmap
  4. Installation
  5. Usage
  6. API
  7. List of Special Key Names
  8. Author
  9. License

Supported Platforms

Currently OSX only (see Roadmap).
Tested on OSX 10.13 and 10.14.

Requirements

Node 10.0.0+

Roadmap

Installation

npm install specialkey-emulator --save

Usage

To trigger a key, simply require the module and directly call it with the name of the key to be triggered. See List of Special Key Names for a list of currently supported keys.

Simple usage

specialkey = require('specialkey-emulator');

specialkey('NX_KEYTYPE_ILLUMINATION_DOWN')

Callback usage

specialkey = require('specialkey-emulator');

specialkey('NX_KEYTYPE_ILLUMINATION_DOWN', function (err, result) {
    if (err) {
        return console.log('Error', err);
    }
    console.log('Key triggered', result);
})

API

Overview

This module directly exports itself as a function:

require('specialkey-emulator')(keyName, callback)

Parameters

It takes the following parameters:

  • keyName (String) - Name of the key to be triggered. See List of Special Key Names.
  • callback (Function) - Called after trying to trigger the special key.
    • error (Error) - Error
    • result (Number) - Internal code of the key which was called.

List of Special Key Names

OSX

  • Reference: Darwin Keyboard Events @ opensource.apple.com
  • Names
    • NX_KEYTYPE_SOUND_UP
    • NX_KEYTYPE_SOUND_DOWN
    • NX_KEYTYPE_BRIGHTNESS_UP
    • NX_KEYTYPE_BRIGHTNESS_DOWN
    • NX_KEYTYPE_CAPS_LOCK
    • NX_KEYTYPE_HELP
    • NX_KEYTYPE_POWER_KEY
    • NX_KEYTYPE_MUTE
    • NX_KEYTYPE_UP_ARROW_KEY
    • NX_KEYTYPE_DOWN_ARROW_KEY
    • NX_KEYTYPE_NUM_LOCK
    • NX_KEYTYPE_CONTRAST_UP
    • NX_KEYTYPE_CONTRAST_DOWN
    • NX_KEYTYPE_LAUNCH_PANEL
    • NX_KEYTYPE_EJECT
    • NX_KEYTYPE_VIDMIRROR
    • NX_KEYTYPE_PLAY
    • NX_KEYTYPE_NEXT
    • NX_KEYTYPE_PREVIOUS
    • NX_KEYTYPE_FAST
    • NX_KEYTYPE_REWIND
    • NX_KEYTYPE_ILLUMINATION_UP
    • NX_KEYTYPE_ILLUMINATION_DOWN
    • NX_KEYTYPE_ILLUMINATION_TOGGLE

Author

sidneys.github.io 2018

License

MIT