diff --git a/packages/sysutils/remote/eventlircd/config/evmap/03_0419_0001.evmap b/packages/sysutils/remote/eventlircd/config/evmap/03_0419_0001.evmap
new file mode 100644
index 0000000000..94688c17f9
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/03_0419_0001.evmap
@@ -0,0 +1,41 @@
+# = # Power
+ ctrl+shift+alt+KEY_2 = KEY_PVR # TV/DVR
+ ctrl+shift+alt+KEY_H = KEY_PRINT # Print
+ alt+KEY_F4 = KEY_CLOSE # Close
+ ctrl+shift+alt+KEY_3 = KEY_MP3 # Music
+ ctrl+shift+alt+KEY_4 = KEY_MEDIA # Pictures
+ ctrl+shift+alt+KEY_5 = KEY_VIDEO # Videos
+ ctrl+shift+alt+KEY_1 = KEY_CONTEXT_MENU # DVD/Menu
+#KEY_UP = KEY_UP # Up
+#KEY_DOWN = KEY_DOWN # Down
+#KEY_LEFT = KEY_LEFT # Left
+#KEY_RIGHT = KEY_RIGHT # Right
+ KEY_BACKSPACE = KEY_BACK # Back
+#KEY_ENTER = KEY_ENTER # Ok
+ KEY_TAB = KEY_TAB # Tab
+ ctrl+KEY_B = KEY_PREVIOUS # Previous
+ ctrl+KEY_P = KEY_PLAYPAUSE # Play/Pause
+ ctrl+KEY_F = KEY_NEXT # Next
+ ctrl+shift+KEY_B = KEY_REWIND # Rew
+ ctrl+KEY_S = KEY_STOP # Stop
+ ctrl+shift+KEY_F = KEY_FORWARD # Fwd
+# = KEY_VOLUMEDOWN # Vol-
+# = KEY_VOLUMEUP # Vol+
+ ctrl+shift+alt+KEY_HOME = KEY_MENU # Home
+#KEY_PAGEDOWN = KEY_PAGEDOWN # Ch-
+#KEY_PAGEUP = KEY_PAGEUP # Ch+
+# = KEY_MUTE # Mute
+ ctrl+KEY_R = KEY_RECORD # Record
+# = # Toggle
+ KEY_1 = KEY_NUMERIC_1 # 1
+ KEY_2 = KEY_NUMERIC_2 # 2
+ KEY_3 = KEY_NUMERIC_3 # 3
+ KEY_4 = KEY_NUMERIC_4 # 4
+ KEY_5 = KEY_NUMERIC_5 # 5
+ KEY_6 = KEY_NUMERIC_6 # 6
+ KEY_7 = KEY_NUMERIC_7 # 7
+ KEY_8 = KEY_NUMERIC_8 # 8
+ KEY_9 = KEY_NUMERIC_9 # 9
+ KEY_0 = KEY_NUMERIC_0 # 0
+ ctrl+shift+alt+KEY_F = KEY_SHUFFLE # Shuffle
+ ctrl+shift+alt+KEY_B = KEY_MEDIA_REPEAT # Repeat
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/03_05a4_9881.evmap b/packages/sysutils/remote/eventlircd/config/evmap/03_05a4_9881.evmap
new file mode 100644
index 0000000000..77bafe9b88
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/03_05a4_9881.evmap
@@ -0,0 +1,57 @@
+ KEY_HOMEPAGE = KEY_WWW # WWW
+ KEY_SLEEP = KEY_POWER # Sleep
+ ctrl+shift+KEY_T = KEY_VCR # My TV
+ ctrl+KEY_M = KEY_MP3 # My Music
+ ctrl+KEY_I = KEY_MEDIA # My Pictures
+ ctrl+KEY_E = KEY_VIDEO # My Videos
+ ctrl+KEY_O = KEY_VCR2 # Record TV
+ ctrl+KEY_G = KEY_PROGRAM # Guide
+ ctrl+KEY_T = KEY_TV # Live TV
+ ctrl+shift+KEY_M = KEY_DVD # DVD Menu
+ KEY_PLAYPAUSE = KEY_PLAYPAUSE # Play (also used for Pause)
+#KEY_PLAYPAUSE = KEY_PLAYPAUSE # Pause (also used for Play)
+ ctrl+shift+KEY_B = KEY_REWIND # Reverse
+ ctrl+shift+KEY_F = KEY_FORWARD # Forward
+ KEY_PREVIOUSSONG = KEY_PREVIOUS # Pre-track
+ KEY_NEXTSONG = KEY_NEXT # Next track
+ KEY_STOPCD = KEY_STOP # Stop
+ ctrl+KEY_R = KEY_RECORD # Record
+ KEY_BACKSPACE = KEY_BACK # Back
+ BTN_RIGHT = KEY_INFO # Information (also used for Mouse Right)
+ KEY_UP = KEY_UP # Direction Up
+ KEY_DOWN = KEY_DOWN # Direction Down
+ KEY_LEFT = KEY_LEFT # Direction Left
+ KEY_RIGHT = KEY_RIGHT # Direction Right
+ KEY_ENTER = KEY_ENTER # Direction OK (also used for Enter)
+ BTN_MOUSE = BTN_LEFT # Mouse Left
+#BTN_RIGHT = KEY_INFO # Mouse Right (also used for Information)
+ KEY_VOLUMEUP = KEY_VOLUMEUP # Volume Up
+ KEY_VOLUMEDOWN = KEY_VOLUMEDOWN # Volume Down
+ KEY_PAGEDOWN = KEY_CHANNELDOWN # Channel Up
+ KEY_PAGEUP = KEY_CHANNELUP # Channel Down
+ KEY_MUTE = KEY_MUTE # Mute
+ alt+meta+KEY_ENTER = KEY_MENU # Start Key
+ alt+KEY_F4 = KEY_CLOSE # Close
+ KEY_ESC = KEY_CLEAR # Clear
+#KEY_ENTER = KEY_ENTER # Enter (also used for Direction OK)
+ numlock+KEY_KP0 = KEY_NUMERIC_0 # 0
+ numlock+KEY_KP1 = KEY_NUMERIC_1 # 1
+ numlock+KEY_KP2 = KEY_NUMERIC_2 # 2
+ numlock+KEY_KP3 = KEY_NUMERIC_3 # 3
+ numlock+KEY_KP4 = KEY_NUMERIC_4 # 4
+ numlock+KEY_KP5 = KEY_NUMERIC_5 # 5
+ numlock+KEY_KP6 = KEY_NUMERIC_6 # 6
+ numlock+KEY_KP7 = KEY_NUMERIC_7 # 7
+ numlock+KEY_KP8 = KEY_NUMERIC_8 # 8
+ numlock+KEY_KP9 = KEY_NUMERIC_9 # 9
+ KEY_KPASTERISK = KEY_ZOOM # *
+ numlock+alt+KEY_KP3 = KEY_TEXT # #
+ numlock+alt+KEY_KP5 = NULL # Sent as part #, and we ignore it
+
+#The USB interface advertises these events but none of the remote control's
+#buttons appear to generate them. Therefore, they are set to NULL so that
+#eventlircd does not advertise them as part of its mouse/joystick device.
+ BTN_MIDDLE = NULL
+ BTN_SIDE = NULL
+ BTN_EXTRA = NULL
+ REL_WHEEL = NULL
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/03_0766_0204.evmap b/packages/sysutils/remote/eventlircd/config/evmap/03_0766_0204.evmap
new file mode 100644
index 0000000000..797d57a79c
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/03_0766_0204.evmap
@@ -0,0 +1,46 @@
+ KEY_1 = KEY_NUMERIC_1 # 1
+ KEY_2 = KEY_NUMERIC_2 # 2
+ KEY_3 = KEY_NUMERIC_3 # 3
+ KEY_4 = KEY_NUMERIC_4 # 4
+ KEY_5 = KEY_NUMERIC_5 # 5
+ KEY_6 = KEY_NUMERIC_6 # 6
+ KEY_7 = KEY_NUMERIC_7 # 7
+ KEY_8 = KEY_NUMERIC_8 # 8
+ KEY_9 = KEY_NUMERIC_9 # 9
+ KEY_0 = KEY_NUMERIC_0 # 0
+ KEY_UP = KEY_UP # Up Arrow
+ KEY_DOWN = KEY_DOWN # Down Arrow
+ KEY_LEFT = KEY_LEFT # Left Arrow
+ KEY_RIGHT = KEY_RIGHT # Right Arrow
+ KEY_ENTER = KEY_ENTER # Enter & Ok
+ KEY_DELETE = KEY_CLEAR # Clear
+ KEY_HOME = KEY_HOME # Home
+ KEY_SLEEP = KEY_POWER # Power
+ KEY_DVD = KEY_DVD # DVD/VCD
+ KEY_MP3 = KEY_MP3 # Music
+ KEY_MEDIA = KEY_MEDIA # Pictures
+ KEY_VIDEO = KEY_VIDEO # Videos
+ KEY_TV = KEY_TV # Live TV
+ KEY_RECORD = KEY_RECORD # Record
+ KEY_RADIO = KEY_RADIO # Radio
+ KEY_AUDIO = KEY_AUDIO # SAP
+ KEY_TEXT = KEY_TEXT # Teletext/CC
+ KEY_LAST = KEY_LAST # Last CH
+ KEY_SUBTITLE = KEY_SUBTITLE # Subtitle
+ KEY_LANGUAGE = KEY_LANGUAGE # Language
+ KEY_ANGLE = KEY_ANGLE # Angle
+ KEY_BACK = KEY_BACK # BACK
+ KEY_PROPS = KEY_INFO # Info/EPG
+ KEY_MENU = KEY_MENU # DVD Menu
+ KEY_VOLUMEDOWN = KEY_VOLUMEDOWN # Vol -
+ KEY_VOLUMEUP = KEY_VOLUMEUP # Vol +
+ KEY_MUTE = KEY_MUTE # Mute
+ KEY_CHANNELUP = KEY_CHANNELUP # CH/PG up
+ KEY_CHANNELDOWN = KEY_CHANNELDOWN # CH/PG down
+ KEY_PLAY = KEY_PLAY # Play
+ KEY_REWIND = KEY_REWIND # Rev
+ KEY_PAUSE = KEY_PAUSE # Pause
+ KEY_FASTFORWARD = KEY_FASTFORWARD # Fwd
+ KEY_PREVIOUSSONG = KEY_PREVIOUS # Prev
+ KEY_STOPCD = KEY_STOP # Stop
+ KEY_NEXTSONG = KEY_NEXT # Next
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/03_147a_e02d.evmap b/packages/sysutils/remote/eventlircd/config/evmap/03_147a_e02d.evmap
new file mode 100644
index 0000000000..2ae4bb65d7
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/03_147a_e02d.evmap
@@ -0,0 +1,30 @@
+ KEY_1 = KEY_NUMERIC_1
+ KEY_2 = KEY_NUMERIC_2
+ KEY_3 = KEY_NUMERIC_3
+ KEY_4 = KEY_NUMERIC_4
+ KEY_5 = KEY_NUMERIC_5
+ KEY_6 = KEY_NUMERIC_6
+ KEY_7 = KEY_NUMERIC_7
+ KEY_8 = KEY_NUMERIC_8
+ KEY_9 = KEY_NUMERIC_9
+ KEY_0 = KEY_NUMERIC_0
+ KEY_M = KEY_MUTE
+ KEY_R = KEY_VOLUMEDOWN # -/-- key
+ KEY_S = KEY_VOLUMEUP # A/B key
+ KEY_F5 = KEY_RECORD # KEY_RED
+ KEY_F6 = KEY_PREVIOUS # KEY_GREEN
+ KEY_F7 = KEY_NEXT # KEY_YELLOW
+ KEY_F8 = KEY_BLUE
+ KEY_ENTER = KEY_ENTER
+ KEY_UP = KEY_UP
+ KEY_DOWN = KEY_DOWN
+ KEY_LEFT = KEY_LEFT
+ KEY_RIGHT = KEY_RIGHT
+ KEY_E = KEY_PROGRAM
+ KEY_F = KEY_EXIT
+ KEY_I = KEY_INFO
+ KEY_F9 = KEY_TV
+ KEY_F2 = KEY_MENU
+ KEY_T = KEY_TEXT
+ KEY_P = KEY_PAUSE
+ KEY_V = KEY_ZOOM # EXT
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/bdremoteng.evmap b/packages/sysutils/remote/eventlircd/config/evmap/bdremoteng.evmap
new file mode 100644
index 0000000000..7e6d021dd5
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/bdremoteng.evmap
@@ -0,0 +1,17 @@
+BTN_A = KEY_F1
+BTN_B = KEY_F2
+BTN_C = KEY_F3
+BTN_X = KEY_F4
+BNT_Y = KEY_F5
+BTN_Z = KEY_F6
+BTN_START = KEY_ENTER
+KEY_0 = KEY_NUMERIC_0
+KEY_1 = KEY_NUMERIC_1
+KEY_2 = KEY_NUMERIC_2
+KEY_3 = KEY_NUMERIC_3
+KEY_4 = KEY_NUMERIC_4
+KEY_5 = KEY_NUMERIC_5
+KEY_6 = KEY_NUMERIC_6
+KEY_7 = KEY_NUMERIC_7
+KEY_8 = KEY_NUMERIC_8
+KEY_9 = KEY_NUMERIC_9
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/default.evmap b/packages/sysutils/remote/eventlircd/config/evmap/default.evmap
new file mode 100644
index 0000000000..4ad3bbc003
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/default.evmap
@@ -0,0 +1,22 @@
+KEY_1 = KEY_NUMERIC_1
+KEY_2 = KEY_NUMERIC_2
+KEY_3 = KEY_NUMERIC_3
+KEY_4 = KEY_NUMERIC_4
+KEY_5 = KEY_NUMERIC_5
+KEY_6 = KEY_NUMERIC_6
+KEY_7 = KEY_NUMERIC_7
+KEY_8 = KEY_NUMERIC_8
+KEY_9 = KEY_NUMERIC_9
+KEY_0 = KEY_NUMERIC_0
+KEY_E = KEY_BACK
+KEY_KP1 = KEY_NUMERIC_1
+KEY_KP2 = KEY_NUMERIC_2
+KEY_KP3 = KEY_NUMERIC_3
+KEY_KP4 = KEY_NUMERIC_4
+KEY_KP5 = KEY_NUMERIC_5
+KEY_KP6 = KEY_NUMERIC_6
+KEY_KP7 = KEY_NUMERIC_7
+KEY_KP8 = KEY_NUMERIC_8
+KEY_KP9 = KEY_NUMERIC_9
+KEY_KP0 = KEY_NUMERIC_0
+KEY_KPASTERISK = KEY_NUMERIC_STAR
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/ircore.evmap b/packages/sysutils/remote/eventlircd/config/evmap/ircore.evmap
new file mode 100644
index 0000000000..eb0fc8864f
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/ircore.evmap
@@ -0,0 +1,33 @@
+KEY_1 = KEY_NUMERIC_1
+KEY_2 = KEY_NUMERIC_2
+KEY_3 = KEY_NUMERIC_3
+KEY_4 = KEY_NUMERIC_4
+KEY_5 = KEY_NUMERIC_5
+KEY_6 = KEY_NUMERIC_6
+KEY_7 = KEY_NUMERIC_7
+KEY_8 = KEY_NUMERIC_8
+KEY_9 = KEY_NUMERIC_9
+KEY_0 = KEY_NUMERIC_0
+KEY_STAR = KEY_NUMERIC_STAR
+KEY_POUND = KEY_NUMERIC_POUND
+KEY_KP1 = KEY_NUMERIC_1
+KEY_KP2 = KEY_NUMERIC_2
+KEY_KP3 = KEY_NUMERIC_3
+KEY_KP4 = KEY_NUMERIC_4
+KEY_KP5 = KEY_NUMERIC_5
+KEY_KP6 = KEY_NUMERIC_6
+KEY_KP7 = KEY_NUMERIC_7
+KEY_KP8 = KEY_NUMERIC_8
+KEY_KP9 = KEY_NUMERIC_9
+KEY_KP0 = KEY_NUMERIC_0
+KEY_KPASTERISK = KEY_NUMERIC_STAR
+
+KEY_E = KEY_EXIT
+KEY_BACK = KEY_EXIT
+KEY_STOPCD = KEY_STOP
+KEY_NEXTSONG = KEY_NEXT
+KEY_PREVIOUSSONG = KEY_PREVIOUS
+KEY_PROPS = KEY_INFO
+KEY_ANGLE = KEY_ZOOM
+KEY_MP3 = KEY_AUDIO
+KEY_TEXT = KEY_EPG
diff --git a/packages/sysutils/remote/eventlircd/config/evmap/mcekbd.evmap b/packages/sysutils/remote/eventlircd/config/evmap/mcekbd.evmap
new file mode 100644
index 0000000000..4f350de3f1
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/evmap/mcekbd.evmap
@@ -0,0 +1,45 @@
+KEY_UP = KEY_UP
+KEY_DOWN = KEY_DOWN
+KEY_LEFT = KEY_LEFT
+KEY_RIGHT = KEY_RIGHT
+KEY_ENTER = KEY_ENTER
+KEY_PAGEDOWN = KEY_PAGEDOWN
+KEY_PAGEUP = KEY_PAGEUP
+alt+meta+KEY_ENTER = KEY_MENU
+KEY_BACKSPACE = KEY_BACK
+KEY_1 = KEY_NUMERIC_1
+KEY_2 = KEY_NUMERIC_2
+KEY_3 = KEY_NUMERIC_3
+KEY_4 = KEY_NUMERIC_4
+KEY_5 = KEY_NUMERIC_5
+KEY_6 = KEY_NUMERIC_6
+KEY_7 = KEY_NUMERIC_7
+KEY_8 = KEY_NUMERIC_8
+KEY_9 = KEY_NUMERIC_9
+KEY_0 = KEY_NUMERIC_0
+KEY_EQUAL = KEY_CHANNELUP
+ctrl+KEY_EQUAL = KEY_CHANNELUP
+KEY_MINUS = KEY_CHANNELDOWN
+ctrl+KEY_MINUS = KEY_CHANNELDOWN
+ctrl+shift+KEY_T = KEY_TV
+ctrl+KEY_M = KEY_MP3
+ctrl+KEY_E = KEY_VIDEO
+ctrl+KEY_I = KEY_MEDIA
+ctrl+KEY_G = KEY_PROGRAM
+ctrl+KEY_R = KEY_RECORD
+ctrl+KEY_D = KEY_MENU
+ctrl+shift+KEY_M = KEY_DVD
+ctrl+KEY_O = KEY_VCR
+ctrl+KEY_A = KEY_RADIO
+ctrl+KEY_U = KEY_SUBTITLE
+ctrl+KEY_P = KEY_PAUSE
+ctrl+shift+KEY_P = KEY_PLAY
+ctrl+shift+KEY_S = KEY_STOP
+ctrl+KEY_B = KEY_PREVIOUS
+ctrl+KEY_F = KEY_NEXT
+ctrl+shift+KEY_B = KEY_REWIND
+ctrl+shift+KEY_F = KEY_FORWARD
+KEY_F8 = KEY_MUTE
+KEY_F9 = KEY_VOLUMEDOWN
+KEY_F10 = KEY_VOLUMEUP
+ctrl+shift+KEY_C = KEY_TEXT
diff --git a/packages/sysutils/remote/eventlircd/config/rules/98-eventlircd.rules b/packages/sysutils/remote/eventlircd/config/rules/98-eventlircd.rules
new file mode 100644
index 0000000000..5ae1ad621a
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/rules/98-eventlircd.rules
@@ -0,0 +1,92 @@
+################################################################################
+# An example udev rules file for eventlircd.
+#
+# This rules file does not start eventlircd. Many applications only check for
+# the lircd socket at application lauch. Therefore, it is better to start
+# eventlircd in an init script so that eventlircd creates the lircd socket
+# before any applications that use LIRC launch.
+################################################################################
+
+# eventlircd only does something for "add" and "remove" actions.
+ACTION!="add|remove", GOTO="end"
+
+# eventlircd only does something "input" subsystem devices.
+SUBSYSTEM!="input", GOTO="end"
+
+# eventlircd can only handle event devices.
+KERNEL!="event[0-9]*", GOTO="end"
+
+# eventlircd ignores devices created by eventlircd.
+ATTRS{name}=="eventlircd", GOTO="end"
+
+#-------------------------------------------------------------------------------
+# Ask eventlircd to handle input event devices created by lircd. For this to
+# work, lircd must be configured to output Linux input events and must be
+# configured to output key names that conform to the LIRC namespace derived from
+# the Linux key/button event names. This rule assumes that lircd performs all
+# key mappings, so the rule does not provide a value for "eventlircd_evmap".
+# For more information on lircd, see .
+#-------------------------------------------------------------------------------
+ATTRS{name}=="lircd", \
+ ENV{eventlircd_enable}="true"
+
+#-------------------------------------------------------------------------------
+# Ask eventlircd to handle input event devices created by bdremoteng. For this
+# to work, bdremoteng must be configured to output Linux input events and must
+# be configured to output key names that conform to LIRC namespace derived
+# from the Linux key/button event names. For more information on bdremoteng,
+# see .
+#-------------------------------------------------------------------------------
+ATTRS{name}=="bdremoteng", \
+ ENV{eventlircd_enable}="true", \
+ ENV{eventlircd_evmap}="bdremoteng.evmap"
+
+#-------------------------------------------------------------------------------
+# Ask eventlircd to handle input event devices created by wminput. This rule
+# assumes that wminput performs all key mappings, so the rule does not provide a
+# value for "eventlircd_evmap" For more information on wminput, see
+# .
+#-------------------------------------------------------------------------------
+ATTRS{name}=="bdremoteng", \
+ ENV{eventlircd_enable}="true"
+
+#-------------------------------------------------------------------------------
+# Ask eventlircd to handle input event devices created by ir-core (kernel).
+#-------------------------------------------------------------------------------
+SUBSYSTEMS=="rc", \
+ ENV{eventlircd_enable}="true"
+ ENV{eventlircd_evmap}="ircore.evmap"
+
+#-------------------------------------------------------------------------------
+# Ask eventlircd to handle USB HID devices that show up as event devices and are
+# known to be remote controls. For simplicity, the event map file names have the
+# format __.evmap.
+#-------------------------------------------------------------------------------
+SUBSYSTEMS=="usb", GOTO="begin-usb"
+GOTO="end-usb"
+LABEL="begin-usb"
+
+ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
+
+ENV{ID_VENDOR_ID}=="0419", ENV{ID_MODEL_ID}=="0001", \
+ ENV{eventlircd_enable}="true",
+ ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
+
+ENV{ID_VENDOR_ID}=="05a4", ENV{ID_MODEL_ID}=="9881", \
+ ENV{eventlircd_enable}="true", \
+ ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
+
+ENV{ID_VENDOR_ID}=="0766", ENV{ID_MODEL_ID}=="0204", \
+ ENV{eventlircd_enable}="true", \
+ ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
+
+ENV{ID_VENDOR_ID}=="147a", ENV{ID_MODEL_ID}=="e02d", \
+ ENV{eventlircd_enable}="true", \
+ ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
+
+# Enable wake-on-usb for the USB remotes.
+ENV{eventlircd_enable}=="true", RUN+="wakeup_enable"
+
+LABEL="end-usb"
+
+LABEL="end"
diff --git a/packages/sysutils/remote/eventlircd/config/rules/98-lircd.rules b/packages/sysutils/remote/eventlircd/config/rules/98-lircd.rules
new file mode 100644
index 0000000000..1773a44ee5
--- /dev/null
+++ b/packages/sysutils/remote/eventlircd/config/rules/98-lircd.rules
@@ -0,0 +1,44 @@
+################################################################################
+# An example udev rules file for lircd.
+################################################################################
+
+# lircd_helper only does something for "add" and "remove" actions.
+ACTION!="add|remove", GOTO="end"
+
+KERNEL=="hiddev[0-9]*", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", GOTO="begin"
+KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="i2c", GOTO="begin"
+KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="usb", GOTO="begin"
+GOTO="end"
+LABEL="begin"
+
+#-------------------------------------------------------------------------------
+# Ask lircd_helper to lirc devices.
+#-------------------------------------------------------------------------------
+SUBSYSTEM=="lirc", \
+ ENV{lircd_driver}="default", \
+ ENV{lircd_conf}="/etc/lirc/lircd.conf"
+
+#-------------------------------------------------------------------------------
+# Ask lircd_helper to handle USB devices that do not show up as lirc devices
+# and are supported by lircd. Remote controls that are USB HID devices that show
+# up as event devices are not included as as they are handled by eventlircd.
+#-------------------------------------------------------------------------------
+SUBSYSTEMS=="usb", GOTO="begin-usb"
+SUBSYSTEMS=="usb", GOTO="begin-usb"
+GOTO="end-usb"
+LABEL="begin-usb"
+
+ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
+
+ENV{ID_VENDOR_ID}=="0fe9", ENV{ID_MODEL_ID}=="9010", \
+ ENV{lircd_driver}="dvico", \
+ ENV{lircd_conf}="/etc/lirc/lircd.conf"
+
+# Enable wake-on-usb for the USB remotes.
+ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", RUN+="wakeup_enable"
+
+LABEL="end-usb"
+
+ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", RUN+="lircd_helper"
+
+LABEL="end"
diff --git a/packages/sysutils/remote/eventlircd/install b/packages/sysutils/remote/eventlircd/install
index 7b60282626..49ddc30de8 100755
--- a/packages/sysutils/remote/eventlircd/install
+++ b/packages/sysutils/remote/eventlircd/install
@@ -5,15 +5,14 @@
mkdir -p $INSTALL/usr/sbin
cp $PKG_BUILD/src/eventlircd $INSTALL/usr/sbin
-mkdir -p $INSTALL/etc/eventlircd.d
- cp $PKG_BUILD/etc/*.evmap $INSTALL/etc/eventlircd.d
-
mkdir -p $INSTALL/lib/udev
cp $PKG_BUILD/udev/lircd_helper $INSTALL/lib/udev
chmod +x $INSTALL/lib/udev/lircd_helper
cp $PKG_BUILD/udev/wakeup_enable $INSTALL/lib/udev
chmod +x $INSTALL/lib/udev/wakeup_enable
+mkdir -p $INSTALL/etc/eventlircd.d
+ cp $PKG_DIR/config/evmap/*.evmap $INSTALL/etc/eventlircd.d
+
mkdir -p $INSTALL/lib/udev/rules.d
- cp $PKG_BUILD/udev/rules.d/98-eventlircd.rules.disabled $INSTALL/lib/udev/rules.d/98-eventlircd.rules
- cp $PKG_BUILD/udev/rules.d/98-lircd.rules.disabled $INSTALL/lib/udev/rules.d/98-lircd.rules
+ cp $PKG_DIR/config/rules/*.rules $INSTALL/lib/udev/rules.d