|
650 | 650 | #define KEY_DATA 0x277
|
651 | 651 | #define KEY_ONSCREEN_KEYBOARD 0x278
|
652 | 652 |
|
| 653 | +/* |
| 654 | + * Some keyboards have keys which do not have a defined meaning, these keys |
| 655 | + * are intended to be programmed / bound to macros by the user. For most |
| 656 | + * keyboards with these macro-keys the key-sequence to inject, or action to |
| 657 | + * take, is all handled by software on the host side. So from the kernel's |
| 658 | + * point of view these are just normal keys. |
| 659 | + * |
| 660 | + * The KEY_MACRO# codes below are intended for such keys, which may be labeled |
| 661 | + * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys |
| 662 | + * where the marking on the key does indicate a defined meaning / purpose. |
| 663 | + * |
| 664 | + * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing |
| 665 | + * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO |
| 666 | + * define MUST be added. |
| 667 | + */ |
| 668 | +#define KEY_MACRO1 0x290 |
| 669 | +#define KEY_MACRO2 0x291 |
| 670 | +#define KEY_MACRO3 0x292 |
| 671 | +#define KEY_MACRO4 0x293 |
| 672 | +#define KEY_MACRO5 0x294 |
| 673 | +#define KEY_MACRO6 0x295 |
| 674 | +#define KEY_MACRO7 0x296 |
| 675 | +#define KEY_MACRO8 0x297 |
| 676 | +#define KEY_MACRO9 0x298 |
| 677 | +#define KEY_MACRO10 0x299 |
| 678 | +#define KEY_MACRO11 0x29a |
| 679 | +#define KEY_MACRO12 0x29b |
| 680 | +#define KEY_MACRO13 0x29c |
| 681 | +#define KEY_MACRO14 0x29d |
| 682 | +#define KEY_MACRO15 0x29e |
| 683 | +#define KEY_MACRO16 0x29f |
| 684 | +#define KEY_MACRO17 0x2a0 |
| 685 | +#define KEY_MACRO18 0x2a1 |
| 686 | +#define KEY_MACRO19 0x2a2 |
| 687 | +#define KEY_MACRO20 0x2a3 |
| 688 | +#define KEY_MACRO21 0x2a4 |
| 689 | +#define KEY_MACRO22 0x2a5 |
| 690 | +#define KEY_MACRO23 0x2a6 |
| 691 | +#define KEY_MACRO24 0x2a7 |
| 692 | +#define KEY_MACRO25 0x2a8 |
| 693 | +#define KEY_MACRO26 0x2a9 |
| 694 | +#define KEY_MACRO27 0x2aa |
| 695 | +#define KEY_MACRO28 0x2ab |
| 696 | +#define KEY_MACRO29 0x2ac |
| 697 | +#define KEY_MACRO30 0x2ad |
| 698 | + |
| 699 | +/* |
| 700 | + * Some keyboards with the macro-keys described above have some extra keys |
| 701 | + * for controlling the host-side software responsible for the macro handling: |
| 702 | + * -A macro recording start/stop key. Note that not all keyboards which emit |
| 703 | + * KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if |
| 704 | + * KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START |
| 705 | + * should be interpreted as a recording start/stop toggle; |
| 706 | + * -Keys for switching between different macro (pre)sets, either a key for |
| 707 | + * cycling through the configured presets or keys to directly select a preset. |
| 708 | + */ |
| 709 | +#define KEY_MACRO_RECORD_START 0x2b0 |
| 710 | +#define KEY_MACRO_RECORD_STOP 0x2b1 |
| 711 | +#define KEY_MACRO_PRESET_CYCLE 0x2b2 |
| 712 | +#define KEY_MACRO_PRESET1 0x2b3 |
| 713 | +#define KEY_MACRO_PRESET2 0x2b4 |
| 714 | +#define KEY_MACRO_PRESET3 0x2b5 |
| 715 | + |
| 716 | +/* |
| 717 | + * Some keyboards have a buildin LCD panel where the contents are controlled |
| 718 | + * by the host. Often these have a number of keys directly below the LCD |
| 719 | + * intended for controlling a menu shown on the LCD. These keys often don't |
| 720 | + * have any labeling so we just name them KEY_KBD_LCD_MENU# |
| 721 | + */ |
| 722 | +#define KEY_KBD_LCD_MENU1 0x2b8 |
| 723 | +#define KEY_KBD_LCD_MENU2 0x2b9 |
| 724 | +#define KEY_KBD_LCD_MENU3 0x2ba |
| 725 | +#define KEY_KBD_LCD_MENU4 0x2bb |
| 726 | +#define KEY_KBD_LCD_MENU5 0x2bc |
| 727 | + |
653 | 728 | #define BTN_TRIGGER_HAPPY 0x2c0
|
654 | 729 | #define BTN_TRIGGER_HAPPY1 0x2c0
|
655 | 730 | #define BTN_TRIGGER_HAPPY2 0x2c1
|
|
0 commit comments