Synaptics Touchpad recognized as ImPS/2 Logitech Wheel Mouse
I've got this new Asus K42F-VX138 laptop, which works great out of the box with Taranis. The info I already posted at http://www.h-node.com/notebooks/view/en/228/K42F-VX138 .
Unlike my old laptop, this one doesn't have a hardware off switch for the touchpad. Pressing Fn+F9 doesn't work, which is a bit odd because it's the only "standard" Fn key which doesn't work. After quite a bit of research, it looks like it's because the touchpad is recognized as a mouse instead of a touchpad. The following is a partial result of
cat /proc/bus/input/devices
:
I: Bus=0011 Vendor=0002 Product=0005 Version=0063 N: Name="ImPS/2 Logitech Wheel Mouse" P: Phys=isa0060/serio4/input0 S: Sysfs=/devices/platform/i8042/serio4/input/input11 U: Uniq= H: Handlers=mouse2 event11 B: EV=7 B: KEY=70000 0 0 0 0 0 0 0 0 B: REL=103 I: Bus=0017 Vendor=0001 Product=0001 Version=0100 N: Name="Macintosh mouse button emulation" P: Phys= S: Sysfs=/devices/virtual/input/input4 U: Uniq= H: Handlers=mouse0 event4 B: EV=7 B: KEY=70000 0 0 0 0 0 0 0 0 B: REL=3
By the way, the touchpad works fine with multitouch functionality (minus side-scrolling). I'm not sure if the Macintosh mouse button emulation is relevant, though.
syndaemon
doesn't work, even as root, and outputs the message "Unable to find a synaptics device." . tpconfig
gives me "Could not open PS/2 Port [/dev/psaux]." , but sudo tpconfig
outputs:
Found Synaptics Touchpad. Firmware: 8.96 (multiple-byte mode).
I can disable the touchpad from BIOS, but what I really need is a quick way to disable the touchpad without having to logout or reboot. The second, less preferable option is to disable the touchpad temporarily as I am typing, or disabling tap-to-click. I've tried other solutions: keytouch, touchfreeze, editing peripherals from gconf-editor, all to no avail. Any help would be greatly appreciated. Thanks!
" .... what I really need is a quick way to disable the touchpad without having to logout or reboot."
I was looking for this for my laptop as well. I found a utility that does just that its called Gsynaptics. It's now known as Gpointing Device Settings. Its available from the Synaptic Package Manager. Just search for Gpointing.
Old Gsynaptics package: http://gsynaptics.sourceforge.jp/
I have already installed gpointing-device-settings. Whenever I run that though, it still lists ImPS/2 Logitech Wheel Mouse instead of a touchpad. I think that is the main problem.
I also installed gsynaptics, but when I run it, I get the error:
GSynaptics couldn't initialize. You have to set 'SHMConfig' 'true' in xorg.conf or XF86Config to use GSynaptics
I created an xorg.conf file:
Section "Module" Load "synaptics" EndSection Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/input/event11" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" Option "SHMConfig" "true" EndSection
There seems to be no effect even if I change the device to "/dev/input/mouse2".
I discovered a small fix for this, which suits my need of having a way to quickly disable the touchpad. Basically, here are the shell commands to accomplish this.
Enable:
xinput set-int-prop "ImPS/2 Logitech Wheel Mouse" "Device Enabled" 8 1
Disable:
xinput set-int-prop "ImPS/2 Logitech Wheel Mouse" "Device Enabled" 8 0
Check status:
xinput list-props "ImPS/2 Logitech Wheel Mouse"
The following is a small bash script "toggletpad.sh" I wrote to act as a toggle switch. I suck at bash programming, so please don't hesitate to send me an improved version, if possible.
toggletpad.sh:
#!/bin/bash # Filename: toggletpad.sh # Custom script written by Gian to toggle enable or disable the touchpad. Written for Trisquel 4.1 Taranis installation on an ASUS K42F-VX138 laptop. CHKDVCENBLD=$(xinput list-props "ImPS/2 Logitech Wheel Mouse" | grep -i "Device Enabled".*1$) # Check if device enabled; if statement could be improved if [ "$CHKDVCENBLD" > "Device Enabled" ]; then DVCSTAT="Disabled" DVCFLAG=0 ICON="touchpad-disabled" else DVCSTAT="Enabled" DVCFLAG=1 ICON="touchpad-enabled" fi # Enable/disable the device and send a notification xinput set-int-prop "ImPS/2 Logitech Wheel Mouse" "Device Enabled" 8 $DVCFLAG && notify-send "Touchpad" "Fn+Right to enable/disable" -i $ICON -h string:x-canonical-private-synchronous: # if statement outputs a file called "Device Enabled" (output redirection?) which isn't intended, so remove the file rm Device\ Enabled
When run, the script sends a notification using notify-send. I put a copy of the script in /bin/ and bound the script to Fn+Right using a program called keyTouch, which is available in the repository. The script also runs automatically upon logging-in.
One limitation is if I switch to tty using Alt+F1 and back to graphical mode, all the xinput devices get a restart, and therefore, the touchpad gets enabled again. I'm quite satisfied with this, though, but suggestions are welcome. Hope this becomes useful to someone else.