Touchpad toggle mess

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heya,

In GNOME 2.32, we added support for touchpad toggle buttons, by
capturing the XF86TouchpadToggle button in gnome-settings-daemon,
showing a nice popup, and disabling the touchpad in software.

That works great for a number of laptops, but completely breaks a number
of others where the hardware handles the request, but still sends a key
event (usually separate ones for on and off). In those cases, we'd need
2 more key types, in the kernel, and in X.org.

The patches in https://bugs.freedesktop.org/show_bug.cgi?id=31300
implement this for the kernel, and for X.org.

Then we have the problem that udev's keymaps seem to use different
function keys depending on the hardware [1], when X.org (because of the
limitations of XKB) standardised on F22 for "XF86TouchpadToggle".

So we'll need to standardise on the keys used. I selected F21 for
XF86TouchpadToggle, F22 for XF86TouchpadOn and F23 for XF86TouchpadOff.
See the patch in:
https://bugs.freedesktop.org/show_bug.cgi?id=31333

The remaining fixes would need to be in udev's keymaps, to set hardware
handled keys to F22 and F23, and software ones to F21. Patch is attached
for that.

Questions, comments?

[1]: F21, F22, or F23 then?
$ grep -ri touchpad extras/keymap/keymaps/
extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint:0x90017 f22 # Fn+F8  touchpadtoggle
extras/keymap/keymaps/zepto-znote:0xA5 f22                # Fn+F6 Disable Touchpad
extras/keymap/keymaps/zepto-znote:0xA6 f22                # Fn+F6 Enable Touchpad
extras/keymap/keymaps/hewlett-packard-pavilion:0xD8 f22 # touchpad off
extras/keymap/keymaps/hewlett-packard-pavilion:0xD9 f23 # touchpad on
extras/keymap/keymaps/dell:0x9E f22 #touchpad toggle
extras/keymap/keymaps/dell:0xD9 f22 # touchpad toggle
extras/keymap/keymaps/samsung-other:0xF7 f22 # Fn+F10 Touchpad on
extras/keymap/keymaps/samsung-other:0xF9 f22 # Fn+F10 Touchpad off
extras/keymap/keymaps/hewlett-packard-tx2:0xD8 f22 # Toggle touchpad button on tx2 (OFF)
extras/keymap/keymaps/hewlett-packard-tx2:0xD9 f22 # Toggle touchpad button on tx2 (ON)
extras/keymap/keymaps/everex-xt5000:0x65 f22 # Fn+F5 Touchpad toggle
extras/keymap/keymaps/samsung-sx20s:0x77 f21 # FIXME: Touchpad on
extras/keymap/keymaps/samsung-sx20s:0x79 f21 # FIXME: Touchpad off
extras/keymap/keymaps/onkyo:0xF7 f22 # Fn+Y (touchpad toggle)
extras/keymap/keymaps/toshiba-satellite_a110:0x9E f21 # FIXME: Touchpad on
extras/keymap/keymaps/toshiba-satellite_a110:0x9F f21 # FIXME: Touchpad off
extras/keymap/keymaps/toshiba-satellite_m30x:0x9e prog1 #touchpad_enable
extras/keymap/keymaps/toshiba-satellite_m30x:0x9f prog2 #touchpad_disable
extras/keymap/keymaps/acer:0xF1 f22 # Fn+F7 Touchpad toggle (off-to-on)
extras/keymap/keymaps/acer:0xF2 f22 # Fn+F7 Touchpad toggle (on-to-off)
extras/keymap/keymaps/micro-star:0xE4 f22 # Fn-F3   Touchpad disable
extras/keymap/keymaps/module-lenovo:0x7 f22 # Fn+F8 touchpadtoggle
extras/keymap/keymaps/lg-x110:0xE4 f22 # Fn-F5   Touchpad disable
extras/keymap/keymaps/hewlett-packard-2510p_2530p:0xD8 f22 # touchpad off
extras/keymap/keymaps/hewlett-packard-2510p_2530p:0xD9 f23 # touchpad on

