@ -56,172 +56,173 @@ const char* LOG_MSG_MISSING_OPCODE = "[%s] Error: Opcode %d not found for %
static const std : : vector < keyboard_led > keyboard_zone_main =
{
/*--------------------------------------------------------------------------------------------------------- *\
| Zone , Row , Column , Value , Key, OpCode , |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 1 , 0 , 0 , KEY_EN_BACK_TICK , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 1 , 0 , KEY_EN_1 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 2 , 0 , KEY_EN_2 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 3 , 0 , KEY_EN_3 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 4 , 0 , KEY_EN_4 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 5 , 0 , KEY_EN_5 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 6 , 0 , KEY_EN_6 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 7 , 0 , KEY_EN_7 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 8 , 0 , KEY_EN_8 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 9 , 0 , KEY_EN_9 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 10 , 0 , KEY_EN_0 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 11 , 0 , KEY_EN_MINUS , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 12 , 0 , KEY_EN_EQUALS , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 13 , 0 , KEY_EN_BACKSPACE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 0 , 0 , KEY_EN_TAB , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 1 , 0 , KEY_EN_Q , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 2 , 0 , KEY_EN_W , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 3 , 0 , KEY_EN_E , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 4 , 0 , KEY_EN_R , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 5 , 0 , KEY_EN_T , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 6 , 0 , KEY_EN_Y , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 7 , 0 , KEY_EN_U , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 8 , 0 , KEY_EN_I , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 9 , 0 , KEY_EN_O , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 10 , 0 , KEY_EN_P , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 11 , 0 , KEY_EN_LEFT_BRACKET , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 12 , 0 , KEY_EN_RIGHT_BRACKET , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 13 , 0 , KEY_EN_ANSI_BACK_SLASH , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 0 , 0 , KEY_EN_CAPS_LOCK , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 1 , 0 , KEY_EN_A , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 2 , 0 , KEY_EN_S , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 3 , 0 , KEY_EN_D , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 4 , 0 , KEY_EN_F , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 5 , 0 , KEY_EN_G , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 6 , 0 , KEY_EN_H , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 7 , 0 , KEY_EN_J , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 8 , 0 , KEY_EN_K , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 9 , 0 , KEY_EN_L , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 10 , 0 , KEY_EN_SEMICOLON , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 11 , 0 , KEY_EN_QUOTE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 12 , 0 , KEY_EN_POUND , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT } ,
{ 0 , 3 , 13 , 0 , KEY_EN_ANSI_ENTER , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 0 , 0 , KEY_EN_LEFT_SHIFT , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 1 , 0 , KEY_EN_ISO_BACK_SLASH , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 2 , 0 , KEY_EN_Z , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 3 , 0 , KEY_EN_X , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 4 , 0 , KEY_EN_C , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 5 , 0 , KEY_EN_V , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 6 , 0 , KEY_EN_B , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 7 , 0 , KEY_EN_N , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 8 , 0 , KEY_EN_M , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 9 , 0 , KEY_EN_COMMA , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 10 , 0 , KEY_EN_PERIOD , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 11 , 0 , KEY_EN_FORWARD_SLASH , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 13 , 0 , KEY_EN_RIGHT_SHIFT , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 0 , 0 , KEY_EN_LEFT_CONTROL , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 1 , 0 , KEY_EN_LEFT_WINDOWS , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 2 , 0 , KEY_EN_LEFT_ALT , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 6 , 0 , KEY_EN_SPACE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 10 , 0 , KEY_EN_RIGHT_ALT , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 11 , 0 , KEY_EN_RIGHT_FUNCTION , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 12 , 0 , KEY_EN_MENU , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 13 , 0 , KEY_EN_RIGHT_CONTROL , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
/*--------------------------------------------------------------------------------------------------------- -------------------- *\
| Zone , Row , Column , Value , Name, Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 1 , 0 , 0 , KEY_EN_BACK_TICK , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 1 , 0 , KEY_EN_1 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 2 , 0 , KEY_EN_2 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 3 , 0 , KEY_EN_3 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 4 , 0 , KEY_EN_4 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 5 , 0 , KEY_EN_5 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 6 , 0 , KEY_EN_6 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 7 , 0 , KEY_EN_7 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 8 , 0 , KEY_EN_8 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 9 , 0 , KEY_EN_9 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 10 , 0 , KEY_EN_0 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 11 , 0 , KEY_EN_MINUS , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 12 , 0 , KEY_EN_EQUALS , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 13 , 0 , KEY_EN_BACKSPACE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 0 , 0 , KEY_EN_TAB , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 1 , 0 , KEY_EN_Q , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 2 , 0 , KEY_EN_W , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 3 , 0 , KEY_EN_E , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 4 , 0 , KEY_EN_R , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 5 , 0 , KEY_EN_T , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 6 , 0 , KEY_EN_Y , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 7 , 0 , KEY_EN_U , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 8 , 0 , KEY_EN_I , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 9 , 0 , KEY_EN_O , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 10 , 0 , KEY_EN_P , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 11 , 0 , KEY_EN_LEFT_BRACKET , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 12 , 0 , KEY_EN_RIGHT_BRACKET , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 13 , 0 , KEY_EN_ANSI_BACK_SLASH , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 0 , 0 , KEY_EN_CAPS_LOCK , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 1 , 0 , KEY_EN_A , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 2 , 0 , KEY_EN_S , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 3 , 0 , KEY_EN_D , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 4 , 0 , KEY_EN_F , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 5 , 0 , KEY_EN_G , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 6 , 0 , KEY_EN_H , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 7 , 0 , KEY_EN_J , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 8 , 0 , KEY_EN_K , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 9 , 0 , KEY_EN_L , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 10 , 0 , KEY_EN_SEMICOLON , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 11 , 0 , KEY_EN_QUOTE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 12 , 0 , KEY_EN_POUND , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT } ,
{ 0 , 3 , 13 , 0 , KEY_EN_ANSI_ENTER , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 0 , 0 , KEY_EN_LEFT_SHIFT , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 1 , 0 , KEY_EN_ISO_BACK_SLASH , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 2 , 0 , KEY_EN_Z , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 3 , 0 , KEY_EN_X , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 4 , 0 , KEY_EN_C , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 5 , 0 , KEY_EN_V , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 6 , 0 , KEY_EN_B , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 7 , 0 , KEY_EN_N , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 8 , 0 , KEY_EN_M , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 9 , 0 , KEY_EN_COMMA , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 10 , 0 , KEY_EN_PERIOD , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 11 , 0 , KEY_EN_FORWARD_SLASH , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 13 , 0 , KEY_EN_RIGHT_SHIFT , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 0 , 0 , KEY_EN_LEFT_CONTROL , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 1 , 0 , KEY_EN_LEFT_WINDOWS , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 2 , 0 , KEY_EN_LEFT_ALT , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 6 , 0 , KEY_EN_SPACE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 10 , 0 , KEY_EN_RIGHT_ALT , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 11 , 0 , KEY_EN_RIGHT_FUNCTION , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 12 , 0 , KEY_EN_MENU , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 13 , 0 , KEY_EN_RIGHT_CONTROL , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
} ;
static const std : : vector < keyboard_led > keyboard_zone_fn_row =
{
/*--------------------------------------------------------------------------------------------------------- *\
| Zone , Row , Column , Value , Key, OpCode , |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 0 , 0 , 0 , KEY_EN_ESCAPE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 2 , 0 , KEY_EN_F1 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 3 , 0 , KEY_EN_F2 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 4 , 0 , KEY_EN_F3 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 5 , 0 , KEY_EN_F4 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 6 , 0 , KEY_EN_F5 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 7 , 0 , KEY_EN_F6 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 8 , 0 , KEY_EN_F7 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 9 , 0 , KEY_EN_F8 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 10 , 0 , KEY_EN_F9 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 11 , 0 , KEY_EN_F10 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 12 , 0 , KEY_EN_F11 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 13 , 0 , KEY_EN_F12 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
/*--------------------------------------------------------------------------------------------------------- -------------------- *\
| Zone , Row , Column , Value , Name, Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 0 , 0 , 0 , KEY_EN_ESCAPE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 2 , 0 , KEY_EN_F1 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 3 , 0 , KEY_EN_F2 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 4 , 0 , KEY_EN_F3 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 5 , 0 , KEY_EN_F4 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 6 , 0 , KEY_EN_F5 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 7 , 0 , KEY_EN_F6 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 8 , 0 , KEY_EN_F7 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 9 , 0 , KEY_EN_F8 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 10 , 0 , KEY_EN_F9 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 11 , 0 , KEY_EN_F10 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 12 , 0 , KEY_EN_F11 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 13 , 0 , KEY_EN_F12 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
} ;
static const std : : vector < keyboard_led > keyboard_zone_extras =
{
/*--------------------------------------------------------------------------------------------------------- *\
| Zone , Row , Column , Value , Key, OpCode , |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 0 , 14 , 0 , KEY_EN_PRINT_SCREEN , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 15 , 0 , KEY_EN_SCROLL_LOCK , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 16 , 0 , KEY_EN_PAUSE_BREAK , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 14 , 0 , KEY_EN_INSERT , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 15 , 0 , KEY_EN_HOME , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 16 , 0 , KEY_EN_PAGE_UP , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 14 , 0 , KEY_EN_DELETE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 15 , 0 , KEY_EN_END , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 16 , 0 , KEY_EN_PAGE_DOWN , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 15 , 0 , KEY_EN_UP_ARROW , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 14 , 0 , KEY_EN_LEFT_ARROW , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 15 , 0 , KEY_EN_DOWN_ARROW , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 16 , 0 , KEY_EN_RIGHT_ARROW , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
/*--------------------------------------------------------------------------------------------------------- -------------------- *\
| Zone , Row , Column , Value , Name, Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 0 , 14 , 0 , KEY_EN_PRINT_SCREEN , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 15 , 0 , KEY_EN_SCROLL_LOCK , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 0 , 16 , 0 , KEY_EN_PAUSE_BREAK , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 14 , 0 , KEY_EN_INSERT , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 15 , 0 , KEY_EN_HOME , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 16 , 0 , KEY_EN_PAGE_UP , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 14 , 0 , KEY_EN_DELETE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 15 , 0 , KEY_EN_END , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 16 , 0 , KEY_EN_PAGE_DOWN , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 15 , 0 , KEY_EN_UP_ARROW , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 14 , 0 , KEY_EN_LEFT_ARROW , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 15 , 0 , KEY_EN_DOWN_ARROW , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 16 , 0 , KEY_EN_RIGHT_ARROW , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
} ;
static const std : : vector < keyboard_led > keyboard_zone_numpad =
{
/*--------------------------------------------------------------------------------------------------------- *\
| Zone , Row , Column , Value , Key, OpCode , |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 1 , 17 , 0 , KEY_EN_NUMPAD_LOCK , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 18 , 0 , KEY_EN_NUMPAD_DIVIDE , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 19 , 0 , KEY_EN_NUMPAD_TIMES , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 20 , 0 , KEY_EN_NUMPAD_MINUS , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 17 , 0 , KEY_EN_NUMPAD_7 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 18 , 0 , KEY_EN_NUMPAD_8 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 19 , 0 , KEY_EN_NUMPAD_9 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 20 , 0 , KEY_EN_NUMPAD_PLUS , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 17 , 0 , KEY_EN_NUMPAD_4 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 18 , 0 , KEY_EN_NUMPAD_5 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 19 , 0 , KEY_EN_NUMPAD_6 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 17 , 0 , KEY_EN_NUMPAD_1 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 18 , 0 , KEY_EN_NUMPAD_2 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 19 , 0 , KEY_EN_NUMPAD_3 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 20 , 0 , KEY_EN_NUMPAD_ENTER , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 18 , 0 , KEY_EN_NUMPAD_0 , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 19 , 0 , KEY_EN_NUMPAD_PERIOD , KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
/*--------------------------------------------------------------------------------------------------------- -------------------- *\
| Zone , Row , Column , Value , Name, Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 1 , 17 , 0 , KEY_EN_NUMPAD_LOCK , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 18 , 0 , KEY_EN_NUMPAD_DIVIDE , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 19 , 0 , KEY_EN_NUMPAD_TIMES , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 1 , 20 , 0 , KEY_EN_NUMPAD_MINUS , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 17 , 0 , KEY_EN_NUMPAD_7 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 18 , 0 , KEY_EN_NUMPAD_8 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 19 , 0 , KEY_EN_NUMPAD_9 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 2 , 20 , 0 , KEY_EN_NUMPAD_PLUS , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 17 , 0 , KEY_EN_NUMPAD_4 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 18 , 0 , KEY_EN_NUMPAD_5 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 3 , 19 , 0 , KEY_EN_NUMPAD_6 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 17 , 0 , KEY_EN_NUMPAD_1 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 18 , 0 , KEY_EN_NUMPAD_2 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 19 , 0 , KEY_EN_NUMPAD_3 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 4 , 20 , 0 , KEY_EN_NUMPAD_ENTER , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 18 , 0 , KEY_EN_NUMPAD_0 , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
{ 0 , 5 , 19 , 0 , KEY_EN_NUMPAD_PERIOD , KEY _EN_UNUSED, KEY BOARD_OPCODE_INSERT_SHIFT_RIGHT, } ,
} ;
keyboard_keymap_overlay iso_azerty
{
KEYBOARD_SIZE_FULL ,
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_FR_ASTERIX , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 1 , 0 , KEY_NORD_ANGLE_BRACKET , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 0 , 0 , KEY_FR_SUPER_2 , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 1 , 0 , KEY_FR_AMPERSAND , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 2 , 0 , KEY_FR_ACUTE_E , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 3 , 0 , KEY_FR_DOUBLEQUOTE , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 4 , 0 , KEY_EN_QUOTE , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 5 , 0 , KEY_FR_LEFT_PARENTHESIS , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 6 , 0 , KEY_EN_MINUS , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 7 , 0 , KEY_FR_GRAVE_E , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 8 , 0 , KEY_FR_UNDERSCORE , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 9 , 0 , KEY_FR_CEDILLA_C , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 10 , 0 , KEY_FR_GRAVE_A , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 11 , 0 , KEY_FR_RIGHT_PARENTHESIS , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 1 , 0 , KEY_EN_A , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 2 , 0 , KEY_EN_Z , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 11 , 0 , KEY_JP_CHEVRON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 12 , 0 , KEY_FR_DOLLAR , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 1 , 0 , KEY_EN_Q , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 10 , 0 , KEY_EN_M , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 11 , 0 , KEY_FR_GRAVE_U , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 2 , 0 , KEY_EN_W , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 8 , 0 , KEY_EN_COMMA , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 9 , 0 , KEY_EN_SEMICOLON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 10 , 0 , KEY_JP_COLON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 11 , 0 , KEY_FR_EXCLAIMATION , KEYBOARD_OPCODE_SWAP_ONLY , } ,
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone , Row , Column , Value , Name , Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_UNUSED , KEY_FR_ASTERIX , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 1 , 0 , KEY_EN_UNUSED , KEY_NORD_ANGLE_BRACKET , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 0 , 0 , KEY_EN_UNUSED , KEY_FR_SUPER_2 , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 1 , 0 , KEY_EN_UNUSED , KEY_FR_AMPERSAND , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 2 , 0 , KEY_EN_UNUSED , KEY_FR_ACUTE_E , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 3 , 0 , KEY_EN_UNUSED , KEY_FR_DOUBLEQUOTE , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 4 , 0 , KEY_EN_UNUSED , KEY_EN_QUOTE , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 5 , 0 , KEY_EN_UNUSED , KEY_FR_LEFT_PARENTHESIS , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 6 , 0 , KEY_EN_UNUSED , KEY_EN_MINUS , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 7 , 0 , KEY_EN_UNUSED , KEY_FR_GRAVE_E , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 8 , 0 , KEY_EN_UNUSED , KEY_FR_UNDERSCORE , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 9 , 0 , KEY_EN_UNUSED , KEY_FR_CEDILLA_C , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 10 , 0 , KEY_EN_UNUSED , KEY_FR_GRAVE_A , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 11 , 0 , KEY_EN_UNUSED , KEY_FR_RIGHT_PARENTHESIS , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 1 , 0 , KEY_EN_UNUSED , KEY_EN_A , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 2 , 0 , KEY_EN_UNUSED , KEY_EN_Z , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 11 , 0 , KEY_EN_UNUSED , KEY_JP_CHEVRON , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 12 , 0 , KEY_EN_UNUSED , KEY_FR_DOLLAR , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 1 , 0 , KEY_EN_UNUSED , KEY_EN_Q , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 10 , 0 , KEY_EN_UNUSED , KEY_EN_M , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 11 , 0 , KEY_EN_UNUSED , KEY_FR_GRAVE_U , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 2 , 0 , KEY_EN_UNUSED , KEY_EN_W , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 8 , 0 , KEY_EN_UNUSED , KEY_EN_COMMA , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 9 , 0 , KEY_EN_UNUSED , KEY_EN_SEMICOLON , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 10 , 0 , KEY_EN_UNUSED , KEY_JP_COLON , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 11 , 0 , KEY_EN_UNUSED , KEY_FR_EXCLAIMATION , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
}
} ;
@ -229,11 +230,12 @@ keyboard_keymap_overlay ansi_qwerty
{
KEYBOARD_SIZE_FULL ,
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 1 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone , Row , Column , Value , Name , Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 1 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
}
} ;
@ -241,10 +243,11 @@ keyboard_keymap_overlay iso_qwerty
{
KEYBOARD_SIZE_FULL ,
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone , Row , Column , Value , Name , Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
}
} ;
@ -252,22 +255,23 @@ keyboard_keymap_overlay iso_qwertz
{
KEYBOARD_SIZE_FULL ,
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_POUND , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 1 , 0 , KEY_NORD_ANGLE_BRACKET , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 0 , 0 , KEY_JP_CHEVRON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 11 , 0 , KEY_DE_ESZETT , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 12 , 0 , KEY_EN_BACK_TICK , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 6 , 0 , KEY_EN_Z , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 11 , 0 , KEY_DE_DIAERESIS_U , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 12 , 0 , KEY_EN_PLUS , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 10 , 0 , KEY_DE_DIAERESIS_O , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 11 , 0 , KEY_DE_DIAERESIS_A , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 2 , 0 , KEY_EN_Y , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 11 , 0 , KEY_EN_MINUS , KEYBOARD_OPCODE_SWAP_ONLY , } ,
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone , Row , Column , Value , Name , Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_UNUSED , KEY_EN_POUND , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 1 , 0 , KEY_EN_UNUSED , KEY_NORD_ANGLE_BRACKET , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 0 , 0 , KEY_EN_UNUSED , KEY_JP_CHEVRON , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 11 , 0 , KEY_EN_UNUSED , KEY_DE_ESZETT , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 12 , 0 , KEY_EN_UNUSED , KEY_EN_BACK_TICK , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 6 , 0 , KEY_EN_UNUSED , KEY_EN_Z , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 11 , 0 , KEY_EN_UNUSED , KEY_DE_DIAERESIS_U , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 12 , 0 , KEY_EN_UNUSED , KEY_EN_PLUS , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 10 , 0 , KEY_EN_UNUSED , KEY_DE_DIAERESIS_O , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 11 , 0 , KEY_EN_UNUSED , KEY_DE_DIAERESIS_A , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 2 , 0 , KEY_EN_UNUSED , KEY_EN_Y , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 11 , 0 , KEY_EN_UNUSED , KEY_EN_MINUS , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
}
} ;
@ -275,16 +279,17 @@ keyboard_keymap_overlay jis
{
KEYBOARD_SIZE_FULL ,
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_RIGHT_BRACKET , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 4 , 12 , 0 , KEY_EN_BACK_SLASH , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 1 , 12 , 0 , KEY_JP_CHEVRON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 11 , 0 , KEY_JP_AT , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 12 , 0 , KEY_EN_LEFT_BRACKET , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 3 , 11 , 0 , KEY_JP_COLON , KEYBOARD_OPCODE_SWAP_ONLY , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEYBOARD_OPCODE_SWAP_ONLY , } ,
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone , Row , Column , Value , Name , Alternate Name , OpCode |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
{ 0 , 3 , 12 , 0 , KEY_EN_RIGHT_BRACKET , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 4 , 12 , 0 , KEY_EN_BACK_SLASH , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 1 , 12 , 0 , KEY_JP_CHEVRON , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 11 , 0 , KEY_JP_AT , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 12 , 0 , KEY_EN_LEFT_BRACKET , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 3 , 11 , 0 , KEY_JP_COLON , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
{ 0 , 2 , 13 , 0 , KEY_EN_UNUSED , KEY_EN_UNUSED , KEYBOARD_OPCODE_ADD_ALT_NAME , } ,
}
} ;
@ -368,20 +373,20 @@ KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SI
| Non - English , non - QWERTY layouts are disabled |
| until proper translation feature is implemented |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
// case KEYBOARD_LAYOUT::KEYBOARD_LAYOUT_ISO_AZERTY:
// ChangeKeys(iso_azerty);
// tmp_name = KEYBOARD_NAME_AZERTY;
// break;
case KEYBOARD_LAYOUT : : KEYBOARD_LAYOUT_ISO_AZERTY :
ChangeKeys ( iso_azerty ) ;
tmp_name = KEYBOARD_NAME_AZERTY ;
break ;
// case KEYBOARD_LAYOUT::KEYBOARD_LAYOUT_ISO_QWERTZ:
// ChangeKeys(iso_qwertz);
// tmp_name = KEYBOARD_NAME_QWERTZ;
// break;
case KEYBOARD_LAYOUT : : KEYBOARD_LAYOUT_ISO_QWERTZ :
ChangeKeys ( iso_qwertz ) ;
tmp_name = KEYBOARD_NAME_QWERTZ ;
break ;
// case KEYBOARD_LAYOUT::KEYBOARD_LAYOUT_JIS:
// ChangeKeys(jis);
// tmp_name = KEYBOARD_NAME_JIS;
// break;
case KEYBOARD_LAYOUT : : KEYBOARD_LAYOUT_JIS :
ChangeKeys ( jis ) ;
tmp_name = KEYBOARD_NAME_JIS ;
break ;
}
/*---------------------------------------------------------------------*\
@ -496,6 +501,10 @@ void KeyboardLayoutManager::OpCodeSwitch(key_set change_keys)
RemoveRow ( change_keys [ chg_key_idx ] . row ) ;
break ;
case KEYBOARD_OPCODE_ADD_ALT_NAME :
AddAltName ( change_keys [ chg_key_idx ] ) ;
break ;
default :
LOG_DEBUG ( LOG_MSG_MISSING_OPCODE , KLM_CLASS_NAME , change_keys [ chg_key_idx ] . opcode ,
change_keys [ chg_key_idx ] . name , change_keys [ chg_key_idx ] . row , change_keys [ chg_key_idx ] . col ) ;
@ -836,8 +845,38 @@ void KeyboardLayoutManager::RemoveRow(uint8_t rmv_row)
}
}
std : : string KeyboardLayoutManager : : GetName ( )
void KeyboardLayoutManager : : AddAltName ( keyboard_led key )
{
/*---------------------------------------------------------------------*\
| Get the edit point |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
unsigned int edit_row = key . row ;
unsigned int edit_col = key . col ;
const char * edit_name = key . name ;
unsigned int edit_value = key . value ;
const char * edit_alt_name = key . alt_name ;
/*---------------------------------------------------------------------*\
| Otherwise , loop through and find the edit location |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
for ( unsigned int key_idx = 0 ; key_idx < keymap . size ( ) ; key_idx + + )
{
/*---------------------------------------------------------------------*\
| If the row and column are identical , we ' ve found the edit location |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
if ( ( edit_row = = keymap [ key_idx ] . row ) & & ( edit_col = = keymap [ key_idx ] . col ) )
{
/*---------------------------------------------------------------------*\
| Update the entry at this position with the new translated name |
\ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
LOG_DEBUG ( " [%s] Adding alternate name %s to %s @ %02d, %02d " , KLM_CLASS_NAME , edit_alt_name , keymap [ key_idx ] . name , keymap [ key_idx ] . row , keymap [ key_idx ] . col ) ;
keymap [ key_idx ] . alt_name = edit_alt_name ;
break ;
}
}
}
std : : string KeyboardLayoutManager : : GetName ( )
{
return name ;
}
@ -903,6 +942,29 @@ unsigned int KeyboardLayoutManager::GetKeyValueAt(unsigned int row, unsigned int
return - 1 ;
}
std : : string KeyboardLayoutManager : : GetKeyAltNameAt ( unsigned int key_idx )
{
if ( key_idx < keymap . size ( ) )
{
return keymap [ key_idx ] . alt_name ;
}
return KEY_EN_UNUSED ;
}
std : : string KeyboardLayoutManager : : GetKeyAltNameAt ( unsigned int row , unsigned int col )
{
for ( std : : vector < keyboard_led > : : iterator key = keymap . begin ( ) ; key ! = keymap . end ( ) ; + + key )
{
if ( key - > row = = row & & key - > col = = col )
{
return key - > alt_name ;
}
}
return KEY_EN_UNUSED ;
}
unsigned int KeyboardLayoutManager : : GetRowCount ( )
{
return rows ;