|
|
|
@ -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 |
|
|
|
|