I've bought cheap remote USB device from one china shop (I wouldn't call which one because it's advertisement) something about 8$ or cheaper I don't remember.
It's recognized in my system as USB keyboard, and all key presses on the remote are translated to system as some key presses on keyboard (sorry not all key presses

some was ignored).
I've wanted to setup this device as lirc ruled and I've did that because it's more flexible ways to use it (comparely to usual key presses). I've used this article
http://ubuntuforums.org/showthread.php?t=805876 with some modified steps for my Fedora 16 (upgraded from old 12->13->14->15

) (BTW (my remote looks like the same to remote from picture by link). So due that some steps are different I've post it here (hope not wrong place).
So first that we need it's a identified our device, plug-in it into USB and execute "lsusb".
Example of my result:
Code:
[happiness@happyfedora ~]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 064e:a127 Suyin Corp.
Bus 006 Device 099: ID 04b4:0100 Cypress Semiconductor Corp. Cino FuzzyScan F760-B
You can see ID and name of my IR remote device above it's:
ID 04b4:0100
Cypress Semiconductor Corp. Cino FuzzyScan F760-B
Let's find our input device:
Unplug your device (if it's inserted) and execute "ls -l /dev/input/*" for that.
Code:
[happiness@happyfedora ~]$ ls -l /dev/input/*
crw-r----- 1 root root 13, 64 кві 15 19:58 /dev/input/event0
crw-r----- 1 root root 13, 65 кві 15 19:58 /dev/input/event1
crw-r----- 1 root root 13, 66 кві 15 19:58 /dev/input/event2
crw-r----- 1 root root 13, 67 кві 15 19:58 /dev/input/event3
crw-r----- 1 root root 13, 68 кві 15 19:58 /dev/input/event4
crw-r----- 1 root root 13, 69 кві 15 19:58 /dev/input/event5
crw-r----- 1 root root 13, 70 кві 15 19:58 /dev/input/event6
crw-r----- 1 root root 13, 71 кві 15 19:58 /dev/input/event7
crw-r----- 1 root root 13, 72 кві 15 19:58 /dev/input/event8
crw-r----- 1 root root 13, 73 кві 15 19:58 /dev/input/event9
crw-r----- 1 root root 13, 63 кві 15 19:58 /dev/input/mice
crw-r----- 1 root root 13, 32 кві 15 19:58 /dev/input/mouse0
crw-r----- 1 root root 13, 33 кві 15 19:58 /dev/input/mouse1
Now plug device into USB and execute again the same command:
Example:
Code:
[happiness@happyfedora ~]$ ls -l /dev/input/*
crw-r----- 1 root root 13, 64 кві 15 19:58 /dev/input/event0
crw-r----- 1 root root 13, 65 кві 15 19:58 /dev/input/event1
crw-r----- 1 root root 13, 74 кві 16 16:11 /dev/input/event10
crw-r----- 1 root root 13, 66 кві 15 19:58 /dev/input/event2
crw-r----- 1 root root 13, 67 кві 15 19:58 /dev/input/event3
crw-r----- 1 root root 13, 68 кві 15 19:58 /dev/input/event4
crw-r----- 1 root root 13, 69 кві 15 19:58 /dev/input/event5
crw-r----- 1 root root 13, 70 кві 15 19:58 /dev/input/event6
crw-r----- 1 root root 13, 71 кві 15 19:58 /dev/input/event7
crw-r----- 1 root root 13, 72 кві 15 19:58 /dev/input/event8
crw-r----- 1 root root 13, 73 кві 15 19:58 /dev/input/event9
crw-r----- 1 root root 13, 63 кві 15 19:58 /dev/input/mice
crw-r----- 1 root root 13, 32 кві 15 19:58 /dev/input/mouse0
crw-r----- 1 root root 13, 33 кві 15 19:58 /dev/input/mouse1
crw-r----- 1 root root 13, 34 кві 16 16:11 /dev/input/mouse2
Is pretty easy to see new event10 (gotcha

).
So new created event /dev/input/event10
Then you want to have a symlink created correctly, for whenever you plug or unplug that receiver.
Now create a udev rule for the receiver.
Execute "udevadm info -a -p $(udevadm info -q path -n /dev/input/eventX)"
Very long output (sorry I didn't find something like a cut tags).
Example:
Code:
[happiness@happyfedora ~]$ udevadm info -a -p $(udevadm info -q path -n /dev/input/event10)
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input167/event10':
KERNEL=="event10"
SUBSYSTEM=="input"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input167':
KERNELS=="input167"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="Cyp Se WitheHome"
ATTRS{phys}=="usb-0000:00:1d.0-1/input0"
ATTRS{uniq}==""
ATTRS{properties}=="0"
...blablabla...
Take the one unique attribute of device (looks like the name is the most unique and not changable from time to time for mine device

)
From above result:
Code:
ATTRS{name}=="Cyp Se WitheHome"
Now create or update /etc/udev/rules.d/10-local.rules to add an entry for this remote
Code:
KERNEL=="event*",ATTRS{name}=="Cyp Se WitheHome",SYMLINK="input/Cyp_Se_WitheHome"
Unplug and plug your device again.
And execute "ls -l /dev/input/" now it should looks like that:
Code:
[happiness@happyfedora ~]$ ls -l /dev/input/
загалом 0
drwxr-xr-x 2 root root 100 кві 16 20:13 by-id
drwxr-xr-x 2 root root 180 кві 16 20:13 by-path
lrwxrwxrwx 1 root root 7 кві 16 20:13 Cyp_Se_WitheHome -> event10
crw-r----- 1 root root 13, 64 кві 15 19:58 event0
crw-r----- 1 root root 13, 65 кві 15 19:58 event1
crw-r----- 1 root root 13, 74 кві 16 20:13 event10
crw-r----- 1 root root 13, 66 кві 15 19:58 event2
crw-r----- 1 root root 13, 67 кві 15 19:58 event3
crw-r----- 1 root root 13, 68 кві 15 19:58 event4
crw-r----- 1 root root 13, 69 кві 15 19:58 event5
crw-r----- 1 root root 13, 70 кві 15 19:58 event6
crw-r----- 1 root root 13, 71 кві 15 19:58 event7
crw-r----- 1 root root 13, 72 кві 15 19:58 event8
crw-r----- 1 root root 13, 73 кві 15 19:58 event9
crw-r----- 1 root root 13, 63 кві 15 19:58 mice
crw-r----- 1 root root 13, 32 кві 15 19:58 mouse0
crw-r----- 1 root root 13, 33 кві 15 19:58 mouse1
crw-r----- 1 root root 13, 34 кві 16 20:13 mouse2
Sure now we need to configure winlirc service:
Open /etc/sysconfig/lirc for that.
in case if you have any nodes related to gnome infra remote remove them out.
And edit two nodes (don't forget to make back up):
LIRC_DRIVER="dev/input"
LIRC_DEVICE="/dev/input/Cyp_Se_WitheHome"
Exemple of my file:
Code:
# Note: in addition to these parameters, you need to have working -*- sh -*-
# configuration file for lircd (and lircmd if enabled).
# Options to lircd(8). Typically, this will be empty, as which driver to use
# should be specified using the LIRC_DRIVER variable below.
LIRCD_OPTIONS=""
# The infrared receiver (and/or transmitter) driver to be used by lircd(8),
# similar to passing "-H driver" to lircd(8).
# Run "/usr/sbin/lircd -H help" to get a listing of supported drivers.
LIRC_DRIVER="dev/input"
# Which lirc device will be used by lircd(8).
# This is the same as passing "-d device" to lircd.
# An empty value will use the default /dev/lirc0 device.
LIRC_DEVICE="/dev/input/Cyp_Se_WitheHome"
# If "yes", the init script will try to start lircmd(8) too.
ENABLE_LIRCMD="no"
# Options to lircmd(8).
LIRCMD_OPTIONS=""
Now if your device exactly the same as mine then open "/etc/lirc/lircd.conf" (don't forget to make back up) and replace all internal data with this below (source again the same
http://ubuntuforums.org/showthread.php?t=805876):
Code:
begin remote
name Cyp_Se_WitheHome
bits 32
begin codes
POWER 0x40004 0x80010074
RADIO 0x40004 0x8001001e
TV 0x40004 0x80010014
DVD 0x40004 0x80010031
MUSIC 0x40004 0x80010032
PHOTO 0x40004 0x80010017
VIDEO 0x40004 0x80010012
DVD_MENU 0x40004 0x8001002f
MUTE 0x40004 0x80010042
BACK 0x40004 0x8001000e
GUIDE 0x40004 0x8001003b
VOLUME_UP 0x40004 0x80010073
VOLUME_DOWN 0x40004 0x80010072
CHANNEL_UP 0x40004 0x80010068
CHANNEL_DOWN 0x40004 0x8001006d
ARROW_UP 0x40004 0x80010067
ARROW_DOWN 0x40004 0x8001006c
ARROW_LEFT 0x40004 0x80010069
ARROW_RIGHT 0x40004 0x8001006a
ENTER 0x40004 0x8001001c
RECORD 0x40004 0x8001001d 0x40004 0x80010013
REPEAT 0x40004 0x8001002a 0x40004 0x80010013
PLAY 0x40004 0x8001002a 0x40004 0x80010019
PAUSE 0x40004 0x8001001d 0x40004 0x80010019
STOP 0x40004 0x8001001f
REWIND 0x40004 0x8001002a 0x40004 0x80010020
FORWARD 0x40004 0x8001002a 0x40004 0x80010021
PREV_TRACK 0x40004 0x8001001d 0x40004 0x80010030
NEXT_TRACK 0x40004 0x8001001d 0x40004 0x80010021
NUMPAD_1 0x40004 0x80010002
NUMPAD_2 0x40004 0x80010003
NUMPAD_3 0x40004 0x80010004
NUMPAD_4 0x40004 0x80010005
NUMPAD_5 0x40004 0x80010006
NUMPAD_6 0x40004 0x80010007
NUMPAD_7 0x40004 0x80010008
NUMPAD_8 0x40004 0x80010009
NUMPAD_9 0x40004 0x8001000a
NUMPAD_0 0x40004 0x8001000b
end codes
end remote
Then restart lirc service:
Code:
systemctl restart lirc.service
Now open console, launch irw and push buttons of your remote.
For example my output looks like this:
Code:
[root@happyfedora sysconfig]# irw
0000000000040004 00 GUIDE Cyp_Se_WitheHome
....blabla...
Finally it should works
If it doesn't work try to reboot (or check previous steps).