diff --git a/MiSTer.ini b/MiSTer.ini index c0ff55d..a5816e1 100644 --- a/MiSTer.ini +++ b/MiSTer.ini @@ -138,7 +138,7 @@ shared_folder= ;custom_aspect_ratio_1=16:10 ;custom_aspect_ratio_2=1:1 -; use specific (VID/PID) mouse X movement as a spinner and paddle. +; use specific (VID/PID) mouse X movement as a spinner and paddle. Use VID=0xFFFF/PID=0xFFFF to use all mice as spinners. ; spinner_throttle with base value 100 gives one spinner step per one tick. Higher value makes spinner slower. ; Lower than 100 makes spinner faster. Negative value gives opposite direction. ;spinner_vid=0x1BCF diff --git a/input.cpp b/input.cpp index 4e06e82..186244e 100644 --- a/input.cpp +++ b/input.cpp @@ -2763,7 +2763,7 @@ void mergedevs() } //copy missing fields to mouseX - for (int i = 0; i < NUMDEV; i++) if (input[i].mouse) + for (int i = 0; i < NUMDEV; i++) if (input[i].mouse && input[i].quirk != QUIRK_MSSP) { for (int j = 0; j < NUMDEV; j++) if (!input[j].mouse) { @@ -2929,6 +2929,12 @@ int input_test(int getchar) } } + //All mice as spinners + if (input[n].mouse && cfg.spinner_vid == 0xFFFF && cfg.spinner_pid == 0xFFFF) + { + input[n].quirk = QUIRK_MSSP; + } + if (strcasestr(input[n].name, "Wiimote") && input[n].vid == 1 && input[n].pid == 1) { input[n].quirk = QUIRK_CWIID;