---
title: usbhidemulator
slug: develop/es/usbhidemulator
docTags: 
createdAt: 2025-03-27T16:58:59.390Z
---

El *usbhidemulator* le permite emular dispositivos HID USB. Los teclados USB son actualmente el único tipo de dispositivo compatible.&#x20;

Los reproductores BrightSign con USB-C (excepto LS3 y LS4) pueden usar este objeto.

**IDL de usbhidemulator**

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

## Creación de objetos

Para crear un objeto *usbhidemulator*, primero cargue el módulo *@brightsign/usbhidemulator* usando el método *require()*.

```javascript
keyem = require('@brightsign/usbhidemulator')
kbd = new keyem()
```

## UsbHideEmulator

Use esta interfaz para configurar una interfaz *usbhidemulator*. La clase *usbhidemulator* también genera eventos "ledupdate" que se pueden escuchar con *AddEventListener().*

**enable()**

```javascript
Promise<void> enable()
```

Habilita el dispositivo HID.

**disable()**

```javascript
Promise<void> disable()
```

Deshabilita el dispositivo HID. Este método no es actualmente compatible.

**clear()**

```javascript
Clears all active keystrokes and modifiers.
```

Borra todas las pulsaciones de teclas y modificadores activos.

**keyDown()**

```javascript
Promise<void> keyDown(int keycode)
```

Envía un evento keydown para el código de tecla USB especificado.

**keyPress()**

```javascript
Promise<void> keyPress(int keycode)
```

Esto es lo mismo que keyDown() seguido de keyUp().

**keyUp()**

```javascript
Promise<void> keyUp(int keycode)
```

Envía un evento keyup para el código de tecla USB especificado.

**getLedState()**

```javascript
Promise<LedState> getLedState()
```

Devuelve una matriz asociativa con el estado actual de todos los estados LED del teclado.

**getModifierState()**

```javascript
Promise<ModifierState> getModifierState()
```

Devuelve una matriz asociativa con el estado actual de todos los modificadores (como shift, alt y ctrl).

**setModifierState()**

```javascript
Promise<ModifierState> setModifierState(ModifierState)
```

Establece el estado actual del modificador según lo especificado por un arreglo asociativo. Solo los modificadores que se enumeran provocarán que el estado cambie.

## Código de tecla

Esta interfaz contiene el código de tecla USB.

- `keycode`<font color="#6554c0"> int</font>

:::hint{type="warning"}
Los códigos de teclado USB HID están en la sección 10 de [www.usb.org/sites/default/files/documents/hut1\_12v2.pdf](http://www.usb.org/sites/default/files/documents/hut1_12v2.pdf).
:::

## Estado LED

Esta interfaz envía un cambio de estado LED si se presiona number lock, capital lock o scroll lock.

- `Bloq Num` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `capsLock` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `scrollLock` <font color="#6554c0">bool </font><font color="#01a0af">opcional</font>

## Estado del modificador

Los modificadores enumerados provocarán que el estado cambie.

- `leftCtrl` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `leftShift`<font color="#6554c0"> bool</font> <font color="#01a0af">opcional</font>
- `leftAlt` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `leftGui` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `rightCtrl` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `rightShift` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `rightAlt` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>
- `rightGui` <font color="#6554c0">bool</font> <font color="#01a0af">opcional</font>

## Ejemplo

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

kbd.keyPress(4)
```

