Gyration GYR3101US

From LinuxMCE
Revision as of 14:11, 26 January 2009 by Glasswalker (Talk | contribs)

Jump to: navigation, search

Summary

Gyration.JPG

The Gyration GYR3101US remote (aka Gyration MCE RF Remote) is identical in style to the Fiire Chief. The keys are not mapped as nicely as the custom-designed Fiire Chief, but the Gyration's firmware can be updated to gain similar functionality using the Xmodmap program (and its corresponding config file) .

The Gyration remote control uses the gyro feature just like the Fiire Chief and the Gyration mouse. (The major difference is how the remote is detected and used by LinuxMCE, of course.)

Availability

Default capabilities

  • When the device is plugged in, it is identified and configured as a GO Wireless USB device. The "gyration mouse" bit works immediately. By default the Stop button will stop media playback, and the skip forward and back buttons work. If this is all you want, you're done. No further configuration is needed.
  • By default LinuxMCE recognizes the volume up/down keys, the 10 number keys, the MCE button, and the media controls play/stop/ffwd/rwd/pause/skip fwd/skip back.

How to Setup

  • I wanted the "Ambience" (Volume/Lighting) control key mapped, as well as the Channel/Chapter function, and the pull up menu for watching/listening to media.
  • To enable the volume control, I used the xev application from the KDE desktop terminal window, and identified the required keys.
xev

The first time this is run, it will pop-up a test window. Specify your mouse there, and then press the buttons on the Gyration remote to see the results in the terminal. Pay special attention to the

keycode

entries -- they are what you will specify in the .Xmodmap file.

On my particular setup (which I think is the default) the keys show up as:

Volume Up   keycode 176
Volume Down keycode 174
MCE button  keycode 97


Now the keys in LinuxMCE that provide the volume/channel/menu functions are:

F6 = Channel/Chapter FFWD/RWD/PAUSE menu
F7 = Menu button
F8 = Volume/Lighting button "ambience"

Update to get more MythTV functionality

MythTV Keys

P = Pause  # Pause key on remote
R = Record   # Record key on remote
Z = 30 second skip # Right skip key under directional pad
Q = 10 second back   # Left skip key under directional pad
I = Info   # Info button
F9 = Mute   # Mute button
Y = Switch Cards   # Pictures button

Using this info, I created the following .Xmodmap file as root user in /etc

cd /etc
sudo vi /etc/.Xmodmap

/etc/.Xmodmap

keycode 176 = F8
keycode 174 = F6
keycode 97 = F7
keycode 110 = P
keycode 177 = R
keycode 153 = Z
keycode 144 = Q
keycode 134 = I
keycode 160 = F9
keycode 237 = Y

Now after creating the file, make sure it is loaded when LinuxMCE starts up. To do this add the following (as root) to the script file /usr/pluto/bin/lmce_launch_manager.sh:

sudo vi /usr/pluto/bin/lmce_launch_manager.sh

Add a line before the line KDE_DEBUG=1 so that it looks like

xmodmap /etc/.Xmodmap
KDE_DEBUG=1

Save the file. You have two choices to get it going.

1. Fire off the command

