Synaptics Touchpad recognized as ImPS/2 Logitech Wheel Mouse

3 replies [Last post]
prvteprts

I am a member!

Offline
Joined: 09/30/2010

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!

BinaryDigit
Offline
Joined: 11/30/2010

" .... 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/

prvteprts

I am a member!

Offline
Joined: 09/30/2010

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".

prvteprts

I am a member!

Offline
Joined: 09/30/2010

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.