From d3b05ce67d5578038098565571dfc4e636f56d3c Mon Sep 17 00:00:00 2001 From: esplo Date: Fri, 18 Apr 2025 16:38:03 +0900 Subject: [PATCH] add all_keys_are_mouse_keys on kb_config --- keyboards/cue2keys/cue2keys.c | 8 +++++ keyboards/cue2keys/kb_config.c | 60 +++++++++++++++++++------------- keyboards/cue2keys/kb_config.h | 4 +++ keyboards/cue2keys/keyboard.json | 5 +++ 4 files changed, 53 insertions(+), 24 deletions(-) diff --git a/keyboards/cue2keys/cue2keys.c b/keyboards/cue2keys/cue2keys.c index 7f5612de4da..d82b010b00a 100644 --- a/keyboards/cue2keys/cue2keys.c +++ b/keyboards/cue2keys/cue2keys.c @@ -407,4 +407,12 @@ uint16_t pointing_device_driver_get_cpi(void) { void pointing_device_driver_set_cpi(uint16_t cpi) { modular_adns5050_pointing_device_driver.set_cpi(cpi); } + +bool is_mouse_record_kb(uint16_t keycode, keyrecord_t *record) { + if (layer_state_is(get_auto_mouse_layer()) && kb_config.all_keys_are_mouse_keys) { + return true; + } + + return is_mouse_record_user(keycode, record); +} #endif diff --git a/keyboards/cue2keys/kb_config.c b/keyboards/cue2keys/kb_config.c index 776cef0fc47..79e297c3376 100644 --- a/keyboards/cue2keys/kb_config.c +++ b/keyboards/cue2keys/kb_config.c @@ -13,6 +13,7 @@ void my_kb_config_init(kb_config_t* kb_config) { kb_config->invert_drag_scroll_y = 0; kb_config->drag_scroll_speed_magnification = 4; kb_config->trackball_led_off_timeout = 1; + kb_config->all_keys_are_mouse_keys = 0; kb_config->_dummy_tb = 0; kb_config->re_resolution_1 = 2; kb_config->re_resolution_2 = 2; @@ -47,6 +48,7 @@ void debug_output_kb_config(kb_config_t* kb_config) { dprintf("%s = %" PRIu32 "\n", "invert_drag_scroll_y", (uint32_t)kb_config->invert_drag_scroll_y); dprintf("%s = %" PRIu32 "\n", "drag_scroll_speed_magnification", (uint32_t)kb_config->drag_scroll_speed_magnification); dprintf("%s = %" PRIu32 "\n", "trackball_led_off_timeout", (uint32_t)kb_config->trackball_led_off_timeout); + dprintf("%s = %" PRIu32 "\n", "all_keys_are_mouse_keys", (uint32_t)kb_config->all_keys_are_mouse_keys); dprintf("%s = %" PRIu32 "\n", "_dummy_tb", (uint32_t)kb_config->_dummy_tb); dprintf("%s = %" PRIu32 "\n", "re_resolution_1", (uint32_t)kb_config->re_resolution_1); dprintf("%s = %" PRIu32 "\n", "re_resolution_2", (uint32_t)kb_config->re_resolution_2); @@ -131,6 +133,9 @@ bool process_kb_config_modification(kb_config_t* kb_config, uint16_t keycode, ke case TRACKBALL_LED_OFF_TIMEOUT_M1: kb_config->trackball_led_off_timeout = ((uint64_t)kb_config->trackball_led_off_timeout + 4 - 1) % 4; return false; + case ALL_KEYS_ARE_MOUSE_KEYS_P1: + kb_config->all_keys_are_mouse_keys = ((uint64_t)kb_config->all_keys_are_mouse_keys + 2 + 1) % 2; + return false; case ROTARY_ENCODER_1_RESOLUTION_P1: kb_config->re_resolution_1 = ((uint64_t)kb_config->re_resolution_1 + 4 + 1) % 4; return false; @@ -259,25 +264,32 @@ void oled_kb_config_output(kb_config_t* kb_config, uint8_t page) { oled_write_P(PSTR(", "), false); { static char type_count_str[8]; - oled_write_P(PSTR("rr1:"), false); - itoa(kb_config->re_resolution_1, type_count_str, 10); + oled_write_P(PSTR("amk:"), false); + itoa(kb_config->all_keys_are_mouse_keys, type_count_str, 10); oled_write_P(type_count_str, false); } oled_write_P(PSTR(", "), false); { static char type_count_str[8]; - oled_write_P(PSTR("rr2:"), false); - itoa(kb_config->re_resolution_2, type_count_str, 10); + oled_write_P(PSTR("rr1:"), false); + itoa(kb_config->re_resolution_1, type_count_str, 10); oled_write_P(type_count_str, false); } oled_write_P(PSTR(", "), false); break; case 2: { static char type_count_str[8]; - oled_write_P(PSTR("rr3:"), false); - itoa(kb_config->re_resolution_3, type_count_str, 10); + oled_write_P(PSTR("rr2:"), false); + itoa(kb_config->re_resolution_2, type_count_str, 10); oled_write_P(type_count_str, false); } + oled_write_P(PSTR(", "), false); + { + static char type_count_str[8]; + oled_write_P(PSTR("rr3:"), false); + itoa(kb_config->re_resolution_3, type_count_str, 10); + oled_write_P(type_count_str, false); + } oled_write_P(PSTR(", "), false); { static char type_count_str[8]; @@ -307,20 +319,20 @@ void oled_kb_config_output(kb_config_t* kb_config, uint8_t page) { oled_write_P(type_count_str, false); } oled_write_P(PSTR(", "), false); - { - static char type_count_str[8]; - oled_write_P(PSTR("rr8:"), false); - itoa(kb_config->re_resolution_8, type_count_str, 10); - oled_write_P(type_count_str, false); - } - oled_write_P(PSTR(", "), false); break; case 3: { static char type_count_str[8]; - oled_write_P(PSTR("rr9:"), false); - itoa(kb_config->re_resolution_9, type_count_str, 10); + oled_write_P(PSTR("rr8:"), false); + itoa(kb_config->re_resolution_8, type_count_str, 10); oled_write_P(type_count_str, false); } + oled_write_P(PSTR(", "), false); + { + static char type_count_str[8]; + oled_write_P(PSTR("rr9:"), false); + itoa(kb_config->re_resolution_9, type_count_str, 10); + oled_write_P(type_count_str, false); + } oled_write_P(PSTR(", "), false); { static char type_count_str[8]; @@ -350,20 +362,20 @@ void oled_kb_config_output(kb_config_t* kb_config, uint8_t page) { oled_write_P(type_count_str, false); } oled_write_P(PSTR(", "), false); - { - static char type_count_str[8]; - oled_write_P(PSTR("rr14:"), false); - itoa(kb_config->re_resolution_14, type_count_str, 10); - oled_write_P(type_count_str, false); - } - oled_write_P(PSTR(", "), false); break; case 4: { static char type_count_str[8]; - oled_write_P(PSTR("rr15:"), false); - itoa(kb_config->re_resolution_15, type_count_str, 10); + oled_write_P(PSTR("rr14:"), false); + itoa(kb_config->re_resolution_14, type_count_str, 10); oled_write_P(type_count_str, false); } + oled_write_P(PSTR(", "), false); + { + static char type_count_str[8]; + oled_write_P(PSTR("rr15:"), false); + itoa(kb_config->re_resolution_15, type_count_str, 10); + oled_write_P(type_count_str, false); + } oled_write_P(PSTR(", "), false); { static char type_count_str[8]; diff --git a/keyboards/cue2keys/kb_config.h b/keyboards/cue2keys/kb_config.h index 5db53f6d68e..dbe5a4bbebd 100644 --- a/keyboards/cue2keys/kb_config.h +++ b/keyboards/cue2keys/kb_config.h @@ -32,6 +32,7 @@ enum my_keycodes { DRAG_SCROLL_SPEED_MAGNIFICATION_M1, TRACKBALL_LED_OFF_TIMEOUT_P1, TRACKBALL_LED_OFF_TIMEOUT_M1, + ALL_KEYS_ARE_MOUSE_KEYS_P1, ROTARY_ENCODER_1_RESOLUTION_P1, ROTARY_ENCODER_2_RESOLUTION_P1, ROTARY_ENCODER_3_RESOLUTION_P1, @@ -80,6 +81,9 @@ typedef union { // Trackball LED off timeout (never, 5min, 10min, 15 min) // 2^2=4, default: 1, max: 3 uint32_t trackball_led_off_timeout : 2; + // All keys are treated as mouse keys (true/false) + // 2^1=2, default: 0, max: 1 + uint32_t all_keys_are_mouse_keys : 1; // Dummy value // 2^32=4294967296, default: 0, max: 0 uint32_t _dummy_tb : 32; diff --git a/keyboards/cue2keys/keyboard.json b/keyboards/cue2keys/keyboard.json index 8d7d4223712..6bb844cd88d 100644 --- a/keyboards/cue2keys/keyboard.json +++ b/keyboards/cue2keys/keyboard.json @@ -110,6 +110,11 @@ "shortName": "tlt_M1", "title": "Trackball LED off timeout (never, 5min, 10min, 15 min)" }, + { + "name": "ALL_KEYS_ARE_MOUSE_KEYS_P1", + "shortName": "amk_P1", + "title": "All keys are treated as mouse keys (true/false)" + }, { "name": "ROTARY_ENCODER_1_RESOLUTION_P1", "shortName": "rr1_P1",