include: sync event codes with kernel 5.7
authorPeter Hutterer <peter.hutterer@who-t.net>
Thu, 4 Jun 2020 02:55:19 +0000 (12:55 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 4 Jun 2020 02:56:08 +0000 (12:56 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
include/linux/input-event-codes.h
include/linux/input.h

index 00bd21c639b04fef5a7c4c5b7b96074a263a93de..b6a835d37826384e87feb1446809e983379bda1f 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
 /*
  * Input event codes
  *
  */
 #define KEY_DATA                       0x277
 #define KEY_ONSCREEN_KEYBOARD          0x278
+/* Electronic privacy screen control */
+#define KEY_PRIVACY_SCREEN_TOGGLE      0x279
+
+/* Select an area of screen to be copied */
+#define KEY_SELECTIVE_SCREENSHOT       0x27a
+
+/*
+ * Some keyboards have keys which do not have a defined meaning, these keys
+ * are intended to be programmed / bound to macros by the user. For most
+ * keyboards with these macro-keys the key-sequence to inject, or action to
+ * take, is all handled by software on the host side. So from the kernel's
+ * point of view these are just normal keys.
+ *
+ * The KEY_MACRO# codes below are intended for such keys, which may be labeled
+ * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys
+ * where the marking on the key does indicate a defined meaning / purpose.
+ *
+ * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing
+ * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO
+ * define MUST be added.
+ */
+#define KEY_MACRO1                     0x290
+#define KEY_MACRO2                     0x291
+#define KEY_MACRO3                     0x292
+#define KEY_MACRO4                     0x293
+#define KEY_MACRO5                     0x294
+#define KEY_MACRO6                     0x295
+#define KEY_MACRO7                     0x296
+#define KEY_MACRO8                     0x297
+#define KEY_MACRO9                     0x298
+#define KEY_MACRO10                    0x299
+#define KEY_MACRO11                    0x29a
+#define KEY_MACRO12                    0x29b
+#define KEY_MACRO13                    0x29c
+#define KEY_MACRO14                    0x29d
+#define KEY_MACRO15                    0x29e
+#define KEY_MACRO16                    0x29f
+#define KEY_MACRO17                    0x2a0
+#define KEY_MACRO18                    0x2a1
+#define KEY_MACRO19                    0x2a2
+#define KEY_MACRO20                    0x2a3
+#define KEY_MACRO21                    0x2a4
+#define KEY_MACRO22                    0x2a5
+#define KEY_MACRO23                    0x2a6
+#define KEY_MACRO24                    0x2a7
+#define KEY_MACRO25                    0x2a8
+#define KEY_MACRO26                    0x2a9
+#define KEY_MACRO27                    0x2aa
+#define KEY_MACRO28                    0x2ab
+#define KEY_MACRO29                    0x2ac
+#define KEY_MACRO30                    0x2ad
+
+/*
+ * Some keyboards with the macro-keys described above have some extra keys
+ * for controlling the host-side software responsible for the macro handling:
+ * -A macro recording start/stop key. Note that not all keyboards which emit
+ *  KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if
+ *  KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START
+ *  should be interpreted as a recording start/stop toggle;
+ * -Keys for switching between different macro (pre)sets, either a key for
+ *  cycling through the configured presets or keys to directly select a preset.
+ */
+#define KEY_MACRO_RECORD_START         0x2b0
+#define KEY_MACRO_RECORD_STOP          0x2b1
+#define KEY_MACRO_PRESET_CYCLE         0x2b2
+#define KEY_MACRO_PRESET1              0x2b3
+#define KEY_MACRO_PRESET2              0x2b4
+#define KEY_MACRO_PRESET3              0x2b5
+
+/*
+ * Some keyboards have a buildin LCD panel where the contents are controlled
+ * by the host. Often these have a number of keys directly below the LCD
+ * intended for controlling a menu shown on the LCD. These keys often don't
+ * have any labeling so we just name them KEY_KBD_LCD_MENU#
+ */
+#define KEY_KBD_LCD_MENU1              0x2b8
+#define KEY_KBD_LCD_MENU2              0x2b9
+#define KEY_KBD_LCD_MENU3              0x2ba
+#define KEY_KBD_LCD_MENU4              0x2bb
+#define KEY_KBD_LCD_MENU5              0x2bc
 
 #define BTN_TRIGGER_HAPPY              0x2c0
 #define BTN_TRIGGER_HAPPY1             0x2c0
 #define ABS_MT_TOOL_X          0x3c    /* Center X tool position */
 #define ABS_MT_TOOL_Y          0x3d    /* Center Y tool position */
 
+
 #define ABS_MAX                        0x3f
 #define ABS_CNT                        (ABS_MAX+1)
 
index 8ad54ccb957f618f02d3f6497c2ace2e324ede3a..537d23ea0007b08330e3d01b2b2fa8837878e55b 100644 (file)
@@ -32,6 +32,7 @@ struct input_event {
        __kernel_ulong_t __sec;
 #if defined(__sparc__) && defined(__arch64__)
        unsigned int __usec;
+       unsigned int __pad;
 #else
        __kernel_ulong_t __usec;
 #endif