ia64/xen-unstable
changeset 6512:e5ea9df58340
Fix Mouse hang with VNC
I've made some progress on this problem. Turns out, the VNC emulator is
a little over aggressive in dealing with reset commands for the mouse.
Since there are commands that enable and disable the mouse the VNC
emulator provides this control. Unfortunately, VNC also interprets
either a `reset' or `set to default' command to also disable the mouse.
This is wrong, neither of these commands are supposed to affect the
enabled status of the mouse so that, when X sends a `reset', no futher
mouse data is sent, making it look like X is hung.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
I've made some progress on this problem. Turns out, the VNC emulator is
a little over aggressive in dealing with reset commands for the mouse.
Since there are commands that enable and disable the mouse the VNC
emulator provides this control. Unfortunately, VNC also interprets
either a `reset' or `set to default' command to also disable the mouse.
This is wrong, neither of these commands are supposed to affect the
enabled status of the mouse so that, when X sends a `reset', no futher
mouse data is sent, making it look like X is hung.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
author | adsharma@los-vmm.sc.intel.com |
---|---|
date | Tue Aug 09 11:06:44 2005 -0800 (2005-08-09) |
parents | c463720c5439 |
children | 242b3654b529 |
files | tools/ioemu/hw/pckbd.c |
line diff
1.1 --- a/tools/ioemu/hw/pckbd.c Tue Aug 09 11:06:44 2005 -0800 1.2 +++ b/tools/ioemu/hw/pckbd.c Tue Aug 09 11:06:44 2005 -0800 1.3 @@ -704,14 +704,14 @@ int spare; 1.4 case AUX_SET_DEFAULT: 1.5 s->mouse_sample_rate = 100; 1.6 s->mouse_resolution = 2; 1.7 - s->mouse_status = 0; 1.8 + s->mouse_status &= MOUSE_STATUS_ENABLED; 1.9 s->touchpad.absolute = 0; 1.10 kbd_queue(s, AUX_ACK, 1); 1.11 break; 1.12 case AUX_RESET: 1.13 s->mouse_sample_rate = 100; 1.14 s->mouse_resolution = 2; 1.15 - s->mouse_status = 0; 1.16 + s->mouse_status &= MOUSE_STATUS_ENABLED; 1.17 s->touchpad.absolute = 0; 1.18 kbd_queue(s, AUX_ACK, 1); 1.19 kbd_queue(s, 0xaa, 1);