mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
v4l-utils: simplify 70-infrared.rules and fix kernel 4.20 issues
Using $id to get the rcX device name from the SUBSYSTEMS match, as used by the upstrem v4l-utils udev rule, is easier and more stable than using IMPORT{parent}, which needs to transmit info across two levels (rcX->inputY->eventZ) and breaks with kernel 4.20. Instead of running a shell script to check for the existance of /storage/.config/rc_maps.cfg we can use the builtin udev TEST function. Also it's better to use ENV variables prefixed with a dot as they are used only locally in the udev rule file and don't need to be persisted in the udev database or exported to external tools. Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
ce07c47a85
commit
37dc6ef716
@ -1,25 +1,19 @@
|
|||||||
|
|
||||||
# Automatically load the proper keymaps after the Remote Controller device
|
# Automatically load the proper keymaps after the Remote Controller device
|
||||||
# creation.
|
# creation.
|
||||||
#
|
#
|
||||||
# User-defined rules can be stored in /storage/.config/rc_maps.cfg. If that
|
# User-defined rules can be stored in /storage/.config/rc_maps.cfg. If that
|
||||||
# file doesn't exist the default rules from /etc/rc_maps.cfg are used.
|
# file doesn't exist the default rules from /etc/rc_maps.cfg are used.
|
||||||
|
|
||||||
ACTION=="add", SUBSYSTEMS=="rc", GOTO="begin"
|
ACTION=="add", KERNEL=="event*", SUBSYSTEM=="input", SUBSYSTEMS=="rc", ENV{.rc_sysdev}="$id", GOTO="begin"
|
||||||
GOTO="end"
|
GOTO="end"
|
||||||
|
|
||||||
LABEL="begin"
|
LABEL="begin"
|
||||||
|
|
||||||
SUBSYSTEM=="rc", ENV{rc_sysdev}="$name"
|
ENV{.rc_maps_cfg}="/etc/rc_maps.cfg"
|
||||||
|
TEST=="/storage/.config/rc_maps.cfg", ENV{.rc_maps_cfg}="/storage/.config/rc_maps.cfg"
|
||||||
|
|
||||||
SUBSYSTEM=="input", IMPORT{parent}="rc_sysdev"
|
RUN+="/usr/bin/ir-keytable -a $env{.rc_maps_cfg} -s $env{.rc_sysdev}"
|
||||||
|
|
||||||
KERNEL=="event[0-9]*", ENV{rc_sysdev}=="?*", IMPORT{program}="/usr/bin/sh -c '\
|
|
||||||
if [ -r /storage/.config/rc_maps.cfg ] ; then \
|
|
||||||
echo rc_maps_cfg=/storage/.config/rc_maps.cfg ; \
|
|
||||||
else \
|
|
||||||
echo rc_maps_cfg=/etc/rc_maps.cfg ; \
|
|
||||||
fi'"
|
|
||||||
|
|
||||||
ENV{rc_maps_cfg}=="?*", RUN+="/usr/bin/ir-keytable -a $env{rc_maps_cfg} -s $env{rc_sysdev}"
|
|
||||||
|
|
||||||
LABEL="end"
|
LABEL="end"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user