[SOLVED] Vol+/Vol- auto repeat (RF remote)

  • Dear developers! Is there any chance to enable the auto-repetiton of multimedia keys in Libreelec? As i can see from evtest (thanks System Tools addon), my RF-remote appears as two distinct keyboard devices, one of which has EV_REP bit and other one - not, so event subsystem doesn't generate repeats for second one.

    Is it possible to rewrite evbit of input device (or change driver logic, or something like this)? I'm asking because i have minimalistic RF-remote (with learning IR-Power button) which absolutely fits all my needs in Kodi control, and also much more comfortable and practical than IR-remotes, except annoying step-by-step volume adjust. Thanks in advance!

    See solution here.

    Edited once, last by vevs ().

  • Both virtual keyboard represent one RF-remote. First VK has EV_REP capability bit (repetition works) and serves keys Up/Down/Left/Right, Ok, Menu and Back. Second VK doesn't has EV_REP capability bit (repetition doesn't work) and serves Power, Home, Volume +/- keys and mouse movements (in the mouse emulation mode). As i know, RF-remote doesn't produce repeat events by itself, but linux event subsystem generates them (based on EV_REP bit) instead. So i hope that it's possible somehow to override capability bitmask for the second VK, and Volume keys could be repeated automatically when being hold.

  • I'm sure it's a kernel related. Happily, there are very good-qualified kernel developers here, so i hope for their help (if they'll get interested in solving of such non-critical problem).

  • As i'm definetely not-a-developer, i could be completely wrong, but i think that maybe my RF-remote has two HID usage tables - HID_UP_KEYBOARD and HID_UP_CONSUMER. For the second table there is no EV_REP bit setting in the hid-input.c (HID to Linux input mapper, as i understood), so maybe it's enough just to add "set_bit(EV_REP, input->evbit);" right after this line to force autorepeat for all HID_UP_CONSUMER devices?

  • Yeah, it remains only to find someone who would be so kind to spend his time for kernel build with this correction for me :)

  • Oh, dear sir, thank you :) I'm using latest 8.1.6 build. And if it matters - i don't need a whole LE build, only kernel image will be enough (i know what to do with it) :)

  • Yes! It works! vpeter, thank you sooo much! Excuse me for bothering, but could you please also create a PR for kszaq's aml-kernel repo? Thank you again!

  • kszaq: this is the patch I used in this case TJBZ

    Should I send PR to your linux-amlogic-le? Would you even accept it (so I don't waste time with it). Or you can commit yourself ;)


  • vpeter Thank you. I will add it as project-specific patch for easy deletion in case it breaks something for someone else.

  • So far as in 8.1.8 version and above kszaq had to remove HID-autorepeat patch by wrxtasy request (weird bluetooth MI-remote behavior), i've asked vpeter for help (thank you very much) to build my own LibreElec compiling environment. Now i can build and share with you autorepeat-enabled kernel image from latest kszaq's sources (S905/S905X only, watch the version) :


    Hope it'll be usefull for somebody :)

    Edited 2 times, last by vevs ().