Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Sort-of-solved: Unable to disable laptop touchpad in Jessie

Graphical Environments, Managers, Multimedia & Desktop questions.
Post Reply
Message
Author
User avatar
gurfle
Posts: 377
Joined: 2009-06-04 02:08
Location: Seattle, Washington, US

Sort-of-solved: Unable to disable laptop touchpad in Jessie

#1 Post by gurfle »

I have tried to use the extensions toggle-touchpad and touchpad-indicator that claim to be able to do this, but neither will load properly. They show up with a little exclamation-point-triangle in the "Tweaks" panel saying "Error loading extension". Anybody with a Jessie gnome system succeeded in getting their touchpad disabled via a simpe toggle mechanism?
Last edited by gurfle on 2015-07-01 03:28, edited 2 times in total.

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 133 times

Re: Unable to disable laptop touchpad in Jessie gnome 3.14

#2 Post by Head_on_a_Stick »

Bind a key to:

Code: Select all

synclient TouchPadOff=1
Bind another key to:

Code: Select all

synclient TouchPadOff=0
deadbang

User avatar
gurfle
Posts: 377
Joined: 2009-06-04 02:08
Location: Seattle, Washington, US

Re: Unable to disable laptop touchpad in Jessie gnome 3.14

#3 Post by gurfle »

Hmmm . . . testing from the command line, TouchpadOff synclient parameter always reverts back to 2 within a second:

Code: Select all

nick@debaway:~$ synclient TouchpadOff=1
nick@debaway:~$ synclient -l | grep TouchpadOff
    TouchpadOff             = 1
nick@debaway:~$ synclient -l | grep TouchpadOff
    TouchpadOff             = 1
nick@debaway:~$ synclient -l | grep TouchpadOff
    TouchpadOff             = 2
nick@debaway:~$ 
and of course touchpad remains active (same effect with setting = 0). Any more ideas? I cannot find any documentation that helps me solve this seemingly basic problem :(

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 133 times

Re: Unable to disable laptop touchpad in Jessie gnome 3.14

#4 Post by Head_on_a_Stick »

gurfle wrote:Hmmm . . . testing from the command line, TouchpadOff synclient parameter always reverts back to 2 within a second
Bloody GNOME... :x

Try this:

Code: Select all

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
EDIT: No, that probably won't work (sorry, I've got rid of my GNOME desktop so I can't check).

Open dconf-editor and see if you can find anything in org.gnome.desktop.peripherals
deadbang

User avatar
gurfle
Posts: 377
Joined: 2009-06-04 02:08
Location: Seattle, Washington, US

[Solved]: Unable to disable laptop touchpad in Jessie gnome

#5 Post by gurfle »

Nothing in dconf-editor, but . . .your other suggestion got me on to the solution:

Turns out this script does the job:

Code: Select all

SchemaKeyForTouchpad="org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled"
oldtouchpad=`gsettings list-recursively | grep "$SchemaKeyForTouchpad" | cut -d" " -f3`
oldtouchpad=`echo $oldtouchpad | cut -d" " -f 1`
newtouchpad=true
OldStatus=disabled
NewStatus=enabled
if [ $oldtouchpad = true ]
then
  newtouchpad=false
  OldStatus=enabled
  NewStatus=disabled
fi
gsettings set $SchemaKeyForTouchpad $newtouchpad
echo Tochpad $NewStatus
Almost the same one I had for Wheezy, however, there is something very strange with 'gsettings list-recursively':

Every line is listed twice, which is why I had to insert the second line in the script.
Is that expected, a gnome 3.14 bug, or a result of corruption in my setup? :?

Wow!!! This has not been easy, but at least there is a soloution now :D

Cheers, Nick

User avatar
gurfle
Posts: 377
Joined: 2009-06-04 02:08
Location: Seattle, Washington, US

Re: Unable to disable laptop touchpad in Jessie gnome 3.14

#6 Post by gurfle »

Oops! I spoke too soon: The script does not work for toggling as intended and it did in Wheezy: It disables the touchpad, but then won't re-anable it because 'gsettings list-recursively' does not show the touchpad as disabled.

ARRGH!!! :mrgreen: I hope I can re-enable the touchpad somehow, at least via a reboot :roll:

EDIT: At least a simple logout/login restores the touchpad, so the script can be the basis for somewhat of a solution to my need of disabling the touchpad whenever it starts to get in the way of my use of the keyboard. Touchpad itself is only rarely used, and then only after a power-up on the road, so this kludge will serve for now.

This does appears to have reaveled a variety of not-too-good gnome-related bugs that would seem urgently in need of fixing. The ability to control touchpad is pretty fundamantal, and I don't like that it has fallen through the cracks like this.

Thanks for all the tips that prompted further investigation to reveal a sort-of solution. ]\[

User avatar
gurfle
Posts: 377
Joined: 2009-06-04 02:08
Location: Seattle, Washington, US

Re: Sort-of-solved: Unable to disable laptop touchpad in Jes

#7 Post by gurfle »

OK . . . after a full year of ignoring this stupid bug, a few more hours of fiddling around recently yielded this strange solution that actually does a complete toggle:

Add these lines to the script posted above:

Code: Select all

if [ $oldtouchpad == true ] #  Unbelievable, but truely needed to allow reenabling at next toggle !!!
then
 sleep 1
 gsettings set $SchemaKeyForTouchpad false
fi
i.e. sleep 1 second (yes this is necessary), then redo gesettings to turn toggleing off again ?!?!?!?

If anyone needs it, here is the full working script:

Code: Select all

SchemaKeyForTouchpad="org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled"
oldtouchpad=`gsettings list-recursively | grep "$SchemaKeyForTouchpad" | cut -d" " -f3`
oldtouchpad=`echo $oldtouchpad | cut -d" " -f 1`
newtouchpad=true
OldStatus=disabled
NewStatus=enabled
if [ $oldtouchpad == true ]
then
  newtouchpad=false
  OldStatus=enabled
  NewStatus=disabled
fi
gsettings set $SchemaKeyForTouchpad $newtouchpad
if [ $oldtouchpad == true ] #  Unbelievable, but truely needed to allow reenabling at next toggle !!!
then
 sleep 1
 gsettings set $SchemaKeyForTouchpad false
fi
echo Touchpad $NewStatus

Post Reply