Playstation 3 Bluetooth remote no key repeat

  • Hi,

    My old Kodi Ubuntu HTPC install just died due to a faulty SSD. I did fresh LibreELEC install (LibreELEC-Generic.x86_64-8.2.5.img.gz). After quick xorg.conf Nvidia Modeline tweaks and removing audio delay by setting parameters on advancedsettings.xml everything is working beautifully on playback side. I was quite impressed how much Kodi installation process has matured.

    But, I am having troubles with my Playstation 3 Bluetooth remote ( V.1) It was paired without problems via GUI, and the keymap is alright, but there is no key repeat when i hold down a remote key. Only one keypress is registered. It is very difficult to browse my quite long movie collection if I have to constantly tap a remote key.

    I have tried to find a solution from forums and wikis but no avail. I don't even know how the PS3 remote is handled by LibreElec install, or where default setting files are. With my previous Ubuntu install I was using Kitlaan patched Bluez-4.69, and key repeat was working fine.

    I found this on 09_Journal-cur.log:

    Aug 02 12:02:43 HTPC kernel: sony 0005:054C:0306.0006: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [BD Remote Control] on 5c:f3:70:77:e3:dc

    So I am asking here, Is there simple and known solution for this problem?

    Edited once, last by Preparator (August 2, 2018 at 12:19 PM).

  • So I have been fiddling around with my new LibreELEC install, and Googling some more. I am not familiar with LIRC or Linux device management at all. What I think I have found out is, that my PS3 BT Remote is handled from udev -> eventlircd daemon -> LIRC. I have found out that by default key repeat is off in LIRC settings.

    I have read LIRC documentation and believe that key repeat could be activated in LIRC settings, specifically ~/.config/lircrc.

    "repeat

    tells the program what shall happen if a key is repeated. A value of zero tells the program to ignore repeated keys. Any other positive value 'n' tells the program to pass the config string every 'n'-th time to the according application, when a key is repeated. The default for repeat is zero.

    delay

    tells the program to ignore the specified number of key repeats before using the "repeat" configuration directive above. This is used to prevent double triggers of events when using a fast repeat rate. A value of zero, which also is the default, will disable the delay function. If "repeat" value is zero but "delay" is set, there will be a single event generated after the delay period expires (with another one before delay period starts)."

    Does anyone know if this is possible? And where should lircrc file be copied for it to work?

    I have tried to:

    And here is information that I have gathered from my LibreELEC install.

    Code
    irw
    
    67 0 KEY_UP devinput
    6c 0 KEY_DOWN devinput
    6a 0 KEY_RIGHT devinput
    69 0 KEY_LEFT devinput
  • Since I've been struggling with the same issue, here are my "insights":

    * based on the diagram from 3.3. Remote Control I would say: LIRC (the daemon) is not part of the picture for the PS3 Bluetooth Remote

    * despite the documentation stating that lircrc is being read, I didn't find any reference to it in the eventlircd source code

    * using evtest /dev/input/... shows that holding down a button does not generate repeat events

    * eventlircd seems to only filter repeat events but does not generate them

    I've opened a bug report here: Feature Request: Generate repeat events for devices which only do press & release · Issue #4 · OpenELEC/eventlircd · GitHub

    So, now I can either stop eventlircd to get the key repetitions to work (since the remote will then be handled as a keyboard) but with most of the keys dead since their key/scan codes are above the magic number of 128 plus I have to do the key assignments manually or I can use eventlircd with all the buttons properly assigned but no key repetitions.