[ltp] Re: Hacking the UltraNav USB keyboard

Stefan Monnier linux-thinkpad@linux-thinkpad.org
Mon, 21 Jan 2008 23:23:25 -0500


>>> 6)This means either:
>>> - I'm looking at the wrong thing
>>> - The sniffer can't capture certain control packets
>>> - There's a bug in SnoopyPro
>>> - There isn't a sensitivity register in the hardware itself, but it's
>>> all done in software.
>> 
>> Maybe it's like the touchpad: by default it behaves exactly like a PS/2
>> mouse using the same protocol, but you can change it to a different mode
>> where it then uses a different protocol.  After that, you may get the
>> raw data and control the sensitivity directly in software.

> That's the interesting thing - if there are two modes, then WinXP is already
> putting the device into the "advanced mode". XP is making changes to the
> sensitivity of the device, but I'm not seeing any packets crossing the USB
> bus when this happens.

Of course, just like the usb-synaptics driver: it changes the mode at
the very beginning, and after that most of the work is done in software.
So you may not see any packet when you change the sensitivity because
the mode has been changed long ago already and the sensitivity is
handled in software.

> The Fn + Fx keys don't do anything at all, but I'm normally using this
> keyboard with my desktop machine, so I've never needed to suspend it!

I like to hibernate it at night.

> Fortunately, it's easy to work-around - trigger your scripts from
> a different combination, via xbindkeys.

xbindkeys doesn't cut it: it needs to work no matter what kind of X11
sessions I might have running and which one is currently active (if any).

>> PS: BTW does any one have a working usb-synaptics driver that can be
>> used together with hibernation (the one I've found so far requires
>> unload/reload across hibernation, which ends up creating a new device
>> afterwards and so requires restarting Xorg before seeing the "new"
>> touchpad).

> Is this a hibernation-specific issue? Can you unplug/replug while the OS is
> running normally? (To my surprise, WinXP actually lets you do this).

Indeed, unplug/replug is already a problem.


        Stefan