usbhidemulator
The usbhidemulator allows you to emulate USB HID devices. USB keyboards are currently the only supported device type.
BrightSign players with USB-C (except for LS3 and LS4) can use this object.
usbhidemulator IDL
[
constructor(String path, String type)
] interface UsbHidEmulator {
Promise<void> enable();
Promise<void> disable();
Promise<void> clear();
Promise<void> keyDown(int keycode);
Promise<void> keyPress(int keycode);
Promise<void> keyUp(int keycode);
Promise<LedState> getLedState();
Promise<ModifierState> getModifierState();
Promise<void> setModifierState(ModifierState)
};
interface LedState {
[optional] attribute bool numLock;
[optional] attribute bool capsLock;
[optional] attribute bool scrollLock;
};
interface ModifierState {
[optional] attribute bool leftCtrl;
[optional] attribute bool leftShift;
[optional] attribute bool leftAlt;
[optional] attribute bool leftGui;
[optional] attribute bool rightCtrl;
[optional] attribute bool rightShift;
[optional] attribute bool rightAlt;
[optional] attribute bool rightGui;
};
Object Creation
To create a usbhidemulator object, first load the @brightsign/usbhidemulator module using the require() method.
keyem = require('@brightsign/usbhidemulator')
kbd = new keyem()UsbHideEmulator
Use this interface to configure a usbhidemulator interface. The usbhidemulator class also generates "ledupdate" events which can be listened for with AddEventListener().
enable()
Promise<void> enable()Enables the HID device.
disable()
Promise<void> disable()Disables the HID device. This method is not currently supported.
clear()
Clears all active keystrokes and modifiers.Clears all active keystrokes and modifiers.
keyDown()
Promise<void> keyDown(int keycode)Sends a keydown event for the specified USB key code.
keyPress()
Promise<void> keyPress(int keycode)This is the same as keyDown() followed by keyUp().
keyUp()
Promise<void> keyUp(int keycode)Sends a keyup event for the specified USB key code.
getLedState()
Promise<LedState> getLedState()Returns an associative array with the current state of all LED states on the keyboard.
getModifierState()
Promise<ModifierState> getModifierState()Returns an associative array with the current state of all modifiers (such as, shift, alt, ctrl).
setModifierState()
Promise<ModifierState> setModifierState(ModifierState)Sets the current modifier state as specified by an associative array. Only modifiers that are listed will cause the state to change.
Keycode
This interface contains the USB key code.
- keycode int
USB HID keyboard codes are in section 10 of www.usb.org/sites/default/files/documents/hut1_12v2.pdf.
LedState
This interface sends an LED state change if number lock, capital lock, or scroll lock is pressed.
- numLock bool optional
- capsLock bool optional
- scrollLock bool optional
ModifierState
Listed modifiers will cause the state to change.
- leftCtrl bool optional
- leftShift bool optional
- leftAlt bool optional
- leftGui bool optional
- rightCtrl bool optional
- rightShift bool optional
- rightAlt bool optional
- rightGui bool optional
Example
keyem = require('@brightsign/usbhidemulator')
kbd = new keyem()
kbd.addEventListener("ledupdate", function f(e) { console.log(e);})
kbd.enable()
kbd.keyPress(4)