diff options
Diffstat (limited to 'include/uapi/linux/input-event-codes.h')
| -rw-r--r-- | include/uapi/linux/input-event-codes.h | 77 | 
1 files changed, 77 insertions, 0 deletions
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h index 85387c76c24f..0f1db1cccc3f 100644 --- a/include/uapi/linux/input-event-codes.h +++ b/include/uapi/linux/input-event-codes.h @@ -649,6 +649,83 @@   */  #define KEY_DATA			0x277  #define KEY_ONSCREEN_KEYBOARD		0x278 +/* Electronic privacy screen control */ +#define KEY_PRIVACY_SCREEN_TOGGLE	0x279 + +/* + * 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  |