Disabling touchpad on Dell Latitude with XFCE

Oliver Ruebenacker curoli at gmail.com
Thu Nov 10 01:32:18 UTC 2011


On Wed, Nov 9, 2011 at 8:12 PM, Rick Stevens <ricks at nerd.com> wrote:
> 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.

  What about the internal pointing stick? My system does not realize
there are two internal pointing devices, which I suppose makes it hard
to disable only one of them.

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

  I now found that apparently, I have a MultiTouch touchpad. Dell even
offers a driver for that for Ubuntu, as a gzipped tarball. I suppose
all I need is a MutliTouch driver for F15. I already found one for
F13, but it conflicts with my system.

  Ironic, of course, to install a driver for a piece of hardware in
order to avoid using it.

     Take care

Oliver Ruebenacker, Computational Cell Biologist
Virtual Cell (http://vcell.org)
SBPAX: Turning Bio Knowledge into Math Models (http://www.sbpax.org)

More information about the users mailing list