From ca45c75350ba8f1b3b1c1228d645d0f4b2299504 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 7 Jul 2014 19:02:45 -0400 Subject: [PATCH] PS/2 bus manager check all valid values According to korli "Valid values seem to be between 255 and -256" which is verified by syslog running on virtual box with a PS/2 mouse on Haiku hrev47470. Fixes #7802 Signed-off-by: John Scipione --- src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp b/src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp index 65c1c78a50..5dbe34562f 100644 --- a/src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp +++ b/src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp @@ -230,7 +230,7 @@ standard_mouse_handle_int(ps2_dev* dev) if (cookie->packet_index == 1) { int xDelta = ((cookie->buffer[0] & 0x10) ? 0xFFFFFF00 : 0) | data; - if (xDelta < -100 || xDelta > 100) { + if (xDelta < -256 || xDelta > 255) { INFO("ps2: strange mouse data, x-delta %d, trying resync\n", xDelta); cookie->packet_index = 0; @@ -240,7 +240,7 @@ standard_mouse_handle_int(ps2_dev* dev) if (cookie->packet_index == 2) { int yDelta = ((cookie->buffer[0] & 0x20) ? 0xFFFFFF00 : 0) | data; - if (yDelta < -100 || yDelta > 100) { + if (yDelta < -256 || yDelta > 255) { INFO("ps2: strange mouse data, y-delta %d, trying resync\n", yDelta); cookie->packet_index = 0;