add all_keys_are_mouse_keys on kb_config

This commit is contained in:
esplo 2025-04-18 16:38:03 +09:00
parent 3b2165286d
commit d3b05ce67d
4 changed files with 53 additions and 24 deletions

View File

@ -407,4 +407,12 @@ uint16_t pointing_device_driver_get_cpi(void) {
void pointing_device_driver_set_cpi(uint16_t cpi) { void pointing_device_driver_set_cpi(uint16_t cpi) {
modular_adns5050_pointing_device_driver.set_cpi(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 #endif

View File

@ -13,6 +13,7 @@ void my_kb_config_init(kb_config_t* kb_config) {
kb_config->invert_drag_scroll_y = 0; kb_config->invert_drag_scroll_y = 0;
kb_config->drag_scroll_speed_magnification = 4; kb_config->drag_scroll_speed_magnification = 4;
kb_config->trackball_led_off_timeout = 1; kb_config->trackball_led_off_timeout = 1;
kb_config->all_keys_are_mouse_keys = 0;
kb_config->_dummy_tb = 0; kb_config->_dummy_tb = 0;
kb_config->re_resolution_1 = 2; kb_config->re_resolution_1 = 2;
kb_config->re_resolution_2 = 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", "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", "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", "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", "_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_1", (uint32_t)kb_config->re_resolution_1);
dprintf("%s = %" PRIu32 "\n", "re_resolution_2", (uint32_t)kb_config->re_resolution_2); 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: case TRACKBALL_LED_OFF_TIMEOUT_M1:
kb_config->trackball_led_off_timeout = ((uint64_t)kb_config->trackball_led_off_timeout + 4 - 1) % 4; kb_config->trackball_led_off_timeout = ((uint64_t)kb_config->trackball_led_off_timeout + 4 - 1) % 4;
return false; 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: case ROTARY_ENCODER_1_RESOLUTION_P1:
kb_config->re_resolution_1 = ((uint64_t)kb_config->re_resolution_1 + 4 + 1) % 4; kb_config->re_resolution_1 = ((uint64_t)kb_config->re_resolution_1 + 4 + 1) % 4;
return false; return false;
@ -259,25 +264,32 @@ void oled_kb_config_output(kb_config_t* kb_config, uint8_t page) {
oled_write_P(PSTR(", "), false); oled_write_P(PSTR(", "), false);
{ {
static char type_count_str[8]; static char type_count_str[8];
oled_write_P(PSTR("rr1:"), false); oled_write_P(PSTR("amk:"), false);
itoa(kb_config->re_resolution_1, type_count_str, 10); itoa(kb_config->all_keys_are_mouse_keys, type_count_str, 10);
oled_write_P(type_count_str, false); oled_write_P(type_count_str, false);
} }
oled_write_P(PSTR(", "), false); oled_write_P(PSTR(", "), false);
{ {
static char type_count_str[8]; static char type_count_str[8];
oled_write_P(PSTR("rr2:"), false); oled_write_P(PSTR("rr1:"), false);
itoa(kb_config->re_resolution_2, type_count_str, 10); itoa(kb_config->re_resolution_1, type_count_str, 10);
oled_write_P(type_count_str, false); oled_write_P(type_count_str, false);
} }
oled_write_P(PSTR(", "), false); oled_write_P(PSTR(", "), false);
break; break;
case 2: { case 2: {
static char type_count_str[8]; static char type_count_str[8];
oled_write_P(PSTR("rr3:"), false); oled_write_P(PSTR("rr2:"), false);
itoa(kb_config->re_resolution_3, type_count_str, 10); itoa(kb_config->re_resolution_2, type_count_str, 10);
oled_write_P(type_count_str, false); 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); oled_write_P(PSTR(", "), false);
{ {
static char type_count_str[8]; 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(type_count_str, false);
} }
oled_write_P(PSTR(", "), 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; break;
case 3: { case 3: {
static char type_count_str[8]; static char type_count_str[8];
oled_write_P(PSTR("rr9:"), false); oled_write_P(PSTR("rr8:"), false);
itoa(kb_config->re_resolution_9, type_count_str, 10); itoa(kb_config->re_resolution_8, type_count_str, 10);
oled_write_P(type_count_str, false); 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); oled_write_P(PSTR(", "), false);
{ {
static char type_count_str[8]; 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(type_count_str, false);
} }
oled_write_P(PSTR(", "), 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; break;
case 4: { case 4: {
static char type_count_str[8]; static char type_count_str[8];
oled_write_P(PSTR("rr15:"), false); oled_write_P(PSTR("rr14:"), false);
itoa(kb_config->re_resolution_15, type_count_str, 10); itoa(kb_config->re_resolution_14, type_count_str, 10);
oled_write_P(type_count_str, false); 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); oled_write_P(PSTR(", "), false);
{ {
static char type_count_str[8]; static char type_count_str[8];

View File

@ -32,6 +32,7 @@ enum my_keycodes {
DRAG_SCROLL_SPEED_MAGNIFICATION_M1, DRAG_SCROLL_SPEED_MAGNIFICATION_M1,
TRACKBALL_LED_OFF_TIMEOUT_P1, TRACKBALL_LED_OFF_TIMEOUT_P1,
TRACKBALL_LED_OFF_TIMEOUT_M1, TRACKBALL_LED_OFF_TIMEOUT_M1,
ALL_KEYS_ARE_MOUSE_KEYS_P1,
ROTARY_ENCODER_1_RESOLUTION_P1, ROTARY_ENCODER_1_RESOLUTION_P1,
ROTARY_ENCODER_2_RESOLUTION_P1, ROTARY_ENCODER_2_RESOLUTION_P1,
ROTARY_ENCODER_3_RESOLUTION_P1, ROTARY_ENCODER_3_RESOLUTION_P1,
@ -80,6 +81,9 @@ typedef union {
// Trackball LED off timeout (never, 5min, 10min, 15 min) // Trackball LED off timeout (never, 5min, 10min, 15 min)
// 2^2=4, default: 1, max: 3 // 2^2=4, default: 1, max: 3
uint32_t trackball_led_off_timeout : 2; 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 // Dummy value
// 2^32=4294967296, default: 0, max: 0 // 2^32=4294967296, default: 0, max: 0
uint32_t _dummy_tb : 32; uint32_t _dummy_tb : 32;

View File

@ -110,6 +110,11 @@
"shortName": "tlt_M1", "shortName": "tlt_M1",
"title": "Trackball LED off timeout (never, 5min, 10min, 15 min)" "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", "name": "ROTARY_ENCODER_1_RESOLUTION_P1",
"shortName": "rr1_P1", "shortName": "rr1_P1",