Bug 316329 - Shortcut to disable touchpad not configurable / conflicts with fn-keys
Summary: Shortcut to disable touchpad not configurable / conflicts with fn-keys
Status: RESOLVED NOT A BUG
Alias: None
Product: ktouchpadenabler
Classification: Miscellaneous
Component: General (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Albert Astals Cid
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-07 18:38 UTC by Till Schäfer
Modified: 2013-11-15 13:19 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Till Schäfer 2013-03-07 18:38:07 UTC
Since 4.10 my touchpad and the buttons (but not the trackpoint device) is disabled if i use fn + left (action to set automatic display brightness on my dell latitude d630). There is no way to enable the touchpad again from the GUI. I need to delete .kde4/share/config/ktouchpadenablerrc manually or set touchpadenabled to true again:

[general]
touchpadEnabled=true

What makes this even more confusing is the fact that synaptiks uses another mechanism to enable/disable the touchpad. The synaptiks settings have no effekt if the touchpad is disabled by the above mechanism. 

Some other peoply seem to have the same problem (other distros and hardware):
http://forums.opensuse.org/english/get-technical-help-here/laptop/483753-keyboard-shortcut-disables-touchpad-keyboard.html
https://bbs.archlinux.de/viewtopic.php?id=23404

i googled the mentioned config file and did only get one result: 
http://lists.kde.org/?l=kde-commits&m=135195812006262

I guess this mechanism was implemented to support disabling the keyboard by fn keys which some laptops provide. however this seems to have negative side effects and is very untransparent.

Suggested solution: 
- Make the Shortcut configurable
- sync this setting with the synaptiks kcm module, so that at least it is possible to enable it again at a place where i would expect this setting. 

Reproducible: Always
Comment 1 Albert Astals Cid 2013-03-07 20:47:03 UTC
There are three keys we listen to XF86XK_TouchpadToggle, XF86XK_TouchpadOn and XF86XK_TouchpadOff

It makes no sense allowing to configure those keys since obviously these keys are for toggling the touchpad, enabling it and disabling it.

If your keyboard is sending one of these keys while pressing "fn + left" and there is no symbol in they keyboard that means that will affect the touchpad that 's a bug of your keyboard/keymap/something else, not a bug in ktouchpadenabler.

The only bug in ktouchpadenabler would be if "fn + left" does not send one of the three keys above.

To check which key is being sent by your keyboard do this in a shell:

 * qdbus  org.kde.kded /kded org.kde.kded.unloadModule ktouchpadenabler
 * xev
 * Press "fn + left"
 * look in the xev output for something like

KeyPress event, serial 37, synthetic NO, window 0x6000001,
    root 0xcc, subw 0x0, time 16642317, (669,562), root:(672,585),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x6000001,
    root 0xcc, subw 0x0, time 16642381, (669,562), root:(672,585),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

And check which keycode it has.
Comment 2 Till Schäfer 2013-03-11 10:29:38 UTC
Thanks for the fast replay. I will try this out in the next days when i find some free time. 

However, since it seems not too uncommon that there is a false keymap and because of transparency (for the user: what is going on?), there should be a option indicating if the touchpad is enabled or not and the possibility to change this state in another way than the keyboard shortcut. 

Is there a reason, why this "disable/enable" state is not synchronized with synaptiks?
Comment 3 Albert Astals Cid 2013-03-11 18:30:39 UTC
> However, since it seems not too uncommon that there is a false keymap 
If the keymap is broken, fix the keymap

> and
> because of transparency (for the user: what is going on?), there should be a
> option indicating if the touchpad is enabled or not 

You should get a popup each time you each time you enable or disable it

> and the possibility to change this state in another way than the keyboard
> shortcut. 
No, the one and only reason for this progam to exist is to obey they keyboard press on the key that enables/disables the touchpad

> Is there a reason, why this "disable/enable" state is not synchronized with
> synaptiks?
I have no clue what synaptiks does or not, but as far as i can see it's unmaintained software.
Comment 4 Till Schäfer 2013-03-13 14:12:33 UTC
it tested it and if i use a dell xkb model the problem is gone. Therefore i am closing this bug as invalid.
Comment 5 Eugene 2013-03-16 19:41:23 UTC
Hello. I found the same problem with my Latitude D830.

Here is my keycodes:

PropertyNotify event, serial 39, synthetic NO, window 0x4000001,
    atom 0x1f4 (_NET_WM_ICON_GEOMETRY), time 4941422, state PropertyNewValue

KeyPress event, serial 40, synthetic NO, window 0x4000001,
    root 0x103, subw 0x0, time 4948865, (162,-13), root:(164,45),
    state 0x0, keycode 201 (keysym 0x1008ffb1, XF86TouchpadOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4000001,
    root 0x103, subw 0x0, time 4948865, (162,-13), root:(164,45),
    state 0x0, keycode 201 (keysym 0x1008ffb1, XF86TouchpadOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

ClientMessage event, serial 40, synthetic YES, window 0x4000001,
    message_type 0x14f (WM_PROTOCOLS), format 32, message 0x150 (WM_DELETE_WINDOW)
Comment 6 Albert Astals Cid 2013-03-16 21:19:35 UTC
So you press XF86TouchpadOff and you get your touchpad disabled, no bug.
Comment 7 Eugene 2013-03-16 21:24:12 UTC
I pressed the button that must turn on Auto-brightness, but it turns off my touchpad instead. And you're saying this is not a bug, than what is it ?
Comment 8 Albert Astals Cid 2013-03-16 21:40:03 UTC
It's not a bug in my software. It's a bug somewhere else that decides that what you see as the auto-brightness physical key sends the XF86TouchpadOff logical key

You'll have to find out who maintains the keymap of your laptop and tell him.
Comment 9 Eugene 2013-03-16 21:45:40 UTC
I don't say that bug is in your software. I just trying to find tha way to fix it. So now, I'm gonna write a bug report to udev cause I'm using Kubuntu.
Thanks.
Comment 10 Till Schäfer 2013-03-18 06:51:23 UTC
(In reply to comment #9)
> I don't say that bug is in your software. I just trying to find tha way to
> fix it. So now, I'm gonna write a bug report to udev cause I'm using Kubuntu.
> Thanks.

just select the dell keyboard model in systemsettings -> input devices -> keyboard. This works for me (the standard generic PC-keyboard model does have this problem with the dell laptop).
Comment 11 Eugene 2013-03-19 04:52:46 UTC
(In reply to comment #10)
> just select the dell keyboard model in systemsettings -> input devices ->
> keyboard. This works for me (the standard generic PC-keyboard model does
> have this problem with the dell laptop).
No, it itsn't works for me. Anyway thanks.
Comment 12 Peter Wu 2013-08-25 23:03:05 UTC
For those who want a quick-and-dirty solution, the "ktouchpadenabler" component is responsible for disabling the touchpad. You can disable this kded module at System Settings -> Startup and Shutdown -> Service Manager. At Startup Services, select "KDE Touchpad Enabler Daemon" and press the "Stop" button. To prevent it from starting next time, uncheck the service.