rawinput: deal with high poll rate devices, use 3x3 for default for rb touch emu (#796)

## Link to GitHub Issue or related Pull Request, if one exists
n/a

## Description of change
Two changes:

1. Handle all HID events in `WM_INPUT` and not just the first one. This
only really affects 4000Hz / 8000Hz HID devices.
2. Go back to `3x3` as the default for rb IR touch emulation and remove
`1x1` as an option as it does not perform as well as I expected.

## Testing
This commit is contained in:
bicarus
2026-07-12 10:32:29 -07:00
committed by GitHub
parent 27077aa21f
commit d7c144646f
7 changed files with 176 additions and 160 deletions
+2 -2
View File
@@ -41,7 +41,7 @@ void games::rb::RBGame::attach() {
Game::attach();
if (1000 < games::rb::TOUCH_POLL_RATE) {
log_fatal("rb", "-rbtouchsize is set too high; cannot exceed 1000");
log_fatal("rb", "-rbtouchhz is set too high; cannot exceed 1000");
}
// init stuff
@@ -60,7 +60,7 @@ void games::rb::RBGame::attach() {
log_info("rb", "force increasing touch poll rate by hooking SleepEx ({}Hz)", TOUCH_POLL_RATE);
SleepEx_orig = detour::iat_try("SleepEx", SleepEx_hook, avs::game::DLL_INSTANCE);
} else {
log_info("rb", "not changing touch poll rate (120Hz by default)");
log_info("rb", "not changing touch poll rate (~125Hz by default)");
}
}