Hi all.
It's quite long time that I don't use gizmod and now that my mythbox is ok again, I started again with gizmod. :D
I downloaded the last version and compiled from source in my knoppmyth R5F1 system.
I disabled lirc and loaded the ati_remote kernel driver. Without gizmod the basic functions work right (up down left right) but:
If I start gizmod it recognizes my ati remote
sh-3.1$ gizmod
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell <tim.burrell@gmail.com>
Registering Devices:
Standard - Directory [input]
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
but it doesnt output any events even if button presses are intercepted.the keyboard works well. I can notice that gizmod intercept the button presses because launching it with -g flag I got
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
As far as I remember it seems like that no event is associated to the keys I'm pressing, but it seems kinda odd since the associations are in the .py files and the application window is correctly identified.
onEvent: WindowFocus [FocusIn] -- <WindowTitle:mythfrontend> <FormalName:mythfrontend> <Class:Mythfrontend>
Am I missing something to configure? :)
I even tried to restore my old (sweated) .py files but nothing changes.
Can you give my some hints?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay so, everything looks as it should. Just to clarify: gizmod is picking up events from the remote properly, but when mythfrontend is active the remote doesn't do anything?
Can you capture the output of running gizmod -g, launching mythfrontend, and clicking a few buttons on the remote?
Thanks,
Tim.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi tim.
you got it right. if I start gizmod, my remote didnt work. with gizmod off, i can use the basic functions provided by the ati_remote.
I'm using knoppmyth with 2.6.18; i should load the ati_remote module with insmod /path/to/module.ko because somehow modprobe doesnt work.
For my tries with gizmod, I stop the lirc daemon, remove the lirc_modules and insmoding the ati_remote.ko module.
I tried to kill mythfrontend and mythwelcome and then started gizmod with -A -g (to get rid of alsa strings). Here is the output.
Registering Devices:
Standard - Directory [input]
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
Device [X10 Wireless Technology Inc USB Receiver] Exclusive Access Granted
Could not connect to LIRC device node [/dev/lircd] -- disabling LIRC support
- Check permissions
- Ensure lircd is running
Loading User Scripts:
CatchAllDebug - CatchAll Event Mapping for Testing
PowermateVisualizer - Powermate Visualization Handler [0 Powermates]
KeyboardAmarok - Amarok Fancy Keyboard Event Mapping
KeyboardDefault - Default Fancy Keyboard Event Mapping
PowermateButtonTimeout - ButtonTimeout Powermate Event Mapping
PowermateCompiz - Compiz Powermate Event Mapping
PowermateFirefox - Firefox Powermate Event Mapping
PowermateMPlayer - MPlayer Powermate Event Mapping
PowermateAmarok - Amarok Powermate Event Mapping
PowermateDefault - Default Powermate Event Mapping
ATIX10Intercept - Intercept ATIX10 Event Mapping
ATIX10MythTV - MythTV ATIX10 Event Mapping
ATIX10MPlayer - MPlayer ATIX10 Event Mapping
ATIX10Amarok - Amarok ATIX10 Event Mapping
ATIX10Default - Default ATIX10 Event Mapping
LIRCHauppaugeIntercept - Intercept LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Intercept - Intercept LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMythTV - MythTV LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MythTV - MythTV LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMPlayer - MPlayer LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MPlayer - MPlayer LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeAmarok - Amarok LIRC Hauppauge Event Mapping
LIRCMceUSB2Amarok - Amarok LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeDefault - Default LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Default - Default LIRC Event Mapping for the MceUSB2 remote
MomoRacing - Logitech Momo Racing Event Mapping
RemoteControl - Remote Control Event Mapping
during the tests, lirc isn't loaded, I just describe every step I followed to make thoes tries with gizmod. i don;t know if it coulde be useful for you.
about your question: there is no evidence that gizmod recognized the newly created mythfrontend window. this happens during the test you suggested (start gizmod and then launch mythfrontend). in the first output I posted (launching gizmod when mythfrontend was alrealdy loaded) there is a line that shows gizmod recognized the myth window,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Tim.
I will try in a couple of hours.
Regarding your questions: I compiled gizmod myself since I use knoppmyth and I haven't found any suitable package. I don't get any "Unable to open Display Error" since I run
export DISPLAY=:0
I will post the other info later.
thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Tim.
I did the tests you suggested. you can find the output at the end of this post (it's way too long... feel free to delete it after you read that).
but maybe I found something interesting. Somehow now gizmod works!
But only if I have a mouse connected! :)
I connected a mouse in order to test as you suggested (cycling between windows) because I thought fluxbox hasn't the alt-tab feature (I was wrong). anyway I tried and at the first attempt gizmod worked in mythfrontend!
So I didnt figure out the reasons for the previous failures.
The thing is replicable: if the mouse isnt connected when gizmod starts, the remote doesnt work.
In the 5 attempts I did, if the mouse is connected my remote works flawlessy (as always with gizmod! :) ).
I really don't know the reasons but it's a bit odd...
orangeek
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell <tim.burrell@gmail.com>
Debug Mode Enabled
Debug Verbosity set to [5]
ALSA Support Disabled
Embedding Python Interpreter...
Initializing Python Environment...
Adding [/etc/gizmod/modules.d] to the System Path
Modifying PYTHONPATH:
import sys
sys.path.insert(0, "/etc/gizmod/")
sys.path.insert(0, "/etc/gizmod/modules.d/")
sys.path.insert(0, "/etc/gizmod/modules.d/bases")
sys.path.insert(0, "/etc/gizmod/modules.d/visualizers")
Registering Input Event Devices in [/dev/input]
Adding File [/dev/input] to Watch List with Mode [2]
Watching Device [/dev/input]: Directory
New Device Detected [/dev/input]: Directory
Standard - Directory [input]
Adding File [/dev/input/event0] to Watch List with Mode [2]
Watching Device [/dev/input/event0]: AT Translated Set 2 keyboard
New Device Detected [/dev/input/event0]: AT Translated Set 2 keyboard
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Adding File [/dev/input/event1] to Watch List with Mode [2]
Watching Device [/dev/input/event1]: IR-receiver inside an USB DVB receiver
New Device Detected [/dev/input/event1]: IR-receiver inside an USB DVB receiver
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
Adding File [/dev/input/event2] to Watch List with Mode [2]
Watching Device [/dev/input/event2]: X10 Wireless Technology Inc USB Receiver
New Device Detected [/dev/input/event2]: X10 Wireless Technology Inc USB Receiver
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
Device [X10 Wireless Technology Inc USB Receiver] Exclusive Access Granted
Adding File [/dev/input/event3] to Watch List with Mode [2]
Watching Device [/dev/input/event3]: PS/2+USB Mouse
New Device Detected [/dev/input/event3]: PS/2+USB Mouse
Mouse - PS/2+USB Mouse [event3] vId: 0x4f3 pId: 0x210
Registering LIRC device node [/dev/lircd]
Failed to Connect to [/dev/lircd] for [Read] -- Check Permissions!
Could not connect to LIRC device node [/dev/lircd] -- disabling LIRC support
- Check permissions
- Ensure lircd is running
Loading User Scripts:
Importing User Script [000-CatchAllDebug]
Executing Python Code: __import__("000-CatchAllDebug")
CatchAllDebug - CatchAll Event Mapping for Testing
Importing User Script [001-KeyboardLED-Visualizer]
Executing Python Code: __import__("001-KeyboardLED-Visualizer")
Importing User Script [001-Powermate-Visualizer]
Executing Python Code: __import__("001-Powermate-Visualizer")
The reason why no events were being translated is because the ATIX10 scripts are set not to do anything if a keyboard and mouse aren't detected. Reason being, the "mouse pad" on the X10 generally creates mouse events, and the other buttons generally create keyboard events, so I thought it an okay compromise to ensure that a mouse and keyboard are loaded. I should really make it so it just disables the features it can't use, or at the least spit out a warning message :)
Tim.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OMG, I AM A GENIUS! :)
Well, actually I didnt figure anything, I just had a lucky strike! :D
Soooo... I would not have a mouse attached to the mediacenter (mythtv doesnt support mouse as far as I know), there is any way to disable the "wait for the mouse otherwise do not work and tell nothing to the user" feature? :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
See the file: modules.d/based/GizmoScriptDefault.py at line 60
It says:
if Event.Class in self.InterestedClasses and len(Gizmod.Mice) and len(Gizmod.Keyboards):
# process the key
return True
All that says is: if we're interested in the event, and there are mice attached and there are keyboards attached then process the event. A quick and dirty hack would be to remove the "and len(Gizmod.Mice)" part.
Tim.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Tim.
A couple of things that I've to do in order to have gizmod working; I don't know if they're relevant but maybe they do.
my knoppmyth boots with lirc and the modules loaded _along_ with the ati_remote driver loaded.
To use the kernel driver I've to:
a. stop lirc
b. remove lirc modules
c. remove the ati_remote module
d. insmod the ati_remote module (somehow modprobe doesnt find the .ko file)
d. chmodding the input devices (now I'm in testing phase: I'll create the udev rules later)
e. now the x10 works with the ati_remote kernel driver
So, about the tests you suggest, here is what I've been through.
1.With lirc loaded, irw says and the mouse pad on the x10 doesnt work
000000144c770000 00 MOUSE_DOWNLEFT REMOTE_WONDER
0000001448730000 00 MOUSE_DOWN REMOTE_WONDER
2.with lirc and gizmod not running, the mouse pad works (cursor movement and left right click)
3.with default gizmod (no hack to avoid mouse check) running, the mouse pad on the x10 doesnt work and the output of gizmod is like this
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: 0x4
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x0
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_RIGHT> c: 0x111 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_RIGHT> c: 0x111 v: 0x1
4.with default gizmod running and mouse connected, the mouse pad works but worse than with test number 2. (it's not so fast and is -I don't know the noun in english but is like when you got 8FPS on doom). the gizmod's output is like this
onEvent: WindowFocus [FocusIn] -- <WindowTitle:(root window)> <FormalName:(root window)> <Class:(root window)>
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x1
Traceback (most recent call last):
File "/etc/gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/etc/gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/etc/gizmod/modules.d/499-ATIX10-Default.py", line 64, in onDeviceEvent
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.KEY_BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'KEY_BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x0
Traceback (most recent call last):
File "/etc/gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/etc/gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/etc/gizmod/modules.d/499-ATIX10-Default.py", line 64, in onDeviceEvent
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.KEY_BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'KEY_BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
The error above is when I press the left mouse pad button on the x10 (with the right button is the same).
5. with hacked gizmod running, the x10 works but gives some errors If I press the mouse pad :D
Hope this helps.
orangeek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Alright thanks for all your diagnostics there, really helps me see what's going on, and I'm pretty sure I know what the problem is.
If you want to see if you can get the mouse events to work without having a mouse connected, you should put in the dirty hack we discussed before, and change the 499-ATIX10 script so that instead of this:
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
you see this:
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
I have no idea if that'll work, I've not tried it, but it's worth a shot. I'd try but I don't have an ATI X10 to test with anymore!
Now if you want the mouse events to work while have a mouse plugged in... I'm not sure why you're seeing the behavior you are there. If you end up wanting to go this route we can likely get it figured out, but at the moment I'm not sure what's going on. I have a feeling that calling setMinimumTimeBetweenEvents(0.0) on the gizmo when it's registered will fix it, but that's just a guess. If you want to try this see GizmoRegistrar.py in handleDeviceAddition -- scroll down till you see the ATIX10 part, and add in a line after the exclusive mode that looks like:
self.Device.setMinimumTimeBetweenEvents(0.0)
As for your part 5 there... and the error in part 4, there's actually a bug in the 499 script that I just noticed thanks to that debug output! Just replace KEY_BTN_ with BTN_ and the error should go away (also fixed in SVN if you would prefer to download the latest version).
Thanks,
Tim.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi tim.
I think I'm not going a mouse connected to my mythbox.
Anyway now gizmod works perfectly.
I just had to fight with fluxbox and finished to install and use wmaker.
In fact, I wasnt able to run gizmod within the .fluxbox/apps file. If I do so, somehow gizmod doesnt use the ATI .py file.
If i put the same command (gizmod -Ag -C /etc/gizmod/) in .xinitrc and use wmaker, everythinkg works fine.
thank you for your great piece of software!
orangeek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey Tim,
I've been searching around trying to get something very basic to work with a Griffin Power Mate. All I'd like to do is get the button press to emulate a mouse left click event. I've successully gotten the PowerMate to emulate mouse wheel events, so I thought this last bit would be easy. I've given it the ole RTFM college try, but I keep drawin a blank on this. Sorry. I realize this thread is referencing a ATI X10, but figured a poke in here might be worth a shot.
I tried the modified script above...
i.e.
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
but I am still seeing an error in the gizmod log...
e.g.
Traceback (most recent call last):
File "/root/.gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/root/.gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/root/.gizmod/modules.d/010-InteleHealth.py", line 81, in onDeviceEvent
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
here is my onDeviceEvent section of my config script:
def onDeviceEvent(self, Event, Gizmo = None):
"""
Called from Base Class' onEvent method.
See GizmodDispatcher.onEvent documention for an explanation of this function
"""
if Event.Class in INTERESTED_CLASSES and Gizmod.isProcessRunning(INTERESTED_APPLICATION) >= 0:
# Check for rotations
if Event.Type == GizmoEventType.EV_REL:
# move forward/backward thru the menu passing mousewheel events
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_REL, GizmoMouseAxis.WHEEL, -Event.Value)
return True
# THIS PART IS WORKING
# check for button press
elif Event.Type == GizmoEventType.EV_KEY:
if not Gizmo.getKeyState(GizmoKey.BTN_0):
#should give one event per button press
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
#GIVES TRACEBACK ERROR LOG
else:
return False
else:
return False
return False
Sorry to bother you on SuperBowl Sunday. Any help you can offer is truly appreciated.
Thanks,
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey Thanks Tim,
That was definitely an improvement...the error message went away. I still get no mouse event though. Here is a debug log from gizmod run w/ the -g option...
Well first of all, if you're not going to have a mouse connected to the system, you won't be able to generate mouse events anyway (not with Gizmod as it's currently set up). You might be able to directly pass through the mouse pad events on X10 remote, but you likely wouldn't be able to generate any mouse events other than the one the remote driver itself creates. I haven't tested this though so I could be wrong!
But to answer this I need more info:
- Does the X10 create mouse events on its own when gizmod is not running?
- If it does, but not when gizmod is running then:
- Does "gizmod -g" capture the mouse pad events from the remote? And if so what do they look like (can you paste a few?)
Thanks,
Tim.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all.
It's quite long time that I don't use gizmod and now that my mythbox is ok again, I started again with gizmod. :D
I downloaded the last version and compiled from source in my knoppmyth R5F1 system.
I disabled lirc and loaded the ati_remote kernel driver. Without gizmod the basic functions work right (up down left right) but:
If I start gizmod it recognizes my ati remote
sh-3.1$ gizmod
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell <tim.burrell@gmail.com>
Registering Devices:
Standard - Directory [input]
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
but it doesnt output any events even if button presses are intercepted.the keyboard works well. I can notice that gizmod intercept the button presses because launching it with -g flag I got
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
As far as I remember it seems like that no event is associated to the keys I'm pressing, but it seems kinda odd since the associations are in the .py files and the application window is correctly identified.
onEvent: WindowFocus [FocusIn] -- <WindowTitle:mythfrontend> <FormalName:mythfrontend> <Class:Mythfrontend>
Am I missing something to configure? :)
I even tried to restore my old (sweated) .py files but nothing changes.
Can you give my some hints?
Hi Orangeek!
Sorry it took me a long time to respond! Much busyness! :)
At any rate I'm not exactly sure what's going on here... can you post the complete output of "gizmod -g" (including all the startup gibberish)?
Thanks,
Tim.
Hi Tim!
here is the complete output of gizmod -g!
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell <tim.burrell@gmail.com>
Debug Mode Enabled
Registering Devices:
Standard - Directory [input]
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
Device [X10 Wireless Technology Inc USB Receiver] Exclusive Access Granted
Could not connect to LIRC device node [/dev/lircd] -- disabling LIRC support
- Check permissions
- Ensure lircd is running
Loading User Scripts:
CatchAllDebug - CatchAll Event Mapping for Testing
PowermateVisualizer - Powermate Visualization Handler [0 Powermates]
KeyboardAmarok - Amarok Fancy Keyboard Event Mapping
KeyboardDefault - Default Fancy Keyboard Event Mapping
PowermateButtonTimeout - ButtonTimeout Powermate Event Mapping
PowermateCompiz - Compiz Powermate Event Mapping
PowermateFirefox - Firefox Powermate Event Mapping
PowermateMPlayer - MPlayer Powermate Event Mapping
PowermateAmarok - Amarok Powermate Event Mapping
PowermateDefault - Default Powermate Event Mapping
ATIX10Intercept - Intercept ATIX10 Event Mapping
ATIX10MythTV - MythTV ATIX10 Event Mapping
ATIX10MPlayer - MPlayer ATIX10 Event Mapping
ATIX10Amarok - Amarok ATIX10 Event Mapping
ATIX10Default - Default ATIX10 Event Mapping
LIRCHauppaugeIntercept - Intercept LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Intercept - Intercept LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMythTV - MythTV LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MythTV - MythTV LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMPlayer - MPlayer LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MPlayer - MPlayer LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeAmarok - Amarok LIRC Hauppauge Event Mapping
LIRCMceUSB2Amarok - Amarok LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeDefault - Default LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Default - Default LIRC Event Mapping for the MceUSB2 remote
MomoRacing - Logitech Momo Racing Event Mapping
RemoteControl - Remote Control Event Mapping
Attached to Sound Card [hw:0] -- SiS SI7012
onEvent: SoundCard -- SoundCardAttach [SiS SI7012]
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Master Mono>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master Mono> Unmute
onEvent: WindowFocus [FocusIn] -- <WindowTitle:mythfrontend> <FormalName:mythfrontend> <Class:Mythfrontend>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master Mono> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master Mono> Vol: 80.6451644897
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Master Surround>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master Surround>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master Surround> Vol: 0.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Master>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master> Unmute
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Master> Vol: 80.6451644897
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Headphone Jack Sense>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Headphone Jack Sense>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <PCM>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <PCM> Unmute
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <PCM> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <PCM> Vol: 74.1935501099
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Surround Jack Mode>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Surround Jack Mode>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Surround>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Surround>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Surround> Vol: 0.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Center>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Center>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Center> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Center> Vol: 100.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <LFE>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <LFE>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <LFE> Vol: 0.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Line Jack Sense>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Line Jack Sense>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Line>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Line>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Line> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiSonEvent: SoundCard -- MixerElementChange [SiS SI7012] <CD> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <CD> Vol: 80.6451644897
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Mic Boost (+20dB)>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic Boost (+20dB)>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Mic Select>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic Select>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Mic>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic> Vol: 0.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Phone>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Phone>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Phone> Vol: 0.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Aux>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Aux>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Aux> Vol: 0.0
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Aux> Vol: 16.129032135
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mic>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <CD>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <CD>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Video>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Video>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Aux>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Aux>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Line>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Line>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Mix>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mix>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Mix Mono>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Mix Mono>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Phone>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Phone>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Capture>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Capture>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Capture>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <Capture>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <IEC958 Playback AC97-SPSA>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <IEC958 Playback AC97-SPSA> Vol: 100.0
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <IEC958 Playback Source>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <IEC958 Playback Source>
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <IEC958>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <IEC958> Unmute
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <Channel Mode>
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_0> c: 0xb v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_8> c: 0x9 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_5> c: 0x6 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_5> c: 0x6 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_2> c: 0x3 v: 0x1
Keyboard Interrupt Received...
GizmoDaemon Shut Down.
any glue?
onEvent: SoundCard -- MixerElementAttach [SiS SI7012] <CD>
onEvent: SoundCard -- MixerElementChange [SiS SI7012] <CD>
oops... some errors with the 'paste'. :)
thanks
orangeek
Okay so, everything looks as it should. Just to clarify: gizmod is picking up events from the remote properly, but when mythfrontend is active the remote doesn't do anything?
Can you capture the output of running gizmod -g, launching mythfrontend, and clicking a few buttons on the remote?
Thanks,
Tim.
hi tim.
you got it right. if I start gizmod, my remote didnt work. with gizmod off, i can use the basic functions provided by the ati_remote.
I'm using knoppmyth with 2.6.18; i should load the ati_remote module with insmod /path/to/module.ko because somehow modprobe doesnt work.
For my tries with gizmod, I stop the lirc daemon, remove the lirc_modules and insmoding the ati_remote.ko module.
I tried to kill mythfrontend and mythwelcome and then started gizmod with -A -g (to get rid of alsa strings). Here is the output.
Registering Devices:
Standard - Directory [input]
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
Device [X10 Wireless Technology Inc USB Receiver] Exclusive Access Granted
Could not connect to LIRC device node [/dev/lircd] -- disabling LIRC support
- Check permissions
- Ensure lircd is running
Loading User Scripts:
CatchAllDebug - CatchAll Event Mapping for Testing
PowermateVisualizer - Powermate Visualization Handler [0 Powermates]
KeyboardAmarok - Amarok Fancy Keyboard Event Mapping
KeyboardDefault - Default Fancy Keyboard Event Mapping
PowermateButtonTimeout - ButtonTimeout Powermate Event Mapping
PowermateCompiz - Compiz Powermate Event Mapping
PowermateFirefox - Firefox Powermate Event Mapping
PowermateMPlayer - MPlayer Powermate Event Mapping
PowermateAmarok - Amarok Powermate Event Mapping
PowermateDefault - Default Powermate Event Mapping
ATIX10Intercept - Intercept ATIX10 Event Mapping
ATIX10MythTV - MythTV ATIX10 Event Mapping
ATIX10MPlayer - MPlayer ATIX10 Event Mapping
ATIX10Amarok - Amarok ATIX10 Event Mapping
ATIX10Default - Default ATIX10 Event Mapping
LIRCHauppaugeIntercept - Intercept LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Intercept - Intercept LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMythTV - MythTV LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MythTV - MythTV LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeMPlayer - MPlayer LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2MPlayer - MPlayer LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeAmarok - Amarok LIRC Hauppauge Event Mapping
LIRCMceUSB2Amarok - Amarok LIRC Event Mapping for the MceUSB2 remote
LIRCHauppaugeDefault - Default LIRC Event Mapping for the Hauppauge remote
LIRCMceUSB2Default - Default LIRC Event Mapping for the MceUSB2 remote
MomoRacing - Logitech Momo Racing Event Mapping
RemoteControl - Remote Control Event Mapping
onEvent: WindowFocus [FocusIn] -- <WindowTitle:(root window)> <FormalName:(root window)> <Class:(root window)>
[[[[[[ here I started mythfrontend]]]]]]
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
thank you
Shouldn't need lirc loaded at all.
I'm curious, is there a line in there that looks like:
onEvent: WindowFocus [FocusIn] -- <WindowTitle:Mythfrontend> <FormalName:mythfrontend> <Class:mythfrontend> ?
Tim.
during the tests, lirc isn't loaded, I just describe every step I followed to make thoes tries with gizmod. i don;t know if it coulde be useful for you.
about your question: there is no evidence that gizmod recognized the newly created mythfrontend window. this happens during the test you suggested (start gizmod and then launch mythfrontend). in the first output I posted (launching gizmod when mythfrontend was alrealdy loaded) there is a line that shows gizmod recognized the myth window,
Hrmmm okay I'm starting to get a sense of what's going on.
Could you run gizmod in ultra debug mode (gizmod -gAV 5) and switch back and forth between windows and tell me what you see?
You should see the occasional "Processing X11 Focus Events..." line.
You should also see "onEvent: WindowFocus" events.
You should NOT see the following line: "Unable to Open X11 Display [Default] -- Per application mappings will not work!"
Did you compile gizmod yourself, or are you using a packaged version and if so, which one?
Thanks,
Tim.
Hi Tim.
I will try in a couple of hours.
Regarding your questions: I compiled gizmod myself since I use knoppmyth and I haven't found any suitable package. I don't get any "Unable to open Display Error" since I run
export DISPLAY=:0
I will post the other info later.
thanks
Hi Tim.
I did the tests you suggested. you can find the output at the end of this post (it's way too long... feel free to delete it after you read that).
but maybe I found something interesting. Somehow now gizmod works!
But only if I have a mouse connected! :)
I connected a mouse in order to test as you suggested (cycling between windows) because I thought fluxbox hasn't the alt-tab feature (I was wrong). anyway I tried and at the first attempt gizmod worked in mythfrontend!
So I didnt figure out the reasons for the previous failures.
The thing is replicable: if the mouse isnt connected when gizmod starts, the remote doesnt work.
In the 5 attempts I did, if the mouse is connected my remote works flawlessy (as always with gizmod! :) ).
I really don't know the reasons but it's a bit odd...
orangeek
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell <tim.burrell@gmail.com>
Debug Mode Enabled
Debug Verbosity set to [5]
ALSA Support Disabled
Embedding Python Interpreter...
Initializing Python Environment...
Adding [/etc/gizmod/modules.d] to the System Path
Modifying PYTHONPATH:
import sys
sys.path.insert(0, "/etc/gizmod/")
sys.path.insert(0, "/etc/gizmod/modules.d/")
sys.path.insert(0, "/etc/gizmod/modules.d/bases")
sys.path.insert(0, "/etc/gizmod/modules.d/visualizers")
Executing Dispatcher Python Script [/etc/gizmod/GizmodDispatcher.py]...
Registering Default Mixer Priority: master
Registering Default Mixer Priority: pcm
Registering Default Mixer Priority: front
Registering Default Mixer Priority: center
Registering Default Mixer Priority: side
Registering Default Mixer Priority: surround
Registering Default Mixer Priority: headphones
Creating Dispatcher Object
Executing User Python Script [/etc/gizmod/GizmodUser.py]...
Registering Devices:
Registering Input Event Devices in [/dev/input]
Adding File [/dev/input] to Watch List with Mode [2]
Watching Device [/dev/input]: Directory
New Device Detected [/dev/input]: Directory
Standard - Directory [input]
Adding File [/dev/input/event0] to Watch List with Mode [2]
Watching Device [/dev/input/event0]: AT Translated Set 2 keyboard
New Device Detected [/dev/input/event0]: AT Translated Set 2 keyboard
Keyboard - AT Translated Set 2 keyboard [event0] vId: 0x1 pId: 0x1
Adding File [/dev/input/event1] to Watch List with Mode [2]
Watching Device [/dev/input/event1]: IR-receiver inside an USB DVB receiver
New Device Detected [/dev/input/event1]: IR-receiver inside an USB DVB receiver
Standard - IR-receiver inside an USB DVB receiver [event1] vId: 0x14aa pId: 0x221
Adding File [/dev/input/event2] to Watch List with Mode [2]
Watching Device [/dev/input/event2]: X10 Wireless Technology Inc USB Receiver
New Device Detected [/dev/input/event2]: X10 Wireless Technology Inc USB Receiver
ATI X10 - X10 Wireless Technology Inc USB Receiver [event2] vId: 0xbc7 pId: 0x4
Device [X10 Wireless Technology Inc USB Receiver] Exclusive Access Granted
Adding File [/dev/input/event3] to Watch List with Mode [2]
Watching Device [/dev/input/event3]: PS/2+USB Mouse
New Device Detected [/dev/input/event3]: PS/2+USB Mouse
Mouse - PS/2+USB Mouse [event3] vId: 0x4f3 pId: 0x210
Registering LIRC device node [/dev/lircd]
Failed to Connect to [/dev/lircd] for [Read] -- Check Permissions!
Could not connect to LIRC device node [/dev/lircd] -- disabling LIRC support
- Check permissions
- Ensure lircd is running
Loading User Scripts:
Importing User Script [000-CatchAllDebug]
Executing Python Code: __import__("000-CatchAllDebug")
CatchAllDebug - CatchAll Event Mapping for Testing
Importing User Script [001-KeyboardLED-Visualizer]
Executing Python Code: __import__("001-KeyboardLED-Visualizer")
Importing User Script [001-Powermate-Visualizer]
Executing Python Code: __import__("001-Powermate-Visualizer")
PowermateVisualizer - Powermate Visualization Handler [0 Powermates]
Importing User Script [150-Keyboard-Amarok]
Executing Python Code: __import__("150-Keyboard-Amarok")
KeyboardAmarok - Amarok Fancy Keyboard Event Mapping
Importing User Script [199-Keyboard-Default]
Executing Python Code: __import__("199-Keyboard-Default")
KeyboardDefault - Default Fancy Keyboard Event Mapping
Importing User Script [200-Powermate-ButtonTimeout]
Executing Python Code: __import__("200-Powermate-ButtonTimeout")
PowermateButtonTimeout - ButtonTimeout Powermate Event Mapping
Importing User Script [201-Powermate-Compiz]
Executing Python Code: __import__("201-Powermate-Compiz")
PowermateCompiz - Compiz Powermate Event Mapping
Importing User Script [210-Powermate-Firefox]
Executing Python Code: __import__("210-Powermate-Firefox")
PowermateFirefox - Firefox Powermate Event Mapping
Importing User Script [211-Powermate-MPlayer]
Executing Python Code: __import__("211-Powermate-MPlayer")
PowermateMPlayer - MPlayer Powermate Event Mapping
Importing User Script [250-Powermate-Amarok]
Executing Python Code: __import__("250-Powermate-Amarok")
PowermateAmarok - Amarok Powermate Event Mapping
Importing User Script [299-Powermate-Default]
Executing Python Code: __import__("299-Powermate-Default")
PowermateDefault - Default Powermate Event Mapping
Importing User Script [400-ATIX10-Intercept]
Executing Python Code: __import__("400-ATIX10-Intercept")
ATIX10Intercept - Intercept ATIX10 Event Mapping
Importing User Script [410-ATIX10-MythTV]
Executing Python Code: __import__("410-ATIX10-MythTV")
ATIX10MythTV - MythTV ATIX10 Event Mapping
Importing User Script [411-ATIX10-MPlayer]
Executing Python Code: __import__("411-ATIX10-MPlayer")
ATIX10MPlayer - MPlayer ATIX10 Event Mapping
Importing User Script [450-ATIX10-Amarok]
Executing Python Code: __import__("450-ATIX10-Amarok")
ATIX10Amarok - Amarok ATIX10 Event Mapping
Importing User Script [499-ATIX10-Default]
Executing Python Code: __import__("499-ATIX10-Default")
ATIX10Default - Default ATIX10 Event Mapping
Importing User Script [500-LIRC-Hauppauge-Intercept]
Executing Python Code: __import__("500-LIRC-Hauppauge-Intercept")
LIRCHauppaugeIntercept - Intercept LIRC Event Mapping for the Hauppauge remote
Importing User Script [500-LIRC-MceUSB2-Intercept]
Executing Python Code: __import__("500-LIRC-MceUSB2-Intercept")
LIRCMceUSB2Intercept - Intercept LIRC Event Mapping for the MceUSB2 remote
Importing User Script [510-LIRC-Hauppauge-MythTV]
Executing Python Code: __import__("510-LIRC-Hauppauge-MythTV")
LIRCHauppaugeMythTV - MythTV LIRC Event Mapping for the Hauppauge remote
Importing User Script [510-LIRC-MceUSB2-MythTV]
Executing Python Code: __import__("510-LIRC-MceUSB2-MythTV")
LIRCMceUSB2MythTV - MythTV LIRC Event Mapping for the MceUSB2 remote
Importing User Script [511-LIRC-Hauppauge-MPlayer]
Executing Python Code: __import__("511-LIRC-Hauppauge-MPlayer")
LIRCHauppaugeMPlayer - MPlayer LIRC Event Mapping for the Hauppauge remote
Importing User Script [511-LIRC-MceUSB2-MPlayer]
Executing Python Code: __import__("511-LIRC-MceUSB2-MPlayer")
LIRCMceUSB2MPlayer - MPlayer LIRC Event Mapping for the MceUSB2 remote
Importing User Script [550-LIRC-Hauppauge-Amarok]
Executing Python Code: __import__("550-LIRC-Hauppauge-Amarok")
LIRCHauppaugeAmarok - Amarok LIRC Hauppauge Event Mapping
Importing User Script [550-LIRC-MceUSB2-Amarok]
Executing Python Code: __import__("550-LIRC-MceUSB2-Amarok")
LIRCMceUSB2Amarok - Amarok LIRC Event Mapping for the MceUSB2 remote
Importing User Script [599-LIRC-Hauppauge-Default]
Executing Python Code: __import__("599-LIRC-Hauppauge-Default")
LIRCHauppaugeDefault - Default LIRC Event Mapping for the Hauppauge remote
Importing User Script [599-LIRC-MceUSB2-Default]
Executing Python Code: __import__("599-LIRC-MceUSB2-Default")
LIRCMceUSB2Default - Default LIRC Event Mapping for the MceUSB2 remote
Importing User Script [610-MomoRacing]
Executing Python Code: __import__("610-MomoRacing")
MomoRacing - Logitech Momo Racing Event Mapping
Importing User Script [999-RemoteControl]
Executing Python Code: __import__("999-RemoteControl")
RemoteControl - Remote Control Event Mapping
Processing X11 Focus Events...
onEvent: WindowFocus [FocusIn] -- <WindowTitle:(root window)> <FormalName:(root window)> <Class:(root window)>
Processing X11 Focus Events...
FileEventWatcher :: Watching [5 Files] for Events...
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_STOP> c: 0x80 v: 0x1
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_STOP> c: 0x80 v: 0x1
Building Process Tree
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_STOP> c: 0x80 v: 0x1
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_STOP> c: 0x80 v: 0x1
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_E> c: 0x12 v: 0x1
Building Process Tree
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_E> c: 0x12 v: 0x1
Processing File Events...
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_C> c: 0x2e v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x1
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ESC> c: 0x1 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ESC> c: 0x1 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFT> c: 0x69 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_UP> c: 0x67 v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_DOWN> c: 0x6c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_RIGHT> c: 0x6a v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <KEY_OK> c: 0x160 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ENTER> c: 0x1c v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x1
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ESC> c: 0x1 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x1
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_ESC> c: 0x1 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xd
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x14
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x14
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xc
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x11
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x11
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xb
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xe
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x11
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x18
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x19
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1b
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1b
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x18
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xf
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x11
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xe
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xf
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xe
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xc
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xb
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xe
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x12
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x16
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x19
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1a
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1d
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1e
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1b
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x19
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x16
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x12
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x11
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x10
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xb
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xc
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xd
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x12
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x16
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x11
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x12
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x19
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1b
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x19
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1a
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1f
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1e
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1b
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1a
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1a
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x19
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x16
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x12
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xd
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xa
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x14
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x16
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x18
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x15
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x12
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x13
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x11
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x1
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
Building Process Tree
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0x38
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_LEFTALT> c: 0x38 v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event0 | [EV_MSC] c: 0x4 Val: 0xf
onEvent: Standard -- /dev/input/event0 | [EV_KEY] <KEY_TAB> c: 0xf v: 0x0
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xd
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xc
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0xb
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x6
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xc
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x10
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x10
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x10
Building Process Tree
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x10
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xf
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xe
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xd
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xb
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0xa
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x3
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x7
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x5
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x5
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x6
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x8
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xa
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xa
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0xa
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x4
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x9
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x7
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x4
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x3
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x2
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
Processing File Events...
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
Keyboard Interrupt Received...
Poll error: Interrupted system call
GizmoDaemon Shutting Down... |Waiting on X11FocusWatcher Thread to Finish...
Waiting on CPUUsage Thread to Finish...
Down.
Ahhh I can't believe I didn't notice this!!
I'm glad you figured it out though!
The reason why no events were being translated is because the ATIX10 scripts are set not to do anything if a keyboard and mouse aren't detected. Reason being, the "mouse pad" on the X10 generally creates mouse events, and the other buttons generally create keyboard events, so I thought it an okay compromise to ensure that a mouse and keyboard are loaded. I should really make it so it just disables the features it can't use, or at the least spit out a warning message :)
Tim.
OMG, I AM A GENIUS! :)
Well, actually I didnt figure anything, I just had a lucky strike! :D
Soooo... I would not have a mouse attached to the mediacenter (mythtv doesnt support mouse as far as I know), there is any way to disable the "wait for the mouse otherwise do not work and tell nothing to the user" feature? :)
Yeah you can disable this quite easily.
See the file: modules.d/based/GizmoScriptDefault.py at line 60
It says:
if Event.Class in self.InterestedClasses and len(Gizmod.Mice) and len(Gizmod.Keyboards):
# process the key
return True
All that says is: if we're interested in the event, and there are mice attached and there are keyboards attached then process the event. A quick and dirty hack would be to remove the "and len(Gizmod.Mice)" part.
Tim.
Hi Tim.
A couple of things that I've to do in order to have gizmod working; I don't know if they're relevant but maybe they do.
my knoppmyth boots with lirc and the modules loaded _along_ with the ati_remote driver loaded.
To use the kernel driver I've to:
a. stop lirc
b. remove lirc modules
c. remove the ati_remote module
d. insmod the ati_remote module (somehow modprobe doesnt find the .ko file)
d. chmodding the input devices (now I'm in testing phase: I'll create the udev rules later)
e. now the x10 works with the ati_remote kernel driver
So, about the tests you suggest, here is what I've been through.
1.With lirc loaded, irw says and the mouse pad on the x10 doesnt work
000000144c770000 00 MOUSE_DOWNLEFT REMOTE_WONDER
0000001448730000 00 MOUSE_DOWN REMOTE_WONDER
2.with lirc and gizmod not running, the mouse pad works (cursor movement and left right click)
3.with default gizmod (no hack to avoid mouse check) running, the mouse pad on the x10 doesnt work and the output of gizmod is like this
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: 0x4
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x0
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_RIGHT> c: 0x111 v: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_RIGHT> c: 0x111 v: 0x1
4.with default gizmod running and mouse connected, the mouse pad works but worse than with test number 2. (it's not so fast and is -I don't know the noun in english but is like when you got 8FPS on doom). the gizmod's output is like this
onEvent: WindowFocus [FocusIn] -- <WindowTitle:(root window)> <FormalName:(root window)> <Class:(root window)>
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x1 Val: 0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x1 Val: 0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x1
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x1
onEvent: ATIX10 -- /dev/input/event2 | [EV_REL] c: 0x0 Val: -0x2
onEvent: Standard -- /dev/input/event3 | [EV_REL] c: 0x0 Val: -0x2
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x1
Traceback (most recent call last):
File "/etc/gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/etc/gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/etc/gizmod/modules.d/499-ATIX10-Default.py", line 64, in onDeviceEvent
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.KEY_BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'KEY_BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
onEvent: ATIX10 -- /dev/input/event2 | [EV_KEY] <BTN_LEFT> c: 0x110 v: 0x0
Traceback (most recent call last):
File "/etc/gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/etc/gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/etc/gizmod/modules.d/499-ATIX10-Default.py", line 64, in onDeviceEvent
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.KEY_BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'KEY_BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
The error above is when I press the left mouse pad button on the x10 (with the right button is the same).
5. with hacked gizmod running, the x10 works but gives some errors If I press the mouse pad :D
Hope this helps.
orangeek
Alright thanks for all your diagnostics there, really helps me see what's going on, and I'm pretty sure I know what the problem is.
If you want to see if you can get the mouse events to work without having a mouse connected, you should put in the dirty hack we discussed before, and change the 499-ATIX10 script so that instead of this:
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
you see this:
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
Same for right button, and where you see this:
elif Event.Type == GizmoEventType.EV_REL:
# do mouse movements
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_REL, Event.Code, Event.Value)
return True
Chance to:
elif Event.Type == GizmoEventType.EV_REL:
# do mouse movements
Gizmo.createEventRaw(GizmoEventType.EV_REL, Event.Code, Event.Value)
return True
I have no idea if that'll work, I've not tried it, but it's worth a shot. I'd try but I don't have an ATI X10 to test with anymore!
Now if you want the mouse events to work while have a mouse plugged in... I'm not sure why you're seeing the behavior you are there. If you end up wanting to go this route we can likely get it figured out, but at the moment I'm not sure what's going on. I have a feeling that calling setMinimumTimeBetweenEvents(0.0) on the gizmo when it's registered will fix it, but that's just a guess. If you want to try this see GizmoRegistrar.py in handleDeviceAddition -- scroll down till you see the ATIX10 part, and add in a line after the exclusive mode that looks like:
self.Device.setMinimumTimeBetweenEvents(0.0)
As for your part 5 there... and the error in part 4, there's actually a bug in the 499 script that I just noticed thanks to that debug output! Just replace KEY_BTN_ with BTN_ and the error should go away (also fixed in SVN if you would prefer to download the latest version).
Thanks,
Tim.
hi tim.
I think I'm not going a mouse connected to my mythbox.
Anyway now gizmod works perfectly.
I just had to fight with fluxbox and finished to install and use wmaker.
In fact, I wasnt able to run gizmod within the .fluxbox/apps file. If I do so, somehow gizmod doesnt use the ATI .py file.
If i put the same command (gizmod -Ag -C /etc/gizmod/) in .xinitrc and use wmaker, everythinkg works fine.
thank you for your great piece of software!
orangeek
Interesting! Well glad to hear you got the kinks worked out!
Hey Tim,
I've been searching around trying to get something very basic to work with a Griffin Power Mate. All I'd like to do is get the button press to emulate a mouse left click event. I've successully gotten the PowerMate to emulate mouse wheel events, so I thought this last bit would be easy. I've given it the ole RTFM college try, but I keep drawin a blank on this. Sorry. I realize this thread is referencing a ATI X10, but figured a poke in here might be worth a shot.
I tried the modified script above...
i.e.
if Event.Code == GizmoKey.BTN_LEFT:
# do mouse left click
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
but I am still seeing an error in the gizmod log...
e.g.
Traceback (most recent call last):
File "/root/.gizmod/GizmodDispatcher.py", line 109, in onEvent
if UserScript.onEvent(Event, Gizmo):
File "/root/.gizmod/modules.d/bases/GizmoScriptDefault.py", line 73, in onEvent
return self.onDeviceEvent(Event, Gizmo)
File "/root/.gizmod/modules.d/010-InteleHealth.py", line 81, in onDeviceEvent
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
AttributeError: type object 'GizmoDaemon.GizmoKey' has no attribute 'BTN_LFT'
Failed to call GizmodDispatcher.onEvent for deserializeMessage
here is my onDeviceEvent section of my config script:
def onDeviceEvent(self, Event, Gizmo = None):
"""
Called from Base Class' onEvent method.
See GizmodDispatcher.onEvent documention for an explanation of this function
"""
if Event.Class in INTERESTED_CLASSES and Gizmod.isProcessRunning(INTERESTED_APPLICATION) >= 0:
# Check for rotations
if Event.Type == GizmoEventType.EV_REL:
# move forward/backward thru the menu passing mousewheel events
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_REL, GizmoMouseAxis.WHEEL, -Event.Value)
return True
# THIS PART IS WORKING
# check for button press
elif Event.Type == GizmoEventType.EV_KEY:
if not Gizmo.getKeyState(GizmoKey.BTN_0):
#should give one event per button press
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LFT, Event.Value)
return True
#GIVES TRACEBACK ERROR LOG
else:
return False
else:
return False
return False
Sorry to bother you on SuperBowl Sunday. Any help you can offer is truly appreciated.
Thanks,
Michael
Hey Michael,
No worries... questions are good!
I think there's two problems here... the first and most major one is that the key definition is actually GizmoKey.BTN_LEFT, not GizmoKey.BTN_LFT :)
That should get rid of the error you're seeing there.
That being said, if you notice in the part that works you've got a line like this:
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_REL, GizmoMouseAxis.WHEEL, -Event.Value)
Notice the Gizmod.Mice[0] part? What that does is call createEventRaw on the first mouse device attached to the system.
Now in your BTN_LEFT part you've got:
Gizmo.createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LEFT, Event.Value)
That is most likely going to attempt to create a left button push on the powermate itself! Likely not what you want. Try this:
Gizmod.Mice[0].createEventRaw(GizmoEventType.EV_KEY, GizmoKey.BTN_LEFT, Event.Value)
Similarly if you wanted to create a keyboard event you'd use:
Gizmod.Keyboards[0].createEvent...
Make sense?
Let me know if that helps at all!
Thanks,
Tim.
Hey Thanks Tim,
That was definitely an improvement...the error message went away. I still get no mouse event though. Here is a debug log from gizmod run w/ the -g option...
onEvent: Powermate -- /dev/input/event2 | [EV_KEY] <BTN_0> c: 0x100 v: 0x1
onEvent: Powermate -- /dev/input/event2 | [EV_KEY] <BTN_0> c: 0x100 v: 0x0 Duration: 0.0928319990635
onEvent: Powermate -- /dev/input/event2 | [EV_KEY] <BTN_0> c: 0x100 v: 0x1
onEvent: Powermate -- /dev/input/event2 | [EV_KEY] <BTN_0> c: 0x100 v: 0x0 Duration: 0.00797099992633
So, it looks like I'm definitely getting the event now, but I'm not sure about the mapping. The number 0x110 comes to mind from previous searches...
e.g.
michael@linux-labiche:~/gizmo/gizmod-3.4> find . -exec grep "BTN_LEFT" '{}' \; -print
GIZMO_BTN_LEFT = 0x110,
./libGizmod/GizmoKeyDefs.hpp
Binary file ./gizmod/CMakeFiles/gizmod.dir/GizmoDaemon.o matches
./gizmod/CMakeFiles/gizmod.dir/GizmoDaemon.o
Binary file ./gizmod/CMakeFiles/CMakeRelink.dir/gizmod matches
./gizmod/CMakeFiles/CMakeRelink.dir/gizmod
Binary file ./gizmod/gizmod matches
./gizmod/gizmod
.value("BTN_LEFT", GIZMO_BTN_LEFT) ///< GIZMO_BTN_LEFT
etc.
Thanks for answering me on a Sunday. I'm off to a SuperBowl party right now, hope u r 2.
seeya,
Michael
Did you post the output of gizmod starting up by running via "gizmod -g"? I looked through the thread but didn't see it. If you didn't, could you?
Thanks,
Tim.
and:
why my remote doesnt create mouse events?
do you think is my system somehow not well configured?
Well first of all, if you're not going to have a mouse connected to the system, you won't be able to generate mouse events anyway (not with Gizmod as it's currently set up). You might be able to directly pass through the mouse pad events on X10 remote, but you likely wouldn't be able to generate any mouse events other than the one the remote driver itself creates. I haven't tested this though so I could be wrong!
But to answer this I need more info:
- Does the X10 create mouse events on its own when gizmod is not running?
- If it does, but not when gizmod is running then:
- Does "gizmod -g" capture the mouse pad events from the remote? And if so what do they look like (can you paste a few?)
Thanks,
Tim.
Tim, thank you for the reply.
tonight I'll do the quick and dirty hack along with the tests and debug you suggest.
orangeek