Author Topic: Gyration Air Mouse Not Working  (Read 11471 times)

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Gyration Air Mouse Not Working
« on: May 06, 2011, 03:34:05 am »
I've purchased a Gyration Air Mouse (GYM1100NA) like the one in the Air Mouse wiki, but LMCE does not detect it as anything other than an ordinary 3-button mouse.  None of the 3 extra buttons are working for F6-F7-F8.  I've tried replacing the hid.ko file using instructions in the wiki, but still no joy.  I added the device (1812) to the Orbiter, but that didn't change anything.  I need those 3 buttons to work.  Otherwise, this whole project is a bust for me since the wife and kids will need the easy way to manipulate LMCE. 

Does anyone else have this mouse working?  If so, can you throw me a bone?

Thanks

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #1 on: May 06, 2011, 09:49:34 am »
can you give me the output of lsusb ? I need to see if this is a different device.

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #2 on: May 06, 2011, 02:53:58 pm »
Sure thing.. 

Bus 005 Device 005: ID 05e3:0716 Genesys Logic, Inc.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 0c16:000f Gyration, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 0403:f850 Future Technology Devices International, Ltd
Bus 001 Device 005: ID 0bc7:0001 X10 Wireless Technology, Inc. ActiveHome (ACPI-compliant)
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

I was looking around some more, and I think this is a newer version, as the one I see a template for is the GC1005 which is REALLY hard to find now. 

Thanks!

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #3 on: May 06, 2011, 03:01:52 pm »
This is a different device, which will need a new device template.

