¿Cómo mantener un dispositivo bluetooth gamepad siempre encendido?

¿Cómo mantener un dispositivo bluetooth gamepad siempre encendido?

Tengo este gamepad bluetooth (se usa con VR, como cámara de disparo remota, como joystick, etc):

Este dispositivo se apaga en 5 minutos si no lo toco. Bueno, yo no quiero que haga eso, quiero dejarlo encendido una hora, por ejemplo. Intenté usarlo bluetoothctl connect 13:57:90:05:0E:31cada 30 segundos, pero no funciona: se apaga en 5 minutos. No disconnectlo intenté connectporque podría retrasar la realización de esa operación y es posible que no se conecte y tendré que apagarlo y encenderlo físicamente. necesito que seasiempre encendido y listo para usar.

¿Hay alguna forma de enviar "algo" a este dispositivo para mantenerlo encendido el tiempo que necesito?

Mi sistema: Debian 10 x64, dongle Bluetooth USB TP-Link UB400 y la información del dispositivo es:

[bluetooth]# info 13:57:90:05:0E:31 
Device 13:57:90:05:0E:31 (public)
    Name: Gamepad.
    Alias: Gamepad.
    Class: 0x00000540
    Icon: input-keyboard
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: no
    UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v05ACp3232d0001

Usando Python evdev, las capacidades de este dispositivo son:

gamepad.capabilities()
{0: [0, 1, 3, 4], 1: [304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319], 3: [(0, AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (1, AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (2, AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (5, AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (16, AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0)), (17, AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0))], 4: [4]}

gamepad.capabilities(verbose=True)
{('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('SYN_DROPPED', 3), ('?', 4)], ('EV_KEY', 1): [(['BTN_A', 'BTN_GAMEPAD', 'BTN_SOUTH'], 304), (['BTN_B', 'BTN_EAST'], 305), ('BTN_C', 306), (['BTN_NORTH', 'BTN_X'], 307), (['BTN_WEST', 'BTN_Y'], 308), ('BTN_Z', 309), ('BTN_TL', 310), ('BTN_TR', 311), ('BTN_TL2', 312), ('BTN_TR2', 313), ('BTN_SELECT', 314), ('BTN_START', 315), ('BTN_MODE', 316), ('BTN_THUMBL', 317), ('BTN_THUMBR', 318), ('?', 319)], ('EV_ABS', 3): [(('ABS_X', 0), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (('ABS_Y', 1), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (('ABS_Z', 2), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (('ABS_RZ', 5), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=15, resolution=0)), (('ABS_HAT0X', 16), AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0)), (('ABS_HAT0Y', 17), AbsInfo(value=0, min=-1, max=1, fuzz=0, flat=0, resolution=0))], ('EV_MSC', 4): [('MSC_SCAN', 4)]}

gamepad.leds()
[] # it has no leds to receive on/off data

información relacionada