diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c index 4531cc851a..b62ced6b36 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.c +++ b/quantum/pointing_device/pointing_device_auto_mouse.c @@ -56,6 +56,10 @@ bool is_auto_mouse_active(void) { #ifdef AUTO_MOUSE_ONESHOT return auto_mouse_context.status.is_activated || auto_mouse_context.status.mouse_key_tracker || layer_hold_check() || auto_mouse_context.one_shot; #else + printf("is_auto_mouse_active\n"); + printf("is_activated: %d\n", auto_mouse_context.status.is_activated); + printf("mouse_key_tracker: %d\n", auto_mouse_context.status.mouse_key_tracker); + printf("layer_hold_check: %d\n", layer_hold_check()); return auto_mouse_context.status.is_activated || auto_mouse_context.status.mouse_key_tracker || layer_hold_check(); #endif } @@ -204,6 +208,18 @@ void auto_mouse_toggle(void) { auto_mouse_context.timer.delay = 0; } +/** @brief set toggled mouse layer flag + * + * Change state of local layer_toggled bool meant to track when the mouse layer is toggled on by other means + * + * NOTE: While is_toggled is true it will prevent deactiving target layer (but not activation) + * + * @param[in] toggled bool + */ +void set_auto_mouse_toggled(bool toggled) { + auto_mouse_context.status.is_toggled = toggled; +} + /** * @brief Remove current auto mouse target layer from layer state * diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h index cab4310904..36f494b4b3 100644 --- a/quantum/pointing_device/pointing_device_auto_mouse.h +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -86,6 +86,7 @@ uint8_t get_auto_mouse_layer(void); // get t void set_auto_mouse_timeout(uint16_t timeout); // set layer timeout uint16_t get_auto_mouse_timeout(void); // get layer timeout void set_auto_mouse_debounce(uint8_t debounce); // set debounce +void set_auto_mouse_toggled(bool toggled); // set toggled mouse layer flag uint8_t get_auto_mouse_debounce(void); // get debounce void set_auto_mouse_key_tracker(int8_t key_tracker); // set key tracker int8_t get_auto_mouse_key_tracker(void); // get key tracker