sudo xmodmap /etc/.Xmodmap 
(This must be done from the KDE desktop term window (Konsole), as it needs to be run in the X environment. (You can also export the display like: export DISPLAY=:0;xmodmap /etc/.Xmodmap .)

2. Restart the core.

By placing the file in the lmce_launch_manager.sh script, anytime the core is rebooted, your settings are automagically set up.

Media Directors

To get this working on a media director, follow the directions above, but add the xmodmap directive to the file /usr/pluto/bin/LaunchOrbiter.sh, instead of /usr/pluto/bin/lmce_launch_manager.sh. Add it below the line N_Desktops=$(wmctrl -d | wc -l) # zero based. It should look like this:
/usr/bin/xset -dpms s off
N_Desktops=$(wmctrl -d | wc -l) # zero based
/usr/bin/xmodmap /etc/.Xmodmap

Troubleshooting

Problem: There are a couple of oddities to that I have encountered. When I watch a movie and want to change the volume or lighting for a movie (or pre-recorded program), it does what it supposed to. But when I watch Mythtv live, pressing the volume up on the Gyration remote invokes the MythTV Sleep Timer.

Solution: !!!!Update. As of 710 release I have not had to unmap these keys!!!!! But Just in case.... Read On. This can be resolved by remapping the sleep timer key using the Mythweb application located at http://core.ip.address/mythweb/ (for internal open systems) or at http://core.dhcp.server.adress/mythweb/

This can be avoided by unmapping the following keys in Mythweb/Settings/Controls

F6
F7
F8

Unmap these keys. Make sure you scroll down the whole list, as they appear more than once.

After you have completed these steps the following keys will perform these functions:

  • MCE button pulls up LinuxMCE menu system
  • Volume Up button brings up the "Ambience" controls during media playback
  • Volume Down button brings up the Channel/Chapter Fast Forward/Rewind and Pause functions
  • The Gyration center button does movement correctly
  • If you double click the center button, the mouse stays active, but remember to click once more to turn off (or you'll kill the batteries).
  • The Gyration Left button acts like the left mouse button for "Choose" functions
  • The Gyration Right button is the "exit" or "clear item" button
  • The left and right buttons are just like mouse buttons
  • The Number keys work with MythTV
  • The Pause button will pause MythTV
  • The Record button will start an on-the-fly-recording
  • The skip forward button does the standard 30 second skip correctly
  • The skip back button does the 10 second back skip correctly
  • The Pictures button will switch tuner cards if you have more than one. Nice for DVB users who don't use VDR.
  • The Mute button functions correctly
  • The Info button functions correctly

Alternate Config by Glasswalker

I have created this alternate config for the GYR3101US (stock gyration remote). I have managed to get most functions working (with the exception of the keys which use non-standard HID codes of course). However this has only been tested in the LMCE interface and with video/audio playback. I have not tested in Myth or VDR at all.

The thing I like about this config, is it is easily implimented via a single change to the device template for the Go Cordless GC1005M Mouse (the device that the GYR3101US is detected as). It is device template ID #1812

It is simple to make this edit:

  1. Go to advanced, then configuration, then device templates.
  2. Under "Do you know the ID" type in 1812, and hit "GO", then click "Pick Device Template"
  3. Scroll down to the "Device Data" section, and find "#59 Configuration(string)"
  4. In the "Default Value" column, paste in the contents of the config text which I have provided below.
  5. Scroll to the bottom of the page, and click "Save"
  6. Then do a quick reload of the router, and the remote should begin using the new config.

That's basically it. And all without any direct config file editing. The beauty is you edit in this one place, and these changes automatically propogate to all GYR3101US remotes you are using in your home. No filesystem changes, no hacking on the shell. I found this solution much "cleaner" than some of the above options

(note: it is most likely also less complete. Since I do not use myth or VDR at the moment, I have no reason to test in those apps to make sure there are no conflicts or bugs with this mapping in those apps. Please feel free to make your own additions or modifications to compensate for that, or if those apps simply don't play nice with this method, then revert to one of the other methods which are confirmed to work with those apps).

What this config provides

  • The number keys should map correctly
  • All media playback buttons map the correct functions (play,stop,ff,rw,skip,pause)
  • The arrow keys, OK button, and back button are mapped to the appropriate functions
  • The airmouse continues to work normally
  • The Green Media button will pull up the LMCE menu during media playback

That's basically it that's important at this point. Until we get a customized HID driver to recognize the remaining functions of the remote.

Config Text

### Power Control ###
#Power,100130,U
#Halt,100130,H

### Media Control ###
Stop,164,D
Record,177,D
Pause,110,D
Play,179,D
Rewind,152,D
fastforward,180,D
SkipPrior,144,R
SkipNext,153,R

### Navigation ###
ok,36,D,Y
Up,98,R,Y
Down,104,R,Y
Left,100,R,Y
Right,102,R,Y
#Back,234,D
info,134,U

### Volume/Channel/MCE Control ###
voldn,176,R
VolUp,174,R
#chup,100156,R
#chdown,100157,R
#MCE,100194,H
Mute,100226,D

### Media Shortcut / Special Buttons ###
#Music,237,U
#Videos,100000,U
#tv,100391,U
#Pictures,100393,U
#red,237,U
#green,100000,U
#yellow,100000,U
#blue,100000,U
#shortcutr,237,H
#shortcutg,100000,H
#shortcuty,100000,H
#shortcutb,100000,H

### Number Buttons ###
1,10,U,Y
2,11,U,Y
3,12,U,Y
4,13,U,Y
5,14,U,Y
6,15,U,Y
7,16,U,Y
8,17,U,Y
9,18,U,Y
0,19,U,Y
shortcut1,10,H,Y
shortcut2,11,H,Y
shortcut3,12,H,Y
shortcut4,13,H,Y
shortcut5,14,H,Y
shortcut6,15,H,Y
shortcut7,16,H,Y
shortcut8,17,H,Y
shortcut9,18,H,Y
shortcut0,19,H,Y

### Special Buttons Below Numbers ###
Clear,9,D
enter,36,D,Y
#setup_menu,100000,D,Y
#last,100000,D,Y
#input,100000,D,Y
#dvd_menu,100000,D,Y

### Customized For LMCE Ease of Use ###

#MCE Button mapped to "green" for pulling up menu during playback
green,97,U
#Back button mapped to "red" to back out of things
red,234,D