Bug 266909

Summary: touchpad disable status not remembered
Product: [Applications] systemsettings Reporter: whatmeurgent <whatmeurgent>
Component: kcm_touchpadAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED WORKSFORME    
Severity: normal CC: denis.kot, droserasprout.ext, nate, rajeeshknambiar, retratserif, sanslar.com, whatmeurgent, zeirison
Priority: NOR    
Version: 5.17.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description whatmeurgent 2011-02-22 19:18:11 UTC
Version:           unspecified (using KDE 4.6.0) 
OS:                Linux

Preface: I am listing this as a kcm_mouse issue because I did not find a module for touchpad.

Scenario:
1] System settings > input devices > touchpad. turn it off, apply the change and exit.
2] return to the same module. It lists touchpad as on.

In my particular case, I needed the touchpad temporarily off while doing alot of typing. In order to re-enable the touchpad I used my keyboard to navigate to the touchpad page, and then found myself having to first --- turn OFF --- the touchpad (even though it was already off), apply the change, then turn it on.

Reproducible: Always

Steps to Reproduce:
1] System settings > input devices > touchpad. turn it off, apply the change. And the important step, exit the system settings.
2] return to the same module. It lists touchpad as on.


Actual Results:  
The touchpad is, incorrectly listed as functional (on)

Expected Results:  
The touchpad status should be accurately reflected by the setting of the radio buttons on/off
Comment 1 Denis 2011-02-28 15:33:25 UTC
I have same problem. Moreover, touchpad turning on each time after wake up from stand-by (when lid is closed). Each time after I open lid I have to go to System settings and turn touchpad off.
Comment 2 whatmeurgent 2011-03-04 00:18:13 UTC
You may remember responding to the bug I submitted to KDE regarding touchpad (de)activation; my frustration with the bug motivated me to script a keybinding to toggle the touchpad status. As a courtesy, I'm sharing. It's tested under Kubuntu 10.10, fully updated.

I want to suggest that KDE make something like this a default feature.

To implement this:

01] Navigate to system settings > shortcuts and gestures > Custom Shortcuts
02] Right-click on Personal, select New > Global Shortcut > Command / URL
03] Enter a name for your new keybinding (eg, Touchpad toggle )
04] Review / accept / edit a version of the code snippeys below
05] Paste into the Action tab
06] Select the trigger tab
07] Select your desired keybinding (the snippets below are set for ctrl+alt+z)
08] Select the Comment tab
09] Enter your comment
    (eg. Toggles touchpad on/off and sends a desktop notification (at least versions 2 and 3 do)
10] Apply (alt-a, or  button on lower right hand corner of window)

GENERAL NOTE: I'm a beginner bash scripter and a kde newbie, so if you have any tips how to make these snippets more elegant, let me know;

TOUCHPAD STATES: These snippets toggle between on and off states, but there is at least one other state (code 2) for a functional touchpad, but without tapping support. The snippets will interpret that and any other state as ENABLED, but will not remember that original state, and will toggle back to regualr ENABLED. If you want your default enabled state to be "code 2", do the following: for version 1 of the snippet, change the one instance of 0 to 2; for version 2 of the snippet, change two instances of "0" to "2".

DEFAULT KEYBINDING: Set mindlessly for now to ctrl-alt-z. Didn't immediately conflict with anything; open to suggestions for changes. If you want a different keybinding go ahead, just if you also want to use one of the notification snippets below (version 2 or 3), remember to change the notification text accordingly. This would be a bug if made a part of kde because the snippet doesn't read the actual keybinding and put it into notification message -- I don't know how it could do that.

NOTIFICATION LOUDNESS: Set without too much thought to dominate the user's attention; easily made less intrusive or standards-compliant by tweaking the html tags.

HTML CODING: Tags intentionally left open to reduce code size. Sorry.

NOTIFICATION DURATION: Set to be asymteric; longer when disabling the touchpad to give the user more time to read the keybinding to undo a possibly mistaken keypress.

NOTIFICATION ICON: Of what I found in the icons directories, input-tablet seemed most appropriate. There are also "object-locked" and "object-unlocked" in the 48x48/status directory, but in my opinion they are not sufficiently distinguishable (the unlocked should have its U-loop swung wide).

ICON SIZE: Couldn't figure out how to use the -i option to make the icon appear any larger in the notification box. Well, short of going out and getting a new eyeglass prescription, I suppose. Version 3 uses an html image tag to louder effect.

NOTIFICATION STANDARD: I played with the -c and -h options, to no effect; For all I know, they might not even be implemented in kde, and may be removed. The man page refers to a url describing the proposed standard.

WHAT AM I USING ?: version 1, no notification. Hope the others are useful to others.


