Disabling touchpad on Dell Latitude with XFCE

Rick Stevens ricks at nerd.com
Fri Nov 11 23:05:09 UTC 2011


On 11/11/2011 02:16 PM, Darlene Wallach wrote:
> Rick,
> 
> My name is Darlene Wallach.
> 
> On Mon, Nov 7, 2011 at 5:39 PM, Rick Stevens <ricks at nerd.com> wrote:
> 
>> On 11/07/2011 03:32 PM, suvayu ali wrote:
>>> Hello Oliver,
>>>
>>> On Mon, Nov 7, 2011 at 23:45, Oliver Ruebenacker <curoli at gmail.com>
>> wrote:
>>>> I got a new Dell Latitude laptop with a touchpad and installed a
>>>> fresh F15-XFCE. The computer is difficult to use, because it is almost
>>>> impossible to type anything without touching the touchpad, and the
>>>> slightest touch will result in a unwanted and sometimes disastrous
>>>> mouse click (in contrast with the mouse keys, which need to be pressed
>>>> rather forcefully).
>>>
>>> I am not sure the gpointing-device-settings utility works any more. But
>>> to disable "double tap to click", you can try this in a terminal.
>>>
>>> $ synclient TapButton1=0
>>>
>>> To get a list of all the options just type synclient.
>>>
>>> To execute this everytime you login to XFCE put it in
>>> ~/.config/xfce4/xinitrc as a shell script.
>>>
>>> $ cat ~/.config/xfce4/xinitrc
>>> #!/bin/sh
>>> synclient TapButton1=0
>>>
>>> Hope this helps.
>>
> 
> 
> I have a LinuxCertified laptop.
> 
> 
>>
>> May not, as not all Dells use a Synaptics touchpad.  My Dell Inspiron
>> N7110 doesn't.  So, here's what I did:
>>
>> 1. Create "/usr/local/bin/flipdelltouchpad" containing the following
>> shell script:
>> ------------------------------ CUT HERE -----------------------------
>> #!/bin/bash
>> touchpadString="PS/2 Generic Mouse"
>> touchpadID=$(xinput list | grep "$touchpadString" | awk -F " " '{print
>> $6}' | awk -F "=" '{print $2}')
>> touchpadEnabled=$(xinput list-props $touchpadID | grep "Device Enabled"
>> | awk -F ":" '{print $2}')
>>
>> # Check for arguments on the command line
>> if [ $# -eq 1 ]; then                   # Any arguments?
>>    arg1=$(echo $1 | tr [:upper:] [:lower:])
>>                                        # Yes, convert to lower case
>>    cliArg=1                            # Set flag that we have one
>> else                                    # There is no argument.
>>    cliArg=0                            # Clear flag
>> fi
>>
>> if [ $cliArg -eq 1 ]; then              # Did we get an argument?
>>    if [ $arg1 = 'on' ]; then           # Yes, was it "on"?
>>        xinput --set-prop $touchpadID "Device Enabled" 1
>>                                        # Yes, enable the touchpad
>>    elif [ $arg1 = 'off' ]; then        # No, was it "off"?
>>        xinput --set-prop $touchpadID "Device Enabled" 0
>>                                        # Yes, disable the touchpad
>>    else                                # None of the above, so...
>>        sleep 1                         # ...sleep one second, exit
>>    fi
>>
>> else                                    # No argument, toggle state
>>    if [ $touchpadEnabled -eq 1 ]; then # Enabled now?
>>        xinput --set-prop $touchpadID "Device Enabled" 0
>>                                        # Yes, so disable it
>>    else                                # Must be disabled, so...
>>        xinput --set-prop $touchpadID "Device Enabled" 1
>>                                        # ...enable it
>>    fi
>> fi
>> ------------------------------ CUT HERE -----------------------------
>> (code borrowed from Brendan Dugan, give props where they're due).
>>
>> 2. Save the file and chmod it 755 so it can be executed.
>>
>> 3. Go into Applications->Keyboard and select the "Application Shortcuts"
>> tab.
>>
>> 4. Add a new keystroke (I used Fn-F3 which will toggle the touchpad on
>> and off under Winblows but is ignored in Xfce) and tell it to run that
>> /usr/local/bin/dellfliptouchpad script when that key is hit.
>>
>> Then, when you hold down "Fn" and press "F3", the touchpad will toggle
>> on and off.  The script also supports passing in an argument, too, so
>>
>>        /usr/local/bin/flipdelltouchpad on
>>
>> will enable the touchpad and
>>
>>        /usr/local/bin/flipdelltouchpad off
>>
>> will disable it.
>>
> 
> 
> I couldn't get the keyboard short cut to work but the cli works *great*!
> Thank you very much for the script. I've been trying to disable my touchpad
> since I bought the laptop. My old laptop actually had a button that
> disabled the touchpad.
> 
> 
> 
>>
>> Note that on my Inspiron this does not turn the LED on and off, but
>> that's a small price to pay.  I'll sort that out sometime, but for
>> now I'm happy.
>>
> 
> I'm very happy to be able to disable my touchpad as I use a USB mouse.
> 
> Thank you very much!

Glad to help, Darlene.  There's probably a button or a keystroke on your
machine that disables the touchpad.  My old HP had a separate button as
your old machine did.  This Dell requires you to hold down
the key with the orange "Fn" logo, then press the F3 key (which has an
orange graphic of the touchpad with an "X" through it on the key).

If you can find that magic widget, it MAY be available to the GUI.  The
only way to find out is to run xev, put your mouse pointer in the
window that xev opens and press the button/keystroke/whatever.  If you
get events, you should be able to capture those in the keyboard
shortcut thing to do the toggle.

Here's a sample event I get with the "Fn-F3" keypress:

KeymapNotify event, serial 35, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Yours will undoubtedly differ, but the important thing is the event
itself.  If you get events, the shortcut trick should work.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, C2 Hosting          ricks at nerd.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-                       When in doubt, mumble.                       -
----------------------------------------------------------------------


More information about the users mailing list