Daniel P. Berrange
2007-Feb-07 03:29 UTC
[Xen-devel] [PATCH] Support all 8 mouse buttons in PVFB
The VNC protocol allows upto 8 mouse buttons. The Dom0 -> DomU paravirt FB protocol supports upto 8 mouse buttons. The VNC server in Dom0 simply drops all mouse buttons > 3. Similarly when declaring capabilities to the kernel, the xenkdb.c driver in DomU simply says it only supports 3 buttons, but evdev is perfectly capable of exposing all 8 buttons. These two limitations both mean that the mouse scroll wheels don''t work in paravirt DomU. The fixes for both these issues are trivial - just add in the relevant evdev constants for buttons 4 -> 8. Now I don''t actually have an 8 button mouse handy to explicitly test upto 8, but I''ve no reason to believe that buttons 4-8 have any non-linear ordering - only right & middle buttons seem to be wierd in this regard. I''ve tested with a 5 button mouse & confirmed the scrollwheel is operating correctly. ie, if you run ''xev'' in Dom0 and ''xev'' in DomU you see the same X mouse button events in both cases, and the scroll up & down functions work correctly. I''m attaching two patches. One fixes the fbfront/xenkbd.c driver (it applies against xen-devel - should be trivial to fixup against Gerd''s latest patch). The other patch fixes the VNC server - it also removes a c99-ism since we don''t compile with c99 enabled. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel