ir-proxy can be used on a pipeline to process ir-keytable output and propagate key events. ir-proxy uses adapters (xdotool) to send key events to the display server. ir-proxy conforms to the XDG Base Directory. As a result, configuration file file is located:
${XDG_CONFIG_HOME:-~/.config}/ir-proxy/config.ymlCommands: ir-proxy config # Display config ir-proxy help [COMMAND] # Describe available commands or one specific command ir-proxy pipe # React to STDIN events ir-proxy sample # Print samples on STDOUT sudo socat - EXEC:'ir-keytable -tc -D 850 -P 250',pty,setsid,ctty | sudo -u $(whoami) ir-proxy pipesudo socat - EXEC:'ir-keytable -tc',pty | sudo -u $(whoami) ir-proxy pipesudo socat - EXEC:'ir-keytable -tc',pty | sudo -u $(whoami) ir-proxy pipe --config /etc/ir-proxy/config.ymlbundle install --standalone sudo socat - EXEC:'ir-keytable -tc',pty | ruby bin/ir-proxy pipe --config config.sample.ymlbundle install --standalone --without development test doc repl# /lib/systemd/system/ir-proxy.service [Unit] Description=Remote support service PartOf=graphical-session.target ConditionPathExists=/dev/tty20 [Service] Type=simple ExecStart=/usr/local/bin/_ir-proxy user StandardInput=tty-fail StandardOutput=tty User=root TTYVHangup=yes TTYPath=/dev/tty20 TTYReset=yes RemainAfterExit=false Restart=always RestartSec=1s [Install] WantedBy=default.target#!/usr/bin/env sh # /usr/local/bin/_ir-proxy export DISPLAY=${2:-:0} set -eu X_USER=${1} LOGFILE=/var/log/ir-proxy.log CONFIG=/etc/ir-proxy/config.yml export XAUTHORITY=$(getent passwd "${X_USER}" | cut -d: -f6)/.Xauthority touch "${LOGFILE}" chown "${X_USER}" "${LOGFILE}" (socat - EXEC:'ir-keytable -tc',pty,setsid,ctty | gosu "${X_USER}" -- ir-proxy pipe --config "${CONFIG}") > "${LOGFILE}" 2>&1sudo systemctl enable ir-proxy.service<!-- ~/.kodi/userdata/keymaps/ir-proxy.xml --> <keymap> <global> <keyboard> <f12>ActivateWindow(Home)</f12> <power>ActivateWindow(ShutdownMenu)</power> </keyboard> </global> </keymap>Disable poweroff button (power-key is handled by kodi)
edit /etc/systemd/logind.conf file
HandlePowerKey=ignoregrep -Eo 'KEY_.*' /lib/udev/rc_keymaps/rc6_mce.toml | perl -pe 's/\s+=\s+/: /g' | perl -pe 's/:\s+"KEY_/: "/'- ir-keytable on the Orange Pi Zero
- List of Keysyms Recognised by Xmodmap
- XF86 keyboard symbols
- Keyboard controls - Official Kodi Wiki
- Remote controller tables — The Linux Kernel documentation
- xdotool | Linux man page
- xbmc-system/keymaps/keyboard.xml
- xdotool list of key codes
- XF86 keyboard symbols
- List of built-in functions - Official Kodi Wiki
- Window IDs - Official Kodi Wiki
- Raspberry Pi4 and kodi as mediacenter