diff --git a/firmware/src/USB.h b/firmware/src/USB.h index 7ac1bae1..3768b033 100644 --- a/firmware/src/USB.h +++ b/firmware/src/USB.h @@ -32,7 +32,7 @@ /* Must be 6 for boot-compliant keyboard, Must be 16 for NKRO */ -#define KEYBOARD_ARRAY_LENGTH (16) +#define KEYBOARD_ARRAY_LENGTH (18) #define MAX_NKRO_CODE (0x7F) #define USB_KEYBOARD_UPDATE_RATE_MS (1) diff --git a/firmware/src/keymap.c b/firmware/src/keymap.c index 9dfe11b7..fd523624 100644 --- a/firmware/src/keymap.c +++ b/firmware/src/keymap.c @@ -99,7 +99,7 @@ uint8_t g_locked_layer; uint8_t g_layer_select; uint8_t g_modifier_state; uint8_t g_report_buffer[HID_ROLLOVER_SIZE+1]; -uint8_t g_nkro_field[REAL_NKRO_SIZE]; +uint8_t g_nkro_field[KEYBOARD_ARRAY_LENGTH]; #ifdef KEYMAP_MEMORY_SAVE uint8_t g_matrixlayer[NUMBER_OF_ROWS][NUMBER_OF_COLS]; #else @@ -709,6 +709,11 @@ void handle_code_actuate(const uint8_t code, const uint8_t action, const uint8_t case HID_KEYBOARD_SC_F22: case HID_KEYBOARD_SC_F23: case HID_KEYBOARD_SC_F24: + case HID_KEYBOARD_SC_INTERNATIONAL1: + case HID_KEYBOARD_SC_INTERNATIONAL2: + case HID_KEYBOARD_SC_INTERNATIONAL3: + case HID_KEYBOARD_SC_INTERNATIONAL4: + case HID_KEYBOARD_SC_INTERNATIONAL5: #ifdef MACRO_RAM_SIZE if (g_recording_macro) record_stroke(code); @@ -1002,6 +1007,11 @@ void handle_code_deactuate(const uint8_t code, const uint8_t action, const uint8 case HID_KEYBOARD_SC_F22: case HID_KEYBOARD_SC_F23: case HID_KEYBOARD_SC_F24: + case HID_KEYBOARD_SC_INTERNATIONAL1: + case HID_KEYBOARD_SC_INTERNATIONAL2: + case HID_KEYBOARD_SC_INTERNATIONAL3: + case HID_KEYBOARD_SC_INTERNATIONAL4: + case HID_KEYBOARD_SC_INTERNATIONAL5: #ifdef MACRO_RAM_SIZE if (g_recording_macro && g_keylock_flag) check_finish_password_record(code); @@ -1278,7 +1288,7 @@ void get_nkro_report(uint8_t * const buffer) if (g_keylock_flag) return; - for (i=0; i