[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID d
From: |
Brad Campbell |
Subject: |
[Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server) |
Date: |
Mon, 10 Apr 2006 00:27:12 +0400 |
User-agent: |
Thunderbird 1.6a1 (X11/20060214) |
Brad Campbell wrote:
Lonnie Mendez wrote:
Please see the patch posted yesterday to this mailing list:
http://gnome.dnsalias.net/patches/qemu-hidmousexp.patch
Ta for that.. not sure how I missed it.
Now to try and get it to work..
Ok.. 1st cut.. it's not great, and it's not hooked up to anything at the moment (the mouse just
tootles around the screen on a timer) BUT! we have absolute movement.
The *stunning* news is it's resolution independent.. 640x480 - 800x600 -
1024x768
0,0 is top left and 7fff.7fff is bottom right.. no client scaling required..
Think I've figured out the Z axis thing also.. and we are good for relative
movement on that still
(The Z axis below is way wrong, but I think I have figured it out)
static const uint8_t qemu_mouse_hid_report_descriptor[] = {
0x05, 0x01, /* Usage Page Generic Desktop */
0x09, 0x01, /* Usage Mouse */
0xA1, 0x01, /* Collection Application */
0x09, 0x01, /* Usage Pointer */
0xA1, 0x00, /* Collection Physical */
0x05, 0x09, /* Usage Page Button */
0x19, 0x01, /* Usage Minimum Button 1 */
0x29, 0x03, /* Usage Maximum Button 3 */
0x15, 0x00, /* Logical Minimum 0 */
0x25, 0x01, /* Logical Maximum 1 */
0x95, 0x03, /* Report Count 3 */
0x75, 0x01, /* Report Size 1 */
0x81, 0x02, /* Input (Data, Var, Abs) */
0x95, 0x01, /* Report Count 1 */
0x75, 0x05, /* Report Size 5 */
0x81, 0x01, /* Input (Cnst, Var, Abs) */
0x05, 0x01, /* Usage Page Generic Desktop */
0x09, 0x30, /* Usage X */
0x09, 0x31, /* Usage Y */
0x15, 0x00, /* Logical Minimum 0 */
0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum 0xffff */
0x75, 0x10, /* Report Size 32 */
0x95, 0x02, /* Report Count 2 */
0x81, 0x02, /* Input (Data, Var, Abs) */
// 0x09, 0x32, /* Usage Z */
// 0x15, 0x81, /* Logical Minimum -127 */
// 0x25, 0x7F, /* Logical Maximum 127 */
// 0x75, 0x08, /* Report Size 8 */
// 0x95, 0x01, /* Report Count 1 */
0xC0, /* End Collection */
0xC0, /* End Collection */
};
#endif
static int usb_mouse_poll(USBMouseState *s, uint8_t *buf, int len)
{
int dx, dy, dz, b, l, aa, bb, cc, dd;
dx = int_clamp(s->dx, -128, 127);
dy = int_clamp(s->dy, -128, 127);
dz = int_clamp(s->dz, -128, 127);
s->dx -= dx;
s->dy -= dy;
s->dz -= dz;
b = 0;
if (s->buttons_state & MOUSE_EVENT_LBUTTON)
b |= 0x01;
if (s->buttons_state & MOUSE_EVENT_RBUTTON)
b |= 0x02;
if (s->buttons_state & MOUSE_EVENT_MBUTTON)
b |= 0x04;
buf[0] = b;
buf[1] = s->X & 0xff;
buf[2] = s->X >> 8;
buf[3] = s->Y & 0xff;
buf[4] = s->Y >> 8;
aa=buf[1];
bb=buf[2];
cc=buf[3];
dd=buf[4];
l = 5;
return l;
}
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), (continued)
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Anthony Liguori, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Jim C. Brown, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Leonardo E. Reiter, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), andrzej zaborowski, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Lonnie Mendez, 2006/04/09
- Re: [Qemu-devel] Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server),
Brad Campbell <=
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Anthony Liguori, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Anthony Liguori, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Johannes Schindelin, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Anthony Liguori, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Anthony Liguori, 2006/04/09
- Re: [Qemu-devel] Gentlemen we have absolute movement! was:Absolute USB-HID device musings (was Re: VNC Terminal Server), Brad Campbell, 2006/04/09