Archive:Gyration USB remote in Ubuntu for XBMC using Lirc
This is a configuration for using a Gyration USB media remote reviewed at [1] This method uses two instances of lircd that are manually configured to start using /etc/rc.local. The files that are affected are: /etc/lirc/lircd.conf /etc/rc.local ~usernamerunningxbmc/.xbmc/userdata/Keymap.xml ~usernamerunningxbmc/.xbmc/userdata/Lircmap.xml
Credit goes to the random anonymous bits and pieces I've found on the Interwebs along with my own experimentation using hexcump -C to look at the character device files while pressing buttons.
First, install the lirc package. sudo apt-get install lirc
We do not want to use Ubuntu's init scripts and config files, therefore we need to tell it not to start up automatically. Here is the command which changes the symbolic link in /etc/rc2.d/: sudo update-rc.d lirc disable 2
Back up your old files that we are about to overwrite: mkdir ~/backupfiles for a in /etc/rc.local /etc/lirc/lircd.conf ~/.xbmc/userdata/Lircmap.xml ~/.xbmc/userdata/Keymap.xml ; do cp $a ~/backupfiles/; done
Put these lines in /etc/rc.local: /usr/sbin/lircd --driver=devinput --device=/dev/input/by-id/usb-Gyration_Gyration_RF_Technology_Receiver-event-mouse --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen /usr/sbin/lircd --driver=devinput --device=/dev/input/by-id/usb-Gyration_Gyration_RF_Technology_Receiver-event-kbd --output=/dev/lircd --pidfile=/var/run/lircd.pid --connect=localhost:8765
Here is /etc/lirc/lircd.conf
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.
#
# lircd.conf
# for Gyration MCE remote(s). Could almost certainly be expanded to work for their keyboard as well.
#
# Composed by Marc Randolph based upon
# initial lircd.conf by Modulok (https://bugs.launchpad.net/mythbuntu/+bug/156494/comments/6)
# with help from the Linux MCE wiki (http://wiki.linuxmce.org/index.php/Gyration-GYR3101US-codes)
#
# Notes:
# Star and Hash keys produce two key sequences: 0x002A followed by either 8 for star, or 3 for hash
#
# Revision history
# 2.3 - Marc Randolph - Renamed camera to pictures and video to videos. Added alternative mappings
# 2.2 - Marc Randolph - Added untested DVDMenu entry
# 2.1 - Marc Randolph - StarHash comment was wrong
# 2.0 - Marc Randolph - Special codes should be correct, or at least, very close to correct
# 1.0 - Marc Randolph - added missing codes and changed names to match up the mceusb remote
# - Some of the more special codes have not been verified (Pictures, LiveTV, etc)
# 0.1 - Modulok - Initial revision
#
#
begin remote
name gyration
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 135997
toggle_bit_mask 0x0
begin codes
Home 0x0066 # AKA "Windows button"
Up 0x0067
Left 0x0069
Right 0x006A
Down 0x006C
Mute 0x0071
VolDown 0x0072
VolUp 0x0073
Power 0x008e
Pause 0x0077
More 0x0082 # AKA "Info" or Help
Back 0x009E
Skip 0x00A3
Replay 0x00A5
Stop 0x00A6
RecTV 0x00A7 #Not "recorded TV", but "record current show on TV"
Rewind 0x00A8
Play 0x00CF
Forward 0x00D0
Pictures 0x00D4 # not on Dell remote
RecordedTV 0x00E2 # aka KEY_MEDIA
Guide 0x016A
LiveTV 0x016E # aka KEY_PVR
DVD 0x0185
Music 0x0187 # not on Dell remote # aka KEY_MP3
Videos 0x0189 # not on Dell remote
ChanUp 0x0192
ChanDown 0x0193
DVDMenu 0x019A # untested. not on Dell remote
Clear 0x0001
One 0x0002
Two 0x0003
Three 0x0004
Four 0x0005
Five 0x0006
Six 0x0007
Seven 0x0008
Eight 0x0009
Nine 0x000A
Zero 0x000B
Enter 0x001C
StarHash 0x002A # Star=0x2a and 0x08; Hash = 0x2a and 0x03
a 0x001E
end codes
end remote
# Alternative mappings to try if some of the above don't work
# (please report any findings back to http://www.mythtv.org/wiki/Gyration-based_MCE_Remotes)
# Up 0x0062
# Left 0x0064
# Right 0x0066
# Down 0x0068
# Pause 0x0075
# Power 0x008E
# Halt 0x019C
# Lights 0x0111
# Clear 0x0016
# Enter 0x0024
# DVDMenu 0x0029