no gyration remote mouse if lircd running.
#1
Hello, all.

This, I'm sure, has nothing to do with XBMC itself, but I'd like to see if anyone has any ideas for me as I know there are many experienced and knowledgeable folks on these forums.

I have a gyration wireless (RF) keyboard and remote. There is one USB RF receiver and the two devices. (http://www.gyration.com/index.php/us/pro...emote.html)

In linux, it shows up as three input devices:

Code:
gsg@xbmc /dev/input/by-id
$ ls -l
total 0
lrwxrwxrwx 1 root root 9 2010-01-01 18:17 usb-Gyration_Gyration_RF_Technology_Receiver-event-kbd -> ../event3
lrwxrwxrwx 1 root root 9 2010-01-01 18:17 usb-Gyration_Gyration_RF_Technology_Receiver-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2010-01-01 18:17 usb-Gyration_Gyration_RF_Technology_Receiver-mouse -> ../mouse1

Here is how I am starting lircd:
Code:
/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

It is necessary to have two lircd processes in order to gain all the functionality of the remote as some of the buttons stimulate event3 and some event4. This is the only way I've found to get it to work.

The issue is that the mouse only works if lircd is NOT running. I do not understand this, because I only have lircd working with the two "event" devices, not the mouse device.

I can test by watching /dev/input/mouse1 (or mice) with hexdump. I see data from the mouse only if the two lircd processes are not running. If I just start one lircd process, the mouse still works. If I start the two processes without linking them together, the mouse works. This only happens with one is run with --listen and another with --connect.

Any ideas?
Reply
#2
I may be wrong as I have no experience with this particular device, but I think you should be running lirc mouse daemon lircmd for the gyro and lirc daemon lircd for the remote.

it looks like they have instructions to set up the remote on this mythTV site http://www.mythtv.org/wiki/Gyration-based_MCE_Remotes
Use mythicalLibrarian to make a library out of your MythTV files. Leave the recording to MythTV and use XBMC as your library.
Installation and Instructions:http://wiki.xbmc.org/index.php?title=MythicalLibrarian
Technical Support:http://forum.xbmc.org/showthread.php?tid=65644
[url=http://forum.xda-developers.com/showthread.php?tid=1081892][/url]
Reply
#3
Thanks for the reply, outleradam. From what I have read, lircmd is to convert IR events to mouse events. In my case, I already have a mouse device so it seems that should not be necessary. I did use that page originally for setting up my remote, as well as other resources. I suspect that my current situation would cripple a separate mouse as well, but I am not sure. I will test it out...
Reply
#4
Oddly enough, a separate mouse still works. I don't get it as each still has its own device, and I don't see why lircd reading the two gyration 'event' devices has anything to do with the gyration 'mouse' device.
Reply
#5
pulled this from the google cache due to the crash:

Quote:Originally Posted by rodercot
ggleason,

The reason your remote does not function properly is with your commands to join the two event devices together you stop lirc and and then XBMC cannot connect to the socket when you start XBMC.

dutchhome at boxee forums has made this work almost 100%. I am using his new hardware.conf file AND his new lirc init.d script for multiple remote setups.

I now have my gyration remote with ALL buttons working, my MCE Usb Dongle transmitting to my tv and rcvr and finally my lcd loaded and working for lcdproc. check it out.

currently the setup stops the gyro mouse from working and it is supposed to be fixed in the next cvs lirc. The volume buttons (work but do not repeat at his point) and star hash buttons (to be seen as one command) are being worked on via the lircd.conf

I used the h.conf as he has posted and then added my mce device as the third device with the lcd unplugged and blacklisted lirc_imon once, I had the mce dongle working (transmitting) I added a 4th remote to the file and setup the lcd, plugged it back in and removed the blacklist from lirc_imon. It all works including suspend from the power button and pm-suspend.

read from post 6 on check my notes as well as I had to modify the hardware.conf file a little bit from what dutchhome posted.

link:

http://forum.boxee.tv/showthread.php?p=85695

Regards,

Dave

Any chance you can write up a quick "how-to" based on your experience? It seems a few of us have this remote and would love to be where you are in terms of usability.
Reply
#6
Here you go!
http://wiki.xbmc.org/index.php?title=HOW...sing_Lircd
Reply
#7
I still don't see why we need to use Lirc to get buttons to work in xbmc that work fine in the rest of the OS. Disabling the mouse function on our gyration is sort of defeating the purpose isn't it?

Couldn't we get the Lirc daemon to only start with xbmc, so the mouse still works on the desktop and the remote works in xbmc?
Reply
#8
Deosneos Wrote:I still don't see why we need to use Lirc to get buttons to work in xbmc that work fine in the rest of the OS. Disabling the mouse function on our gyration is sort of defeating the purpose isn't it?

Couldn't we get the Lirc daemon to only start with xbmc, so the mouse still works on the desktop and the remote works in xbmc?

I think it's because lirc is the only method the enable mapping of specific button pushes to specific XBMC actions.

There is basic functionality without it, but most of the buttons don't work. Supposedly a new release of lirc will not kill the mouse function, accoding to the discussion on the boxee forum.
Reply
#9
gsgleason Wrote:I think it's because lirc is the only method the enable mapping of specific button pushes to specific XBMC actions.

There is basic functionality without it, but most of the buttons don't work. Supposedly a new release of lirc will not kill the mouse function, accoding to the discussion on the boxee forum.

I'm trying your wiki with the IRW version of LIRC and the mouse function still gets killed.
Reply
#10
Deosneos Wrote:I'm trying your wiki with the IRW version of LIRC and the mouse function still gets killed.

Yes, it does. I don't get it.

If you watch the device for the mouse, when you don't have the two lirc processes, you can see activity from the mouse. As soon as you have the two lircd processes, though, you cannot.

I have all working buttons, just no mouse. It's all fine as the directional buttons and page up and down buttons on the remote work fine for using XBMC, but I'd like to be able to fire up firefox and use it, and cannot.

I'd be interested it knowing more about the supposed fix in lirc from cvs as the boxee forum suggests.
Reply
#11
What I don't get is why all our buttons show up in xev right out of the box, yet they don't seem to show up in xbmc.log or be mappable through keymap.xml. Surely if xev registers them we should be able to map them in xbmc even without the help of LIRC?
Reply
#12
What i don't get why you want to use that with LIRC - and kill mouse functionality. This simply doesn't make sense.

The idea is that you should use xmodmap to make the not working (but shown in xev) keys work - like that you have at least the most keys working and mouse functionality.

For the EU version of this set, it seems to be that the 5 keys at the bottom are not working for the PC remote. (in EU version this is 4 color keys and teletext on/off ) For the EU version i believe they removed the 4 function keys on top of the numbers - put the bottom keys on top of the numbers and used the 5 keys at the bottom for the teletext keys. I can see the receiver is reacting (light is flashing) but neither xev nor show-keys is showing something - anything else i could try or it is simply not send to USB then ?
Reply
#13
Deosneos Wrote:What I don't get is why all our buttons show up in xev right out of the box, yet they don't seem to show up in xbmc.log or be mappable through keymap.xml. Surely if xev registers them we should be able to map them in xbmc even without the help of LIRC?

Thats easy to explain (now that i know it): This is, because of an xorg limitation (known since 2007), only keys with hex code below 255 can be recognized in xorg, those XBMC.

See: https://bugs.launchpad.net/ubuntu/+sourc...bug/313514

From there i got a pointer to rawkeybind: http://www.isaev.ru/rawkeybind/

I have not finished yet to map everything to below 255, and dont have a complete map in XBMC - for sure i would appreciate some joint effort here Wink.

For those of you who have the EU version of the 3101 - you can also get the color keys working.

(diff for ubuntu 2.6.32 kernel)
Code:
diff -Nru linux-2.6.32.y-d4e0f47/hid-gyration.c linux-2.6.32.y-d4e0f47.new/hid-gyration.c
--- linux-2.6.32.y-d4e0f47/hid-gyration.c    2010-07-16 12:26:28.000000000 +0200
+++ linux-2.6.32.y-d4e0f47.new/hid-gyration.c    2010-07-17 09:11:03.526311075 +0200
@@ -43,6 +43,11 @@
    case 0x048: gy_map_key_clear(KEY_MEDIA);    break;
    case 0x049: gy_map_key_clear(KEY_CAMERA);    break;
    case 0x04a: gy_map_key_clear(KEY_VIDEO);    break;
+    case 0x05a: gy_map_key_clear(KEY_END);        break;
+    case 0x05b: gy_map_key_clear(KEY_F1);        break;
+    case 0x05c: gy_map_key_clear(KEY_F2);        break;
+    case 0x05d: gy_map_key_clear(KEY_F3);        break;
+    case 0x05e: gy_map_key_clear(KEY_F4);        break;

    default:
        return 0;

(somewhat research notepad on this topic in german at vdrportal: http://vdrportal.de/board/thread.php?threadid=97345 )
Reply
#14
Hey All,

Sorry I own a marina and it has BEEN a very busy summer, in fact my mythbackend crashed in march and I am just getting it back in gear now. WOW! lots off reading to do.

Where are you guys at with this, has anyone tried it with the CVS lirc version, I just setup a test machine in my office again and I will start fiddling with it and see what I can come up with. I need to get my head around where I left off with it. Has dutchhome committed any thing further, his solution was the closest to working I ever had and he was going to get the device numerical convention into the lirc upstream and I am not sure if it was ever accepted.

Always your roadblock is the adding of more devices with lirc is a pita, lircd, lircd1, lircd2 etc all have to point to one device (lircd and in proper order of starting) to have them ALL work within xbmc or any linux platform for that matter as far as I am aware.

I will look into it more this weekend and see what I can come up with.

Dave
Reply
#15
My suggestion: Don't use lircd at all, use inputlircd.

/etc/default/inputlirc
Code:
# Options to be passed to inputlirc.
EVENTS="/dev/input/by-id/usb-Gyration_Gyration_RF_Technology_Receiver-event-*"
OPTIONS="-c -m 0 "


Use Keymap to map the usual keys (if not allready the case) and use inputlircd for the keys with evcode above 255 (like channel buttons)
Reply

Logout Mark Read Team Forum Stats Members Help
no gyration remote mouse if lircd running.0