Disabling touchpad on Dell Latitude with XFCE

Rick Stevens ricks at nerd.com
Thu Nov 10 01:12:42 UTC 2011


On 11/09/2011 04:40 PM, Oliver Ruebenacker wrote:
>      Hello,
> 
> On Mon, Nov 7, 2011 at 8: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.
>>
>> 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.
>>
>> 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.
> 
>   Does that turn off all mouse function? I could make friends with
> disabling the touchpad forever, but I would like to keep the mouse
> stick (or whatever that little nob on my keyboard is called that moves
> the mouse cursor if you push it).

No, it just disables the touchpad scroll surface itself.  It doesn't
disable the mouse buttons on the touchpad or disable an external (e.g.
USB) mouse.  I use it all the time with a wireless mouse.

>   I have a Dell Latitude E6520. Ironically, I can't open the list of
> specs from the Dell website in Firefox to find out what kind of
> touchpad I have.

It's probably what I have.  The script above should work regardless
of which touchpad you have since it pokes the X driver for the built-in
device, not the kernel driver.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, C2 Hosting          ricks at nerd.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-         The Navy's a bunch of wimps!  MY job's an adventure!       -
----------------------------------------------------------------------


More information about the users mailing list