Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

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

Code Block
languagejs

...

[                                                                                                                                                                                                                                
    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;
};                                                                                                                          
                                                                                                                           

...

borderColor#3D3D3D
bgColor#F4F4F4
titleColor#3D3D3D
borderWidth0
titleBGColor#3D3D3D
borderStylesolid

ON THIS PAGE

...

Object Creation

To create a usbhidemulator object, first load the @brightsign/usbhidemulator module using

...

the require() method.

Code Block
languagejs
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()
Code Block
languagejs
Promise<void> enable()

Enables the HID device.

disable()
Code Block
languagejs
Promise<void> disable()

Disables the HID device. This method is not currently supported.

clear()
Code Block
languagejs
Promise<void> clear()

Clears all active keystrokes and modifiers.

keyDown()
Code Block
languagejs
Promise<void> keyDown(int keycode)

Sends a keydown event for the specified USB key code.

keyPress()
Code Block
languagejs
Promise<void> keyPress(int keycode)

This is the same

...

as keyDown() followed by keyUp().

keyUp()
Code Block
languagejs
Promise<void> keyUp(int keycode)

...

Sends a keyup event for the specified USB key code.

getLedState()
Code Block
languagejs
Promise<LedState> getLedState()

Returns an associative array with the current state of all LED states on the keyboard.

getModifierState()
Code Block
languagejs
Promise<ModifierState> getModifierState()

Returns an associative array with the current state of all modifiers (such as, shift, alt, ctrl).

setModifierState()
Code Block
languagejs
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

...

Note

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

Code Block
languagejs
keyem = require('@brightsign/usbhidemulator')
kbd = new keyem()
kbd.addEventListener("ledupdate", function f(e) { console.log(e);})
kbd.enable()

kbd.keyPress(4)