You can see the device template for the GC1005, which has two bits of device data, Configuration (which maps key codes to entries in RemoteMapping), and Mapping, which re-maps a scancode to another scancode. Mapping is used for the GC1005 to remap the three grey buttons (which emit scan codes that X can decode, to scan codes for F6, F7, and F8, respectively.

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #4 on: May 07, 2011, 12:36:55 am »
I'm running into a problem when it comes to detecting those 3 grey buttons.  I've used xev and xinput, and it only detects outputs from the L+R buttons, the wheel, and motion of the mouse.  None of the 3 grey buttons are displaying any output using those two utilities.  Do you know of another tool I can use to detect the scan codes?  It looks like it detects 9 buttons when it is initially loaded by Xorg, according to /var/log/Xorg.0.log.

This is what is displayed in the log when I plug in the USB receiver for the mouse:

(II) config/hal: no driver specified for device /org/freedesktop/Hal/devices/usb_device_c16_f_noserial
(II) config/hal: no driver specified for device /org/freedesktop/Hal/devices/usb_device_c16_f_noserial_if0
(II) config/hal: no driver specified for device /org/freedesktop/Hal/devices/usb_device_c16_f_noserial_if1
(II) config/hal: Adding input device Movea, Inc. Movea RF Receiver
(**) Movea, Inc. Movea RF Receiver: always reports core events
(**) Movea, Inc. Movea RF Receiver: Device: "/dev/input/event8"
(II) Movea, Inc. Movea RF Receiver: Found keys
(II) Movea, Inc. Movea RF Receiver: Configuring as keyboard
(II) XINPUT: Adding extended input device "Movea, Inc. Movea RF Receiver" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Movea, Inc. Movea RF Receiver: xkb_rules: "evdev"
(**) Option "xkb_model" "pc105"
(**) Movea, Inc. Movea RF Receiver: xkb_model: "pc105"
(**) Option "xkb_layout" "us"
(**) Movea, Inc. Movea RF Receiver: xkb_layout: "us"
(II) config/hal: Adding input device Movea, Inc. Movea RF Receiver
(**) Movea, Inc. Movea RF Receiver: always reports core events
(**) Movea, Inc. Movea RF Receiver: Device: "/dev/input/event9"
(II) Movea, Inc. Movea RF Receiver: Found x and y relative axes
(II) Movea, Inc. Movea RF Receiver: Found 9 mouse buttons
(II) Movea, Inc. Movea RF Receiver: Found keys
(II) Movea, Inc. Movea RF Receiver: Configuring as mouse
(II) Movea, Inc. Movea RF Receiver: Configuring as keyboard
(II) XINPUT: Adding extended input device "Movea, Inc. Movea RF Receiver" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Movea, Inc. Movea RF Receiver: xkb_rules: "evdev"
(**) Option "xkb_model" "pc105"
(**) Movea, Inc. Movea RF Receiver: xkb_model: "pc105"
(**) Option "xkb_layout" "us"
(**) Movea, Inc. Movea RF Receiver: xkb_layout: "us"
(**) Movea, Inc. Movea RF Receiver: YAxisMapping: buttons 4 and 5
(**) Movea, Inc. Movea RF Receiver: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

Ironically, I have a laptop running Ubuntu 10.10.  When it loads on the laptop, it finds 12 buttons not 9, but I get the same results of no output from those buttons.

Thoughts?

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #5 on: May 08, 2011, 02:22:48 am »
Does anyone know of any other tools to use to detect the button scan codes other than xev and xinput?

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #6 on: May 08, 2011, 10:07:12 am »
Do those buttons emit data when you cat the input device directly? If they do, you may be able to map them using my GenericHIDInterface bits... search on the wiki for GenericHIDInterface.

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #7 on: May 10, 2011, 04:54:30 am »
Kinda sort of...  It shows up under /dev/input/by-id/ as the Gyration RF Mouse (see output below), but when I cat the device, I don't get any output..  I was able to get output from those 3 buttons by doing a cat on /dev/hidraw1 (below).  Now the question is, how do I get that HID device mapped so I can use those buttons?  I'm thinking that I need to configure the xorg.conf file, but I'm not sure how to configure it.  I can't seem to find anything that gives me the exact settings that I need anywhere on the web. 

Here are a bunch of command outputs to help you see what I'm seeing:

root@moon88:~# ls -al /dev/input/by-id
total 0
drwxr-xr-x 2 root root 100 May  9 21:44 .
drwxr-xr-x 4 root root 300 May  9 21:44 ..
lrwxrwxrwx 1 root root   9 May  9 21:44 usb-Movea__Inc._Movea_RF_Receiver-event-kbd -> ../event2
lrwxrwxrwx 1 root root   9 May  9 21:44 usb-Movea__Inc._Movea_RF_Receiver-event-mouse -> ../event3
lrwxrwxrwx 1 root root   9 May  9 21:44 usb-Movea__Inc._Movea_RF_Receiver-mouse -> ../mouse1

root@moon88:~# cat /proc/bus/input/devices
 
I: Bus=0003 Vendor=0c16 Product=000f Version=0111
N: Name="Movea, Inc. Movea RF Receiver"
P: Phys=usb-0000:00:04.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb3/3-1/3-1:1.0/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=100013
B: KEY=e080ffdf 1cfffff ffffffff fffffffe
B: MSC=10
 
I: Bus=0003 Vendor=0c16 Product=000f Version=0111
N: Name="Movea, Inc. Movea RF Receiver"
P: Phys=usb-0000:00:04.0-1/input1
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb3/3-1/3-1:1.1/input/input3
U: Uniq=
H: Handlers=kbd mouse1 event3
B: EV=1f
B: KEY=837fff 2c3027 bf004444 0 0 ff0001 c04 a27c000 267bfa d941dfed 9e0000 0 0 0
B: REL=143
B: ABS=ffffff01 0
B: MSC=10

root@moon88:~# lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0c16:000f Gyration, Inc.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 05e3:0716 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@moon88:/dev# dmesg | grep hid
[    6.809819] usbcore: registered new interface driver hiddev
[    6.822366] input,hidraw0: USB HID v1.11 Keyboard [Movea, Inc. Movea RF Receiver] on usb-0000:00:04.0-1
[    6.849322] input,hidraw1: USB HID v1.11 Mouse [Movea, Inc. Movea RF Receiver] on usb-0000:00:04.0-1
[    6.849495] usbcore: registered new interface driver usbhid
[    6.849510] usbhid: v2.6:USB HID core driver

root@moon88:/dev# cat hidraw1
VT102VT102@VT102ÿVT102ÿÿÿVT102VT102  (Output when I clicked each of the 3 buttons)

That's the first time I've seen ANY output from those buttons on a Linux system, so at least I know now that it is receiving something.  Now, how can I take the HID raw data and map it to a device template?

Any help is much appreciated, as I think I'm getting closer.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #8 on: May 10, 2011, 08:57:55 am »
http://wiki.linuxmce.org/index.php/Creating_a_Device_Template_for_a_Remote_that_uses_the_kernel_input_subsystem <-- read that.

be sure to edit /etc/pluto.conf and comment out the loglevels line temporarily so you can see all the system log messages, and reload the router.

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #9 on: May 10, 2011, 02:25:46 pm »
Thanks..  I'll try it tonight when I get home.

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #10 on: May 11, 2011, 04:40:45 am »
No joy.  I don't get any output to the media director log using the instructions in the wiki and commenting out the logging line in pluto.conf.  The only output I can get from those buttons is via cat /dev/hidraw1..  Any other ideas? 

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #11 on: May 11, 2011, 10:37:40 am »
That makes no sense, as GenericHIDInterface is always running, you should grep for lines called GenericHID in the log as you're tailing it.

If there is a device in /dev/input/by-id ....then it should find it (because I deliberately grab handles to all those event devices and listen to them.)

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #12 on: May 11, 2011, 02:40:02 pm »
I believe you, but I'm not getting anything.  Here's the steps I took (repeating on the core/hybrid this time)..

Comment out logging in pluto.conf (Here's my pluto.conf file to verify)
# Pluto config file
MySqlHost = localhost
# Pluto config file
MySqlHost = localhost
MySqlUser = root
MySqlPassword =
MySqlDBName = pluto_main
DCERouter = localhost
MySqlPort = 3306
DCERouterPort = 3450
PK_Device = 1
Activation_Code = 1111
PK_Installation = 1017654
PK_Users = 1
PK_Distro = 17
Display = 0
SharedDesktop = 1
OfflineMode = false
#<-mkr_b_videowizard_b->
UseVideoWizard = 1
#<-mkr_b_videowizard_e->
#LogLevels = 1,5,7,8
#ImmediatelyFlushLog = 1
AutostartCore=1
AutostartMedia=1
PlutoVersion = 2.0.0.44.11040923887
Bookmark_Media = 4,5
RA_CheckRemotePort = 1
TimeZoneSet = 1
AVWizardOverride = 0
AVWizardDone = 1
FirstBoot = false
DesktopActivated = 1
DVDKeysCache = /home/.dvdcss
LastSearchTokenUpdate=1305078056

Quick reload of the router

dcerouter_1017654:~# ls -al /dev/input/by-id
total 0
drwxr-xr-x 2 root root 100 2011-05-10 21:32 .
drwxr-xr-x 4 root root 380 2011-05-10 21:32 ..
lrwxrwxrwx 1 root root   9 2011-05-10 21:32 usb-Movea__Inc._Movea_RF_Receiver-event-kbd -> ../event9
lrwxrwxrwx 1 root root  10 2011-05-10 21:32 usb-Movea__Inc._Movea_RF_Receiver-event-mouse -> ../event10
lrwxrwxrwx 1 root root   9 2011-05-10 21:32 usb-Movea__Inc._Movea_RF_Receiver-mouse -> ../mouse2

dcerouter_1017654:~# tail -f /var/log/pluto/21_LaunchOrbiter.sh.log | grep "GenericHIDInterface"
(I pressed every button on the mouse, but no output)
^C

For grins, I changed the grep to:
dcerouter_1017654:~# tail -f /var/log/pluto/21_LaunchOrbiter.sh.log | grep "HID"
(I pressed the main two buttons and get this)
21      05/11/11 7:31:33.304            lock(0x8c42acc) (>23756) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.304            acquired(0x8c42acc) #0 (>23756) variable Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.304            unlock(0x8c42acc) #0 (>23756) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.304            removed from map (0x8c42acc) #0 (>23756) variable: Linux/HIDInterface.h:75  was: 6 size, now 5 Rel: Y Got: Y <0xb5164b90>
21      05/11/11 7:31:33.308            lock(0x8c42acc) (>23763) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.308            acquired(0x8c42acc) #0 (>23763) variable Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.308            unlock(0x8c42acc) #0 (>23763) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.308            removed from map (0x8c42acc) #0 (>23763) variable: Linux/HIDInterface.h:75  was: 8 size, now 7 Rel: Y Got: Y <0xb5164b90>
21      05/11/11 7:31:33.317            lock(0x8c42acc) (>23789) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.317            acquired(0x8c42acc) #0 (>23789) variable Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.317            unlock(0x8c42acc) #0 (>23789) variable: Linux/HIDInterface.h:75  <0xb5164b90>
21      05/11/11 7:31:33.317            removed from map (0x8c42acc) #0 (>23789) variable: Linux/HIDInterface.h:75  was: 11 size, now 10 Rel: Y Got: Y <0xb5164b90>
21      05/11/11 7:31:34.422            lock(0x8c42acc) (>24093) variable: Linux/HIDInterface.h:76  <0xb5164b90>
21      05/11/11 7:31:34.422            acquired(0x8c42acc) #0 (>24093) variable Linux/HIDInterface.h:76  <0xb5164b90>
21      05/11/11 7:31:34.422            unlock(0x8c42acc) #0 (>24093) variable: Linux/HIDInterface.h:76  <0xb5164b90>
21      05/11/11 7:31:34.422            removed from map (0x8c42acc) #0 (>24093) variable: Linux/HIDInterface.h:76  was: 7 size, now 6 Rel: Y Got: Y <0xb5164b90>
10      05/11/11 7:31:34.470            PlutoHIDInterface::ProcessHIDEvents bus 005 <0xb2ac6b90>
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 05e3:0716
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 1d6b:0002
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents bus 004 <0xb2ac6b90>
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 0c16:000f
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents bus 002 <0xb2ac6b90>
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents bus 003 <0xb2ac6b90>
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents bus 001 <0xb2ac6b90>
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 0403:f850
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 0bc7:0001
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:34.481            PlutoHIDInterface::ProcessHIDEvents didn't get remote.  Sleep 2 seconds and try again <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents bus 005 <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 05e3:0716
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 1d6b:0002
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents bus 004 <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 0c16:000f
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents bus 002 <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents bus 003 <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents bus 001 <0xb2ac6b90>
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 0403:f850
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 0bc7:0001
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents 1d6b:0001
10      05/11/11 7:31:36.482            PlutoHIDInterface::ProcessHIDEvents didn't get remote.  Sleep 2 seconds and try again <0xb2ac6b90>

(None of the other buttons output anything into the log)

If I cat the device directly using cat /dev/input/event10, I get nothing:

dcerouter_1017654:~# cat /dev/input/event10
^C

Cat the hidraw1 device and I get:

dcerouter_1017654:~# cat /dev/hidraw1
ÿúûüôÿùý÷öéòèðçòéôëøóüûÿÿÿÿýÿñúéüçþ÷ÿíöö
                                                VT102ÿúüñþïúùïõöüìþë÷òVT102þúþúûþþÿÿúVT102øüüüüýÿÿÿÿÿVT102ÿþþñ
ù
ÿVT102ÿÿÿûúûÿüýüúýVT102þVT102VT102þýýþýþÿÿþÿþûýüþüûÿüûüùýþþþÿÿÿþÿÿþÿýþþøýúÿøÿ÷ôéõõóÿÿVT102VT102ÿÿÿÿVT102VT102@VT102VT102VT102ÿÿÿVT102^C
dcerouter_1017654:~#

That output is not from the main 2 mouse buttons, but rather the 3 extra one's that I need to get working, and movement of the mouse.  Nothing else provides output..

Weird I know..  Do you think it's a driver issue?  The mouse works great as a mouse.  L+R works, scroll works, movement is fine, but those 3 buttons do not seem to want to cooperate.

I'm going to try to connect it to my Win7 machine and run USBSnoop on it today and see if that gives me anything to go on.

Any other ideas?

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #13 on: May 11, 2011, 05:59:48 pm »
What about event9 ? remember, Gyration/Movea devices are composite devices.

-Thom

tmwillett

  • Veteran
  • ***
  • Posts: 63
    • View Profile
Re: Gyration Air Mouse Not Working
« Reply #14 on: May 11, 2011, 06:59:36 pm »
I'll try it and let you know.   I was assuming that was set up for a keyboard, but assumptions do get me in trouble a lot.