Eu percebi isso.
O X11 só compreende códigos de varredura até 255. Metade dos botões do controle remoto usa scancodes mais altos. Então, primeiro eu tenho uma lista de todos os scancodes que meu controle remoto usa:
ir-keytable --read --device = / dev / entrada / evento19
(/ dev / input / event19 é o dispositivo em que meu controle está ligado. Rodar o comando ir-keytable sem parâmetros irá dizer qual é o seu.)
Isso produz uma lista como essa. O número no final entre colchetes é o que nos interessa.
scancode 0x800f0410 = KEY_VOLUMEUP (0x73)
scancode 0x800f0411 = KEY_VOLUMEDOWN (0x72)
scancode 0x800f0412 = KEY_CHANNELUP (0x192)
scancode 0x800f0413 = KEY_CHANNELDOWN (0x193)
scancode 0x800f0414 = KEY_FASTFORWARD (0xd0)
Nada nessa lista maior que 0xFF não funcionará. (Ou, mais simples, qualquer coisa que tenha três dígitos. Então CHANNELUP (0x192) e CHANNELDOWN (0x193) neste caso)
Então eu apenas editei meu arquivo / etc / rc_keymaps / rc6_mce e mapeei esses botões para algo que eu sabia que era menor.
Isso também resolveu um problema que eu tive com a Kodi, onde alguns botões não estavam funcionando no meu controle remoto. KEY_INFO, KEY_STOP e alguns outros. Eu remapeei aqueles para pressionamentos regulares de teclas (KEY_INFO para KEY_I, etc) e isso funciona bem agora.