Hi again,
@sam_nazarko suggested here that I should switch from lirc to ir-keytable. I have the marantz-rc003pmcd remote that uses standard rc-5 for most of the keys, but some keys seem to use something different, and i have a suspicion (based on this) it’s rc-5x-20.
I saw online that the linux devs added support for this in the kernel and I’d like to evaluate it on the Vero V hardware (IR receiver) and OSMC.
I wrote this minimal keymap file to have working navigation:
$ cat /etc/rc_keymaps/marantz-rc003pmcd
# table marantz_rc003pmcd type: rc-5
0x1457 KEY_OK
0x1450 KEY_UP
0x1451 KEY_DOWN
0x1455 KEY_LEFT
0x1456 KEY_RIGHT
0x1429 KEY_BACK
0x144f0a KEY_INFO
After I do systemctl stop eventlircd
, I load this keymap:
$ sudo ir-keytable -c -w /etc/rc_keymaps/marantz-rc003pmcd
Read marantz_rc003pmcd table
Old keytable cleared
Wrote 7 keycode(s) to driver
Protocols changed to rc-5
I can see with ir-keytable that the keys I press are properly recognized and they are associated with KEY_UP, KEY_DOWN etc:
$ ir-keytable -t
Testing events. Please, press CTRL-C to abort.
26525.760783: event type EV_MSC(0x04): scancode = 0x1456
26525.760783: event type EV_KEY(0x01) key_down: KEY_RIGHT(0x006a)
26525.760783: event type EV_SYN(0x00).
26525.910047: event type EV_MSC(0x04): scancode = 0x1456
26525.910047: event type EV_SYN(0x00).
26526.170030: event type EV_KEY(0x01) key_up: KEY_RIGHT(0x006a)
26526.170030: event type EV_SYN(0x00).
26527.036906: event type EV_MSC(0x04): scancode = 0x1455
26527.036906: event type EV_KEY(0x01) key_down: KEY_LEFT(0x0069)
26527.036906: event type EV_SYN(0x00).
26527.190050: event type EV_MSC(0x04): scancode = 0x1455
26527.190050: event type EV_SYN(0x00).
26527.450027: event type EV_KEY(0x01) key_up: KEY_LEFT(0x0069)
26527.450027: event type EV_SYN(0x00).
26528.240441: event type EV_MSC(0x04): scancode = 0x1450
26528.240441: event type EV_KEY(0x01) key_down: KEY_UP(0x0067)
26528.240441: event type EV_SYN(0x00).
26528.390063: event type EV_MSC(0x04): scancode = 0x1450
26528.390063: event type EV_SYN(0x00).
26528.650023: event type EV_KEY(0x01) key_up: KEY_UP(0x0067)
26528.650023: event type EV_SYN(0x00).
26529.297836: event type EV_MSC(0x04): scancode = 0x1451
26529.297836: event type EV_KEY(0x01) key_down: KEY_DOWN(0x006c)
26529.297836: event type EV_SYN(0x00).
26529.450051: event type EV_MSC(0x04): scancode = 0x1451
26529.450051: event type EV_SYN(0x00).
26529.710029: event type EV_KEY(0x01) key_up: KEY_DOWN(0x006c)
26529.710029: event type EV_SYN(0x00).
26530.302562: event type EV_MSC(0x04): scancode = 0x1457
26530.302562: event type EV_KEY(0x01) key_down: KEY_OK(0x0160)
26530.302562: event type EV_SYN(0x00).
26530.450051: event type EV_MSC(0x04): scancode = 0x1457
26530.450051: event type EV_SYN(0x00).
26530.710025: event type EV_KEY(0x01) key_up: KEY_OK(0x0160)
26530.710025: event type EV_SYN(0x00).
26532.213489: event type EV_MSC(0x04): scancode = 0x1429
26532.213489: event type EV_KEY(0x01) key_down: KEY_BACK(0x009e)
26532.213489: event type EV_SYN(0x00).
26532.360049: event type EV_MSC(0x04): scancode = 0x1429
26532.360049: event type EV_SYN(0x00).
26532.620027: event type EV_KEY(0x01) key_up: KEY_BACK(0x009e)
26532.620027: event type EV_SYN(0x00).
26536.405123: event type EV_MSC(0x04): scancode = 0x144f0a
26536.405123: event type EV_KEY(0x01) key_down: KEY_INFO(0x0166)
26536.405123: event type EV_SYN(0x00).
26536.660023: event type EV_KEY(0x01) key_up: KEY_INFO(0x0166)
26536.660023: event type EV_SYN(0x00).
26537.590066: event type EV_MSC(0x04): scancode = 0x147f0e
26537.590066: event type EV_SYN(0x00).
26552.522106: event type EV_MSC(0x04): scancode = 0x1401
26552.522106: event type EV_SYN(0x00).
26553.146459: event type EV_MSC(0x04): scancode = 0x1402
26553.146459: event type EV_SYN(0x00).
26553.290050: event type EV_MSC(0x04): scancode = 0x1402
26553.290050: event type EV_SYN(0x00).
26553.660069: event type EV_MSC(0x04): scancode = 0x1403
26553.660069: event type EV_SYN(0x00).
26553.810072: event type EV_MSC(0x04): scancode = 0x1403
26553.810072: event type EV_SYN(0x00).
26554.228570: event type EV_MSC(0x04): scancode = 0x1405
26554.228570: event type EV_SYN(0x00).
26554.390048: event type EV_MSC(0x04): scancode = 0x1405
26554.390048: event type EV_SYN(0x00).
26554.820052: event type EV_MSC(0x04): scancode = 0x1406
26554.820052: event type EV_SYN(0x00).
However, nothing changes in the OSMC GUI, remote input doesn’t work.
Is something else “eating” up these events ? Do I need to configure something else to make this work that I am not aware of ?