>From 52118a82743e4ca65d5be01c304685d265b5f7a7 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@xxxxxxxxxx>
Date: Thu, 4 Nov 2010 23:58:56 +0000
Subject: [PATCH] extras/keymap: Fix touchpad toggle buttons used

See:
https://bugs.freedesktop.org/show_bug.cgi?id=31333
---
 extras/keymap/keymaps/acer                         |    2 +-
 extras/keymap/keymaps/dell                         |    4 ++--
 extras/keymap/keymaps/everex-xt5000                |    2 +-
 extras/keymap/keymaps/hewlett-packard-2510p_2530p  |    4 ++--
 extras/keymap/keymaps/hewlett-packard-pavilion     |    4 ++--
 extras/keymap/keymaps/hewlett-packard-tx2          |    2 +-
 .../lenovo-thinkpad-usb-keyboard-trackpoint        |    2 +-
 extras/keymap/keymaps/lg-x110                      |    4 ++--
 extras/keymap/keymaps/micro-star                   |    2 +-
 extras/keymap/keymaps/module-lenovo                |    2 +-
 extras/keymap/keymaps/onkyo                        |    2 +-
 extras/keymap/keymaps/samsung-other                |    2 +-
 extras/keymap/keymaps/samsung-sx20s                |    4 ++--
 extras/keymap/keymaps/toshiba-satellite_a110       |    4 ++--
 extras/keymap/keymaps/toshiba-satellite_m30x       |    4 ++--
 extras/keymap/keymaps/zepto-znote                  |    2 +-
 16 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/extras/keymap/keymaps/acer b/extras/keymap/keymaps/acer
index 6abe39c..4e7c297 100644
--- a/extras/keymap/keymaps/acer
+++ b/extras/keymap/keymaps/acer
@@ -14,7 +14,7 @@
 0xEE brightnessup # Fn+Right
 0xEF brightnessdown # Fn+Left
 0xF1 f22 # Fn+F7 Touchpad toggle (off-to-on)
-0xF2 f22 # Fn+F7 Touchpad toggle (on-to-off)
+0xF2 f23 # Fn+F7 Touchpad toggle (on-to-off)
 0xF3 prog2 # "P2" programmable button
 0xF4 prog1 # "P1" programmable button
 0xF5 presentation
diff --git a/extras/keymap/keymaps/dell b/extras/keymap/keymaps/dell
index 1a2e433..fbbb903 100644
--- a/extras/keymap/keymaps/dell
+++ b/extras/keymap/keymaps/dell
@@ -21,9 +21,9 @@
 0x99 nextsong # Front panel next song
 0x9A setup # Tablet tools button
 0x9B switchvideomode # Display Toggle button
-0x9E f22 #touchpad toggle
+0x9E f21 #touchpad toggle
 0xA2 playpause # Front panel play/pause
 0xA4 stopcd # Front panel stop
 0xED media # MediaDirect button
 0xD8 screenlock # FIXME: Tablet lock button
-0xD9 f22 # touchpad toggle
+0xD9 f21 # touchpad toggle
diff --git a/extras/keymap/keymaps/everex-xt5000 b/extras/keymap/keymaps/everex-xt5000
index 53bdd7a..4823a83 100644
--- a/extras/keymap/keymaps/everex-xt5000
+++ b/extras/keymap/keymaps/everex-xt5000
@@ -1,5 +1,5 @@
 0x5C media
-0x65 f22 # Fn+F5 Touchpad toggle
+0x65 f21 # Fn+F5 Touchpad toggle
 0x67 prog3 # Fan Speed Control button
 0x6F brightnessup
 0x7F brightnessdown
