[PATCH] keytable: ensure udev rule fires on rc input device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The rc device is created before the input device, so if ir-keytable runs
too early the input device does not exist yet.

Ensure that rule fires on creation of a rc device's input device.

Note that this also prevents udev from starting ir-keytable on an
transmit only device, which has no input device.

Signed-off-by: Sean Young <sean@xxxxxxxx>
---
 utils/keytable/70-infrared.rules | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Matthias, can I have your Signed-off-by please? Thank you.


diff --git a/utils/keytable/70-infrared.rules b/utils/keytable/70-infrared.rules
index afffd951..b3531727 100644
--- a/utils/keytable/70-infrared.rules
+++ b/utils/keytable/70-infrared.rules
@@ -1,4 +1,12 @@
 # Automatically load the proper keymaps after the Remote Controller device
 # creation.  The keycode tables rules should be at /etc/rc_maps.cfg
 
-ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $name"
+ACTION!="add", SUBSYSTEMS!="rc", GOTO="rc_dev_end"
+
+SUBSYSTEM=="rc", ENV{rc_sysdev}="$name"
+
+SUBSYSTEM=="input", IMPORT{parent}="rc_sysdev"
+
+KERNEL=="event[0-9]*", ENV{rc_sysdev}=="?*", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $env{rc_sysdev}"
+
+LABEL="rc_dev_end"
-- 
2.11.0




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux