From cac99a8bf4293223ba9824c734d902971e328e1f Mon Sep 17 00:00:00 2001 From: SarahW Date: Fri, 6 Mar 2020 22:10:38 +0000 Subject: [PATCH] Added PS/2 mouse command 0xeb (Get Mouse Data). --- src/mouse_ps2.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/mouse_ps2.c b/src/mouse_ps2.c index 32f38f9..e6c065f 100644 --- a/src/mouse_ps2.c +++ b/src/mouse_ps2.c @@ -96,6 +96,27 @@ void mouse_ps2_write(uint8_t val, void *p) keyboard_at_adddata_mouse(mouse->sample_rate); break; + case 0xeb: /*Get mouse data*/ + keyboard_at_adddata_mouse(0xfa); + + temp = 0; + if (mouse->x < 0) + temp |= 0x10; + if (mouse->y < 0) + temp |= 0x20; + if (mouse_buttons & 1) + temp |= 1; + if (mouse_buttons & 2) + temp |= 2; + if ((mouse_buttons & 4) && (mouse_get_type(mouse_type) & MOUSE_TYPE_3BUTTON)) + temp |= 4; + keyboard_at_adddata_mouse(temp); + keyboard_at_adddata_mouse(mouse->x & 0xff); + keyboard_at_adddata_mouse(mouse->y & 0xff); + if (mouse->intellimouse_mode) + keyboard_at_adddata_mouse(mouse->z); + break; + case 0xf2: /*Read ID*/ keyboard_at_adddata_mouse(0xfa); if (mouse->intellimouse_mode)