[ltp] Re: No touchpad with latest BIOS?

Richard Neill linux-thinkpad@linux-thinkpad.org
Wed, 31 May 2006 01:03:23 +0100


Meidinger Chris wrote:
> 
>>Or, you can do something clever with EmulateWheel such that the touchpad 
>>is *just* an x-y scroll device.
> 
> Wow! That is an incredibly clever idea.
> 
> My touchpad just goes to waste because i'm a dedicated trackpoint user, 
but a scroll wheel on the laptop would be great!
> 

If it helps, here's what I'm using on my *Desktop* system, with an IBM 
Ultranav keyboard.  It still uses Xorg 6.8, so no EmulateWheelTimeout, 
and the Synaptics driver isn't supported (yet!) over USB.  I *almost* 
got what I want - but I have to double-tap to scroll.
[You could always solder down the button]

With those caveats:

--------------

#Mouse section for the PS/2 port (ordinary wheel-mouse)
Section "InputDevice"
     Identifier "ps2mouse"
     Driver "mouse"
     Option "Device" "/dev/input/ps2mouse"
     Option "Protocol" "ExplorerPS/2"
     Option "ZAxisMapping" "6 7"
EndSection

---------------

#Trackpoint
Section "InputDevice"
     Identifier "trackpoint"
     Driver "mouse"
     Option "Device" "/dev/input/trackpoint"
     Option "Protocol" "ExplorerPS/2"
     Option "ZAxisMapping" "6 7"
         #We want to use emulatewheel + emulatewheeltimeout.
         #But we'd need Xorg 6.9 for that. Uncomment when this feature is
	#available:
         #Option "EmulateWheel" "on"
         #Option "EmulateWheelButton" "2"
         #Option "EmulateWheelTimeout" "200"
         #Option "YAxisMapping" "6 7"
         #Option "XAxisMapping" "4 5"
         #Option "ZAxisMapping" "10 11"
EndSection

---------------

#Touchpad used as a mouse. (in mouse mode) NOT used any more.
#Section "InputDevice"
#    Identifier "synaptics-mouse"
#    Driver "mouse"
#    Option "Device" "/dev/input/synaptics-mouse"
#    Option "Protocol" "ExplorerPS/2"
#    Option "ZAxisMapping" "6 7"
#EndSection

---------------

#Creatively "MISUSE" Synaptics for scroll....
Section "InputDevice"
     Identifier "synaptics-mouse"
     Driver "mouse"
     Option "Device" "/dev/input/synaptics-mouse"
     Option "Protocol" "ExplorerPS/2"
     #Option "ZAxisMapping" "6 7"

     Option "EmulateWheel" "on"
     Option "EmulateWheelButton" "1"     #NOTE: Button 1 = tap finger.

     #NOT SUPPORTED before xorg6.9.0, so irrelevant.
     #Option "EmulateWheelTimeout" "0"				

     #Mandriva does something weird in /etc/xinit.d/mouse_buttons,
     #so these are sometimes the other way around (swap X,Y).
     Option "YAxisMapping" "4 5"
     Option "XAxisMapping" "6 7"
     Option "ZAxisMapping" "10 11"  #map this out the way.

      #If this worked...(unfortunately, it doesn't): Tap btn 3(right) on
      #synaptics once after boot. Then, it will always work as scroll
      #without needing to hold #1.
      #Option "DragLockButtons" "3 1"

      #BUT: the synaptics will help here. It thinks that
      #double-click+move = click&drag. Hence,via EmulateWheel=1, it gives
      #scrolling :-)


-------------------




I have these udev rules - but these apply to a *DESKTOP* system, with a 
USB-ultranav keyboard. You may be able to adapt them. Note: the touchpad 
appears as 2 separate devices: a mouseX and an eventX. The former is a 
basic-mode mouse; the latter needs the synaptics driver. Use one or the 
other!



#Rules for the various different mice on the system (the PS/2, Synaptics 
and Trackpoint)

#PS/2 mouse (usually /dev/input/mouse0)
#Symlink as /dev/input/ps2mouse
BUS="serio", kernel="mouse*", SYSFS{description}="i8042 Aux Port", 
NAME="input/%k", SYMLINK="input/ps2mouse"

#Synaptics touchpad (in mouse mode) (usually /dev/input/mouse1)
#Symlink as /dev/input/synaptics-mouse
BUS="usb", kernel="mouse*", DRIVER="usbhid", 
SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceNumber}="00", 
SYSFS{interface}="Rel", NAME="input/%k", SYMLINK="input/synaptics-mouse"

#Synaptics touchpad (in event mode) (usually /dev/input/event5)
#Symlink as /dev/input/synaptics-event
BUS="usb", kernel="event*", DRIVER="usbhid", 
SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceNumber}="00", 
SYSFS{interface}="Rel", NAME="input/%k", SYMLINK="input/synaptics-event"


#Trackpoint (usually /dev/input/mouse2)
#Symlink as /dev/input/trackpoint
BUS="usb", kernel="mouse*", DRIVER="usbhid", 
SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceNumber}="01", 
SYSFS{interface}="Rel", NAME="input/%k", SYMLINK="input/trackpoint"




Best wishes,

Richard