diff --git a/extras/keymap/keymaps/hewlett-packard-2510p_2530p b/extras/keymap/keymaps/hewlett-packard-2510p_2530p
index 2bc70c2..41ad2e9 100644
--- a/extras/keymap/keymaps/hewlett-packard-2510p_2530p
+++ b/extras/keymap/keymaps/hewlett-packard-2510p_2530p
@@ -1,2 +1,2 @@
-0xD8 f22 # touchpad off
-0xD9 f23 # touchpad on
+0xD8 f23 # touchpad off
+0xD9 f22 # touchpad on
diff --git a/extras/keymap/keymaps/hewlett-packard-pavilion b/extras/keymap/keymaps/hewlett-packard-pavilion
index a55d2b7..3d3cefc 100644
--- a/extras/keymap/keymaps/hewlett-packard-pavilion
+++ b/extras/keymap/keymaps/hewlett-packard-pavilion
@@ -1,3 +1,3 @@
 0x88 media # FIXME: quick play
-0xD8 f22 # touchpad off
-0xD9 f23 # touchpad on
+0xD8 f23 # touchpad off
+0xD9 f22 # touchpad on
diff --git a/extras/keymap/keymaps/hewlett-packard-tx2 b/extras/keymap/keymaps/hewlett-packard-tx2
index 206c004..36a690f 100644
--- a/extras/keymap/keymaps/hewlett-packard-tx2
+++ b/extras/keymap/keymaps/hewlett-packard-tx2
@@ -1,3 +1,3 @@
 0xC2 media
-0xD8 f22 # Toggle touchpad button on tx2 (OFF)
+0xD8 f23 # Toggle touchpad button on tx2 (OFF)
 0xD9 f22 # Toggle touchpad button on tx2 (ON)
diff --git a/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint b/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
index 7612f79..bc91470 100644
--- a/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
+++ b/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
@@ -2,7 +2,7 @@
 0x90013 battery # Fn+F3
 0x90014 wlan # Fn+F5
 0x90016 switchvideomode # Fn+F7
-0x90017 f22 # Fn+F8  touchpadtoggle
+0x90017 f21 # Fn+F8  touchpadtoggle
 0x90019 suspend # Fn+F12
 0x9001A brightnessup # Fn+Home
 0x9001B brightnessdown # Fn+End
diff --git a/extras/keymap/keymaps/lg-x110 b/extras/keymap/keymaps/lg-x110
index a61cf3d..ba08cba 100644
--- a/extras/keymap/keymaps/lg-x110
+++ b/extras/keymap/keymaps/lg-x110
@@ -6,7 +6,7 @@
 0xB3 suspend # Fn-F12
 0xDF sleep # Fn-F4
 # 0xE2 bluetooth # satellite dish2
-0xE4 f22 # Fn-F5   Touchpad disable
+0xE4 f21 # Fn-F5   Touchpad disable
 0xF6 wlan # Fn-F6
 0xF7 reserved # brightnessdown # Fn-Down
-0xF8 reserved # brightnessup # Fn-Up
\ No newline at end of file
+0xF8 reserved # brightnessup # Fn-Up
diff --git a/extras/keymap/keymaps/micro-star b/extras/keymap/keymaps/micro-star
index 0de5ae6..4a43869 100644
--- a/extras/keymap/keymaps/micro-star
+++ b/extras/keymap/keymaps/micro-star
@@ -4,7 +4,7 @@
 0xB2 www # e button
 0xDF sleep # Fn-F12
 0xE2 bluetooth # satellite dish2
-0xE4 f22 # Fn-F3   Touchpad disable
+0xE4 f21 # Fn-F3   Touchpad disable
 0xEC email # envelope button
 0xEE camera # Fn-F6 camera disable
 0xF6 wlan # satellite dish1
diff --git a/extras/keymap/keymaps/module-lenovo b/extras/keymap/keymaps/module-lenovo
index 7c597bd..9cb74b2 100644
--- a/extras/keymap/keymaps/module-lenovo
+++ b/extras/keymap/keymaps/module-lenovo
@@ -3,7 +3,7 @@
 0x3 sleep # Fn+F4
 0x4 wlan # Fn+F5
 0x6 switchvideomode # Fn+F7
-0x7 f22 # Fn+F8 touchpadtoggle
+0x7 f21 # Fn+F8 touchpadtoggle
 0x8 f24 # Fn+F9 undock
 0xB suspend # Fn+F12
 0xF brightnessup # Fn+Home