Snippet Version 1: no notification
==================================

[ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && synclient TouchpadOff=0 || synclient TouchpadOff=1

Snippet Version 2: with quiet notification
==========================================

[ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && state="0" || state="1"; synclient TouchpadOff="$state"; [ "$state" = "0" ] && state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500 || delay=5000; notify-send -t $delay -i input-tablet -c "device" -h string:"category":"device" " Touchpad status changed:&nbsp;&nbsp;&nbsp;<font size=+1><b>$state</b><br>to re-enable, press:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=+1>Ctrl + Alt + z"


Snippet Version 3: with loud notification
=========================================
[ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && state="0" || state="1"; synclient TouchpadOff="$state"; [ "$state" = "0" ] && state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500 || delay=5000; notify-send -t $delay -c "device" -h string:"category":"device" "<img src=/usr/share/icons/oxygen/64x64/devices/input-tablet.png align=left></img><font size=+3>Touchpad status change:<br><b>$state</b><br><font size=+1>to re-enable, press:<font size=+3>Ctrl + Alt + z"


EOF
Comment 3 whatmeurgent 2011-03-04 18:51:17 UTC
Snippet Version 1, improved versions: no notification
=====================================================
synclient -l | grep -q "TouchpadOff *= 1" && synclient TouchpadOff=0 || synclient TouchpadOff=1  

Snippet Version 2: improved, with quiet notification
====================================================

synclient -l | grep -q "TouchpadOff *= 1" && state="0" || state="1"; synclient TouchpadOff=$state; [ "$state" = "0" ] && state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500 || delay=5000; notify-send -t $delay -i input-tablet -c "device" -h string:"category":"device" " Touchpad status changed:&nbsp;&nbsp;&nbsp;<font size=+1><b>$state</b><br>to restore status, press:&nbsp;&nbsp;&nbsp;<font size=+1>Ctrl + Alt + Z"

Snippet Version 3: improved, with loud notification
===================================================
synclient -l | grep -q "TouchpadOff *= 1" && state="0" || state="1"; synclient TouchpadOff=$state; [ "$state" = "0" ] && state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500 || delay=5000; notify-send -t $delay -c "device" -h string:"category":"device" "<img src=/usr/share/icons/oxygen/64x64/devices/input-tablet.png align=left></img><font size=+3>Touchpad status change:<br><b>$state</b><br><font size=+1>to restore status, press: <font size=+2><b>Ctrl + Alt + Z"
Comment 4 Pyroman 2016-05-29 14:55:38 UTC
Same problem in 5.6, Kubuntu. Have to reenable this option everytime after logging in.
Comment 5 Ruslan 2016-06-12 09:09:42 UTC
(In reply to whatmeurgent from comment #0)
> Version:           unspecified (using KDE 4.6.0) 
> OS:                Linux
> 
> Preface: I am listing this as a kcm_mouse issue because I did not find a
> module for touchpad.
> 
> Scenario:
> 1] System settings > input devices > touchpad. turn it off, apply the change
> and exit.
> 2] return to the same module. It lists touchpad as on.
> 
> In my particular case, I needed the touchpad temporarily off while doing
> alot of typing. In order to re-enable the touchpad I used my keyboard to
> navigate to the touchpad page, and then found myself having to first ---
> turn OFF --- the touchpad (even though it was already off), apply the
> change, then turn it on.
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1] System settings > input devices > touchpad. turn it off, apply the
> change. And the important step, exit the system settings.
> 2] return to the same module. It lists touchpad as on.
> 
> 
> Actual Results:  
> The touchpad is, incorrectly listed as functional (on)
> 
> Expected Results:  
> The touchpad status should be accurately reflected by the setting of the
> radio buttons on/off

