[ltp] "ThinkPad USB Keyboard with TrackPoint" in Linux?
Richard Neill
linux-thinkpad@linux-thinkpad.org
Sat, 03 Jul 2010 12:26:34 +0100
I've got one. It works really well.
The only problem is that I haven't figured out a way to alter the
default trackpoint sensitivity (I'd prefer to increase it).
If you just plug it in, it will work. However, you may wish to be clever
with xorg settings.
If you set up some udev rules such as below, you can then set Xorg.conf
rules for each mouse-device. So for example, you might want
emulated-scroll + emulated middle-click on the trackpoint, while setting
the track-pad to disabled. You might also have different rules for an
external mouse.
Richard
----
/etc/udev/rules.d/10-local.rules
----
#Here are my rules, on mandriva 2009.0. Your specific values may differ.
#First, identify the devices. cat /dev/input/mouseX and cat
/dev/input/eventX while moving the devices
#Second, find a relevant udev rule. Pick one stanza only for
identification. udevinfo -a -n /dev/input/mouseX
#Third, write the rule here. Remember use "==" to match attributes, and
"=" to define attributes.
#Fourth: run udevcontrol reload_rules; udevtrigger to make it update,
then test. (if inotify is enabled, the udevcontrol reload_rules may be
omitted)
#Fifth, use the symlink in xorg.conf
#See http://reactivated.net/writing_udev_rules.html for an excellent
explanation of udev rules
#Be careful: the touchpad and trackpoint have very similar attributes.
#PS/2 mouse (usually /dev/input/mouse1)
#Symlink as /dev/input/ps2mouse
KERNEL=="mouse*", DRIVERS=="psmouse", ATTRS{description}=="i8042 AUX
port", NAME="input/%k", SYMLINK="input/ps2mouse"
#Trackpoint (usually /dev/input/mouse4)
#Symlink as /dev/input/trackpoint
KERNEL=="mouse*", SUBSYSTEM=="input", ATTRS{bInterfaceProtocol}=="02",
ATTRS{bInterfaceSubClass}=="01", ATTRS{bInterfaceClass}=="03",
ATTRS{bInterfaceNumber}=="01", NAME="input/%k", SYMLINK="input/trackpoint"
#Synaptics touchpad (in mouse mode) (usually /dev/input/mouse3)
#Symlink as /dev/input/synaptics-mouse
KERNEL=="mouse*", SUBSYSTEM=="input", ATTRS{interface}=="Rel",
ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceSubClass}=="01",
ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceNumber}=="00",
NAME="input/%k", SYMLINK="input/synaptics-mouse"
#Synaptics touchpad (in event mode) (usually /dev/input/event8). This
isn't really very useful.
#Symlink as /dev/input/synaptics-event
KERNEL=="event*", SUBSYSTEM=="input", ATTRS{interface}=="Rel",
ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceSubClass}=="01",
ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceNumber}=="00",
NAME="input/%k", SYMLINK="input/synaptics-event"
#Synaptics touchpad (in event mode, with the synaptics-usb driver)
(usually /dev/input/event8).
#See http://www.jan-steinhoff.de/linux/synaptics-usb.html
#Symlink as /dev/input/synaptics-usb
KERNEL=="event*", SUBSYSTEM=="input", DRIVERS=="synaptics-usb",
ATTRS{interface}=="Abs", ATTRS{bInterfaceProtocol}=="00",
ATTRS{bInterfaceSubClass}=="00", ATTRS{bInterfaceClass}=="00",
ATTRS{bInterfaceNumber}=="00", NAME="input/%k",
SYMLINK="input/synaptics-usb"
#My new USB mouse (usually /dev/input/mouse2)
#Symlink as /dev/input/oczmouse
KERNEL=="mouse*", DRIVERS=="usb", ATTRS{product}=="PS/2+USB Mouse",
ATTRS{manufacturer}=="A4Tech", NAME="input/%k", SYMLINK="input/oczmouse"
---
xorg.conf fragment
---
Section "ServerLayout"
Identifier "layout1"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard1" "CoreKeyboard"
# InputDevice "ps2mouse" "CorePointer"
InputDevice "oczmouse" "CorePointer"
InputDevice "trackpoint" "SendCoreEvents"
# InputDevice "synaptics-mouse" "SendCoreEvents" #As a simple mouse.
Pick one or the other.
InputDevice "synaptics-usb" "SendCoreEvents" #Via the
synaptics-usb driver.
#InputDevice "wizardpen" "SendCoreEvents" #Currently causes crashes -
make sure to re-compile for the current version of X.
EndSection
#This is the ordinary PS/2 mouse. It has 3 buttons + wheel, and works as
normal. (middle-btn-drag is possible in xfig)
#Section "InputDevice"
# Identifier "ps2mouse"
# Driver "mouse"
# Option "Protocol" "ExplorerPS/2"
# Option "Device" "/dev/input/ps2mouse"
#EndSection
#This is the ordinary USB (OCZ) mouse. It has 3 buttons + wheel, and
works as normal. (middle-btn-drag is possible in xfig)
Section "InputDevice"
Identifier "oczmouse"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/input/oczmouse"
EndSection
#This is the trackpoint. The middle button can be tap-to-paste, OR drag
to emulate horiz and vert wheels. (Can't middle-drag though).
Section "InputDevice"
Identifier "trackpoint"
Driver "mouse"
Option "Device" "/dev/input/trackpoint"
Option "Protocol" "ExplorerPS/2"
# Option "Emulate3Buttons" "true" #Useful sometimes, but not when the
3 buttons are in a row.
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "EmulateWheelTimeout" "200"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
# Option "ZAxisMapping" "10 11" #Sometimes necessary.
EndSection
#Synaptics as mouse. (in mouse mode). Disabled deliberately.
#Section "InputDevice"
# Identifier "synaptics-mouse"
# Driver "mouse"
# Option "Device" "/dev/input/synaptics-mouse"
# Option "Protocol" "ExplorerPS/2"
# Option "ZAxisMapping" "6 7"
#EndSection
#Alternative: use touchpad for scroll. Double-tap it, then drag =>
Hor/Vert scroll.
#1) The synaptics hardware defaults to thinking that double-click+move
means click+drag.
#2) The use of EmulateWheel on button 1 makes this into an emulated scroll.
#Section "InputDevice"
# Identifier "synaptics-mouse"
# Driver "mouse"
# Option "Device" "/dev/input/synaptics-mouse"
# Option "Protocol" "ExplorerPS/2"
# Option "EmulateWheel" "on"
# Option "EmulateWheelButton" "1"
# Option "EmulateWheelTimeout" "0"
# Option "XAxisMapping" "6 7"
# Option "YAxisMapping" "4 5"
# # Option "ZAxisMapping" "10 11" Sometimes necessary.
#EndSection
#Synaptics in normal (event) mode, via the synaptics-usb driver. See
http://www.jan-steinhoff.de/linux/synaptics-usb.html Also, remember to
do: synaptics-usb-rebind to_synaptics-usb
Section "InputDevice"
Identifier "synaptics-usb"
Driver "synaptics"
Option "Device" "/dev/input/synaptics-event"
Option "Protocol" "auto-dev" #Will override the Device setting anyway.
Option "ZAxisMapping" "6 7"
Option "SHMConfig" "true"
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
Option "BottomEdge" "650"
Option "FingerLow" "14"
Option "FingerHigh" "15"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option "EmulateMidButtonTime" "75"
Option "VertScrollDelta" "20"
Option "HorizScrollDelta" "20"
Option "MinSpeed" "0.3"
Option "MaxSpeed" "0.75"
Option "AccelFactor" "0.015"
Option "EdgeMotionMinSpeed" "200"
Option "EdgeMotionMaxSpeed" "200"
Option "UpDownScrolling" "1"
Option "CircularScrolling" "1"
Option "CircScrollDelta" "0.1"
Option "CircScrollTrigger" "2"
Option "GuestMouseOff" "0"
Option "SHMConfig" "on" #For Kcontrol's config.
EndSection
On 03/07/10 12:01, August Lilleaas wrote:
> Here's the keyboard:
> http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?GroupID=38&Code=55Y9003¤t-category-id=E9ADAEB6787146E29B78400A33E7FE8A
> <http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?GroupID=38&Code=55Y9003¤t-category-id=E9ADAEB6787146E29B78400A33E7FE8A>
>
> <http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?GroupID=38&Code=55Y9003¤t-category-id=E9ADAEB6787146E29B78400A33E7FE8A>I
> would like to use it on my PC running Linux. Does it require special
> windows only software, being both a mouse and a keyboard? Or perhaps it
> appears as a USB hub with a mouse and a keyboard attached to it? Or
> something else?
>
> --
> August Lilleaas