diff --git a/extras/keymap/keymaps/onkyo b/extras/keymap/keymaps/onkyo
index 7dd80a1..ee864ad 100644
--- a/extras/keymap/keymaps/onkyo
+++ b/extras/keymap/keymaps/onkyo
@@ -8,7 +8,7 @@
 0xF0 media # Fn+R
 0xF5 switchvideomode # Fn+E
 0xF6 camera # Fn+T
-0xF7 f22 # Fn+Y (touchpad toggle)
+0xF7 f21 # Fn+Y (touchpad toggle)
 0xF8 brightnessup # Fn+S
 0xF9 brightnessdown # Fn+A
 0xFB wlan # Fn+J
diff --git a/extras/keymap/keymaps/samsung-other b/extras/keymap/keymaps/samsung-other
index 6a0928c..3ac0c2f 100644
--- a/extras/keymap/keymaps/samsung-other
+++ b/extras/keymap/keymaps/samsung-other
@@ -11,4 +11,4 @@
 0xB3 prog3 # Fn+F8 switch power mode (battery/dynamic/performance)
 0xB4 wlan # Fn+F9 (X60P)
 0xF7 f22 # Fn+F10 Touchpad on
-0xF9 f22 # Fn+F10 Touchpad off
+0xF9 f23 # Fn+F10 Touchpad off
diff --git a/extras/keymap/keymaps/samsung-sx20s b/extras/keymap/keymaps/samsung-sx20s
index daf7d3e..9d954ee 100644
--- a/extras/keymap/keymaps/samsung-sx20s
+++ b/extras/keymap/keymaps/samsung-sx20s
@@ -1,4 +1,4 @@
 0x74 mute
 0x75 mute
-0x77 f21 # FIXME: Touchpad on
-0x79 f21 # FIXME: Touchpad off
+0x77 f22 # Touchpad on
+0x79 f23 # Touchpad off
diff --git a/extras/keymap/keymaps/toshiba-satellite_a110 b/extras/keymap/keymaps/toshiba-satellite_a110
index 0f2aaec..1429409 100644
--- a/extras/keymap/keymaps/toshiba-satellite_a110
+++ b/extras/keymap/keymaps/toshiba-satellite_a110
@@ -1,8 +1,8 @@
 0x92 stop
 0x93 www
 0x94 media
-0x9E f21 # FIXME: Touchpad on
-0x9F f21 # FIXME: Touchpad off
+0x9E f22 # Touchpad on
+0x9F f23 # Touchpad off
 0xB9 nextsong
 0xD9 brightnessup
 0xEE screenlock
diff --git a/extras/keymap/keymaps/toshiba-satellite_m30x b/extras/keymap/keymaps/toshiba-satellite_m30x
index cf6d912..9280ae0 100644
--- a/extras/keymap/keymaps/toshiba-satellite_m30x
+++ b/extras/keymap/keymaps/toshiba-satellite_m30x
@@ -2,6 +2,6 @@
 0xd9 brightnessup
 0xee screenlock
 0x93 media
-0x9e prog1 #touchpad_enable
-0x9f prog2 #touchpad_disable
+0x9e f22 #touchpad_enable
+0x9f f23 #touchpad_disable
 
diff --git a/extras/keymap/keymaps/zepto-znote b/extras/keymap/keymaps/zepto-znote
index e076516..cf72fda 100644
--- a/extras/keymap/keymaps/zepto-znote
+++ b/extras/keymap/keymaps/zepto-znote
@@ -1,7 +1,7 @@
 0x93 switchvideomode    # Fn+F3 Toggle Video Output
 0x95 brightnessdown     # Fn+F4 Brightness Down
 0x91 brightnessup       # Fn+F5 Brightness Up
-0xA5 f22                # Fn+F6 Disable Touchpad
+0xA5 f23                # Fn+F6 Disable Touchpad
 0xA6 f22                # Fn+F6 Enable Touchpad
 0xA7 bluetooth          # Fn+F10 Enable Bluetooth
 0XA9 bluetooth          # Fn+F10 Disable Bluetooth
-- 
1.7.3.2


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux