[Solved] Keys from USB Remote Control not detected

  • Hello. I'm using a remote control with an USB dongle (this one: Portable TV, Portable Freeview Digital TV, Handheld TV, Bluetooth Speakers, Bluetooth Headphones, Bluetooth Receiver, Bluetooth DAB Radio, Clock Radio, TV Aerial). I've been using it for quite a while but with the update on Kodi 17 (LibreElec 7.95.3 on Raspberry Pi 2) it stopped working. When I revert the system to the previous version (LibreElec 7.0) it works again. So it seems that the hardware is working but not detected.


    However, when I run


    It registers the keys (KEY_UP, KEY_RIGHT and so on).
    Does anyone knows why LibreElec does not register the input from my remote?


    Important Note: The remote control has a key to imitate a mouse. This key is the only one which is working (I can move the mouse). Maybe LibreElec thinks this device is just a mouse instead of a remote control or a keyboard?

    Edited once, last by rei0d ().


  • Did you finaly find a solution?? I have similar problem with other remote + keyboard + mouse.

  • No sorry, havn't found anything. It's still possible to switch back to LibreElec 7.0 where the remote seems to work fine.


  • The product description page you linked to is very misleading.
    Is it RF or Bluetooth?
    If you install keymap editor does it give you any input when trying to map a key?


    The Keymap Editor does not react to any key.
    The remote uses radio frequency with an USB dongle (which was shipped with the remote).
    I hope this clarifies it a bit, I dont know why they say its a Bluetooth dongle.


  • I had a similar problem with a different remote - fixed by sticking a 51-these-are-not-joysticks-rm.rules file (with the correct vendor and product id's for my remote) in the storage/.config/. udev.rules.d folder. Similar to this:
    http://forum.kodi.tv/showthread.php?tid=278842&page=13


    Thanks for your reply, I tried what u linked but I guess I did something wrong.
    I get this from lsub:

    Code
    Bus 001 Device 006: ID 1058:1003 Western Digital Technologies, Inc. WD Elements                                   Desktop (WDE1UBK)
    Bus 001 Device 004: ID 1d57:ad03 Xenta
    Bus 001 Device 005: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bri                                  dge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast                                   Ethernet Adapter
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


    Where Device 004 (Xenta) is my remote. Then I downloaded the 51 rules file with:

    Code
    curl -o /etc/udev/rules.d/51-these-are-not-joysticks.rules \ https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/51-these-are-not-joysticks.rules


    And added these lines to it:

    Code
    SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}="1"
    SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", KERNEL=="js[0-9]*", MODE="0000", ENV{ID_INPUT_JOYSTICK}="1"


    By the way, where do I know which ID_INPUT_JOYSTICK my device has?


    Thanks for your help so far!


    If that helps: I get this from: ls -l /dev/input/by-id/

    Code
    lrwxrwxrwx    1 root     root             9 Feb 17 12:46 usb-FREEWAY_TECHNOLOGY_ad03-if02-event-joystick -> ../event0
    lrwxrwxrwx    1 root     root             6 Feb 17 12:46 usb-FREEWAY_TECHNOLOGY_ad03-if02-joystick -> ../js0
    lrwxrwxrwx    1 root     root             9 Feb 17 12:46 usb-FREEWAY_TECHNOLOGY_ad03-if03-event-mouse -> ../event1
    lrwxrwxrwx    1 root     root             9 Feb 17 12:46 usb-FREEWAY_TECHNOLOGY_ad03-if03-mouse -> ../mouse0

    Edited once, last by rei0d ().

  • All I did was to follow the advice in the link.
    So run...
    udevadm monitor -p
    unplug your dongle, plug it back in, look for your vendor id and product id (they weren't named exactly that for me but they were fairly obvious). Or post the output here.


    No guarantees this will work for you, obviously - I'm no expert in this. It just looks like a similar issue.

  • Thanks so much!
    I just had to use the version to remove the device (link), insert the ID_VENDOR_ID and ID_MODEL, reboot and it worked again!


    Thats what the rules look like for me:

    Code
    SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
    SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
  • My remote is this


    614EoFIfm-L._SL1010_.jpg


    ID_VENDOR_ID=2052

    ID_MODEL_ID=0121


    up down left right work but Home for example doesn't register under LibreELEC 8.2.4


    I tried to put these

    SUBSYSTEM=="input", ATTRS{idVendor}=="2052", ATTRS{idProduct}=="0121", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""


    SUBSYSTEM=="input", ATTRS{idVendor}=="2052", ATTRS{idProduct}=="0121", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""


    At the end of file and reboot but it does not work.


    I use logging on and ssh

    tail -F .kodi/temp/kodi.log


    Some key presses are not detected.