From 87e7637f8d242d3e8e06d0ba76ecf86bbd8af3c7 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 27 Sep 2026 19:09:46 +0200 Subject: properly implement msmouse-like sensitivity, separate from speed --- moustest.c | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'moustest.c') diff --git a/moustest.c b/moustest.c index 3270c9c..0d71921 100644 --- a/moustest.c +++ b/moustest.c @@ -142,7 +142,7 @@ void gui_draw_title() const int cols = vidconf.numtextcols; gui_draw_textwindow(1, 1, 1, cols, GUI_COLOR_BAR); - gui_print(GUI_COLOR_BAR, "MOUSTEST ESC to exit, 'm'ode, 'r'eset, 's'how, 'h'ide, s'p'eed"); + gui_print(GUI_COLOR_BAR, "MOUSTEST ESC to exit, 'm'ode, 'r'eset, 's'how, 'h'ide, s'p'eed, sensi't'"); } void gui_draw_status() @@ -584,6 +584,35 @@ void mouse_report() } void mouse_speed() +{ + uint16_t speed_x = 8, speed_y = 16; + bool update = false; + char buffer[16] = {'\0'}; + int ret; + + console_printf("X speed [default=8] ? "); + ret = console_getline(buffer, sizeof(buffer)-1); + if (ret > 0) { + speed_x = atoi(buffer); + update = true; + } + + console_printf("Y speed [default=16] ? "); + ret = console_getline(buffer, sizeof(buffer)-1); + if (ret > 0) { + speed_y = atoi(buffer); + update = true; + } + + if (update) { + int33_set_mouse_speed(speed_x, speed_y); + console_printf("Values updated: %u %u\n", speed_x, speed_y); + } else { + console_printf("No values changed\n"); + } +} + +void mouse_sensitivity() { uint16_t speed_x, speed_y, double_speed_threshold; bool update = false; @@ -592,14 +621,14 @@ void mouse_speed() int33_get_sensitivity(&speed_x, &speed_y, &double_speed_threshold); - console_printf("X speed [default=8, current=%u] ? ", speed_x); + console_printf("X sensitivity [default=50, current=%u] ? ", speed_x); ret = console_getline(buffer, sizeof(buffer)-1); if (ret > 0) { speed_x = atoi(buffer); update = true; } - console_printf("Y speed [default=16, current=%u] ? ", speed_y); + console_printf("Y sensitivity [default=50, current=%u] ? ", speed_y); ret = console_getline(buffer, sizeof(buffer)-1); if (ret > 0) { speed_y = atoi(buffer); @@ -797,6 +826,10 @@ int main(int argc, const char *argv[]) break; case 'p': mouse_speed(); + break; + case 't': + mouse_sensitivity(); + break; case 'd': mouse_debug(); break; -- cgit v1.2.3