[ltp] Slightly OT: external USB keyboard w/Ultranav: synaptics, trackpoint

Richard Neill linux-thinkpad@linux-thinkpad.org
Fri, 11 Nov 2005 19:41:36 +0000


My trackpoint works fine - it certainly isn't jumpy in any way (and I'm 
just using the default settings). Could you be using mouse acceleration.?

I would be delighted to see a way to set the sensitivity up higher (like 
you can with tp4d) though, so please do let me know if you find a way to 
do this!

-------------------
On another note:

I have an interesting fix to the "scroll wheel" for one of these.

Basically, I can't stand the touchpads, but I need a 3-button mouse + 
scroll. So, I opened the keyboard and did the following:

1)Physically moved the touchpad out of the way, and into the internals, 
so it never activates.

2)Made a small replacement of the right shape out of cardboard, stuck a 
penguin on it (of course), and then placed 2 parallel wires on it, 2 mm 
apart. These wires form a touch-switch in the right place.

3)Amplified the signal from the touch switch using a simple circuit (a 
few resistors, 2 protectionn diodes, and a CMOS 4066 analog switch IC).

4)Bought a cheap, 5 button + wheel USB mouse. NOTE: must have at least 4 
  physical buttons, you cannot use the wheel rotation sensor channel here.
Gutted this mouse, placed the guts inside the keyboard, and connected 
button 4 to the 4066.

5)Xorg.conf:
	Option EmulateWheel.
	Option EmulateWheelButton 4.

6)The result workds great. I now actually have 5 pointers on this system 
(touchpad,trackpoint,usb-mouse-guts,optical mouse (for PCB design), 
graphics tablet)!

Although perhaps this is out of date, since Xorg now has 
EmulateScrollTimeout, so you could just use the middle button.

Hope that's useful.

Richard


Wolfgang Karall wrote:
> Hello,
> 
> since I bought the external IBM keyboard with Ultranav today and read a
> couple of mails about it not too long ago on this list, just a short
> report.
> 
> Basically it works fine, and "out of the box". But both the touchpad and
> the trackpoint both work as normal mouse, no special features possible.
> 
> At least for the touchpad I got it to play nice with the Xorg/XFree86
> synaptics driver by using the cpad Linux driver from
> http://www.personal.uni-jena.de/~p1stja/linux/cpad.html and patching it
> so it recognized the touchpads USB ID (which is 06cb:0009 btw). Patch
> attached since it's so small, and also sent to the maintainer. Loading
> the cpad module makes it show up in /proc/bus/input/devices, and using
> the associated /dev/input/eventX device and the synaptics driver for
> Xorg with
> 
> "Option" "Protocol" "event"
> 
> I'm now happily using the touchpad with CircularScrolling. Or rather,
> I'm happy I can disable it most of the time with the synclient helper
> program. ;)
> 
> The trackpoint OTOH I couldn't get to work properly, it's rather jumpy
> and not as usable as on my Thinkpad. If Stephen Evanchik is reading
> this: do you think it's possible to extend your trackpoint driver so it
> also works with USB devices? Of course I'm willing to help, as far as my
> petty kernel and c programming skills permit. :)
> 
> Otherwise the keyboard is fine, although the tab key is squeaking a bit
> (already!?), which is a bit annoying in the shell with all the tab
> completions I usually do.
> 
> Regards
> WK
> 
> 
> ------------------------------------------------------------------------
> 
> diff -c -Nrp cpad-2.6/cpad.c cpad-2.6-ibm-ultranav/cpad.c
> *** cpad-2.6/cpad.c	Mon Jun  6 18:33:16 2005
> --- cpad-2.6-ibm-ultranav/cpad.c	Fri Nov 11 19:37:51 2005
> ***************
> *** 104,113 ****
> --- 104,115 ----
>   #define USB_VENDOR_ID_SYNAPTICS 0x06cb
>   #define USB_DEVICE_ID_SYN_USB   0x0002
>   #define USB_DEVICE_ID_CPAD      0x0003
> + #define USB_DEVICE_ID_IBM       0x0009
>   
>   static struct usb_device_id cpad_idtable [] = {
>   	{ USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_CPAD) },
>   	{ USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYN_USB) },
> + 	{ USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_IBM) },
>   	{ }
>   };
>   MODULE_DEVICE_TABLE (usb, cpad_idtable);

-- 
rn214@hermes.cam.ac.uk  **  http://www.richardneill.org
Richard Neill, Trinity College, Cambridge, CB21TQ, U.K.