(In reply to whatmeurgent from comment #2)
> You may remember responding to the bug I submitted to KDE regarding touchpad
> (de)activation; my frustration with the bug motivated me to script a
> keybinding to toggle the touchpad status. As a courtesy, I'm sharing. It's
> tested under Kubuntu 10.10, fully updated.
> 
> I want to suggest that KDE make something like this a default feature.
> 
> To implement this:
> 
> 01] Navigate to system settings > shortcuts and gestures > Custom Shortcuts
> 02] Right-click on Personal, select New > Global Shortcut > Command / URL
> 03] Enter a name for your new keybinding (eg, Touchpad toggle )
> 04] Review / accept / edit a version of the code snippeys below
> 05] Paste into the Action tab
> 06] Select the trigger tab
> 07] Select your desired keybinding (the snippets below are set for
> ctrl+alt+z)
> 08] Select the Comment tab
> 09] Enter your comment
>     (eg. Toggles touchpad on/off and sends a desktop notification (at least
> versions 2 and 3 do)
> 10] Apply (alt-a, or  button on lower right hand corner of window)
> 
> GENERAL NOTE: I'm a beginner bash scripter and a kde newbie, so if you have
> any tips how to make these snippets more elegant, let me know;
> 
> TOUCHPAD STATES: These snippets toggle between on and off states, but there
> is at least one other state (code 2) for a functional touchpad, but without
> tapping support. The snippets will interpret that and any other state as
> ENABLED, but will not remember that original state, and will toggle back to
> regualr ENABLED. If you want your default enabled state to be "code 2", do
> the following: for version 1 of the snippet, change the one instance of 0 to
> 2; for version 2 of the snippet, change two instances of "0" to "2".
> 
> DEFAULT KEYBINDING: Set mindlessly for now to ctrl-alt-z. Didn't immediately
> conflict with anything; open to suggestions for changes. If you want a
> different keybinding go ahead, just if you also want to use one of the
> notification snippets below (version 2 or 3), remember to change the
> notification text accordingly. This would be a bug if made a part of kde
> because the snippet doesn't read the actual keybinding and put it into
> notification message -- I don't know how it could do that.
> 
> NOTIFICATION LOUDNESS: Set without too much thought to dominate the user's
> attention; easily made less intrusive or standards-compliant by tweaking the
> html tags.
> 
> HTML CODING: Tags intentionally left open to reduce code size. Sorry.
> 
> NOTIFICATION DURATION: Set to be asymteric; longer when disabling the
> touchpad to give the user more time to read the keybinding to undo a
> possibly mistaken keypress.
> 
> NOTIFICATION ICON: Of what I found in the icons directories, input-tablet
> seemed most appropriate. There are also "object-locked" and
> "object-unlocked" in the 48x48/status directory, but in my opinion they are
> not sufficiently distinguishable (the unlocked should have its U-loop swung
> wide).
> 
> ICON SIZE: Couldn't figure out how to use the -i option to make the icon
> appear any larger in the notification box. Well, short of going out and
> getting a new eyeglass prescription, I suppose. Version 3 uses an html image
> tag to louder effect.
> 
> NOTIFICATION STANDARD: I played with the -c and -h options, to no effect;
> For all I know, they might not even be implemented in kde, and may be
> removed. The man page refers to a url describing the proposed standard.
> 
> WHAT AM I USING ?: version 1, no notification. Hope the others are useful to
> others.
> 
> 
> Snippet Version 1: no notification
> ==================================
> 
> [ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && synclient
> TouchpadOff=0 || synclient TouchpadOff=1
> 
> Snippet Version 2: with quiet notification
> ==========================================
> 
> [ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && state="0" ||
> state="1"; synclient TouchpadOff="$state"; [ "$state" = "0" ] &&
> state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500
> || delay=5000; notify-send -t $delay -i input-tablet -c "device" -h
> string:"category":"device" " Touchpad status changed:&nbsp;&nbsp;&nbsp;<font
> size=+1><b>$state</b><br>to re-enable,
> press:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=+1>Ctrl + Alt + z"
> 
> 
> Snippet Version 3: with loud notification
> =========================================
> [ "$( synclient -l | grep TouchpadOff | grep -o 1 )" = "1" ] && state="0" ||
> state="1"; synclient TouchpadOff="$state"; [ "$state" = "0" ] &&
> state="Enabled" || state="Disabled"; [ "$state" = "Enabled" ] && delay=500
> || delay=5000; notify-send -t $delay -c "device" -h
> string:"category":"device" "<img
> src=/usr/share/icons/oxygen/64x64/devices/input-tablet.png
> align=left></img><font size=+3>Touchpad status
> change:<br><b>$state</b><br><font size=+1>to re-enable, press:<font
> size=+3>Ctrl + Alt + z"
> 
> 
> EOF
Comment 6 RussianNeuroMancer 2016-07-05 18:35:46 UTC
*** This bug has been confirmed by popular vote. ***
Comment 7 Pyroman 2016-10-06 23:27:46 UTC
Looks like fixed in 5.8 (Neon), I don't experience this bug anymore.
Comment 8 Nate Graham 2024-03-25 02:16:28 UTC
Hello! This bug report concerns the Synaptics version of the Touchpad page, which is no longer supported in Plasma 6. Can you please see if the issue still happens when using Libinput? If so, please change the status back to "REPORTED." If not, go ahead and change it to "RESOLVED FIXED", or let the bot do it automatically after a month. Thanks!
Comment 9 Bug Janitor Service 2024-04-09 03:47:39 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 10 Bug Janitor Service 2024-04-24 03:46:54 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!