Thread (13 messages) flat view 13 messages, 5 authors, 2017-01-12

Re: [PATCH v3] HID: wacom: generic: add 5 tablet touch keys

From: Jiri Kosina <jikos@kernel.org>
Date: 2016-12-19 10:30:16

On Fri, 16 Dec 2016, Ping Cheng wrote:
Wacom Cintiq Pro [1] is a series of display tablets. They support
5 touch keys on the tablet. Those keys represent specific functions.
They turn display off; bring up OSD; bring up On Screen Keyboard;
bring up desktop control panel; and turn touch on/off.

The most left touch key, that turns display on/off, is controlled by
firmware. When the display is on, the mode is set. Otherwise, the
mode is off. So, it works like a switch. That's why we introduced a
new switch: SW_INDIRECT. The switch defauts to INDIRECT instead of DIRECT
was a request from useland, more specifically Gnome, developers.

Other four touch keys are true software keys. We use the existing
KEY_BUTTONCONFIG and KEY_CONTROLPANEL for OSD and control panel. But,
we have to request two new keys: KEY_ONSCREEN_KEYBOARD and KEY_MUTE_DEVICE
since none of the existing keys support those two actions.

[1] http://www.wacom.com/en-us/products/pen-displays/wacom-cintiq-pro

Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
---
v3: Since no one has followed up with v2, let's add some more comments for
SW_INDIRECT so we keep the offlist decision public ;).
[ ... snip ... ]
quoted hunk ↗ jump to hunk
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
index d6d071f..32ef894 100644
--- a/include/uapi/linux/input-event-codes.h
+++ b/include/uapi/linux/input-event-codes.h
@@ -641,6 +641,9 @@
  * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
  */
 #define KEY_DATA			0x275
+/* same as SW_MUTE_DEVICE but triggered by a key */
+#define KEY_MUTE_DEVICE 		0x278
+#define KEY_ONSCREEN_KEYBOARD		0x279
 
 #define BTN_TRIGGER_HAPPY		0x2c0
 #define BTN_TRIGGER_HAPPY1		0x2c0
@@ -781,7 +784,8 @@
 #define SW_LINEIN_INSERT	0x0d  /* set = inserted */
 #define SW_MUTE_DEVICE		0x0e  /* set = device disabled */
 #define SW_PEN_INSERTED		0x0f  /* set = pen inserted */
-#define SW_MAX			0x0f
+#define SW_INDIRECT		0x10  /* set = not a direct input device */
+#define SW_MAX			0x1f
I'd like to have explicit Ack from Dmitry on these ... Dmitry?

Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help