From: Gerhard Wiesinger <lists@wiesinger.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Absolute Mouse in VNC and debug ports patch
Date: Fri, 2 Apr 2010 16:19:37 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.1004021618180.3662@bbs.intern> (raw)
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2900 bytes --]
Hello,
This is my first contribution to QEMU: I've written a virtual piece of hardware
(e.g. ports) that the mouse pointer can be used as an absolute pointing device
even with non USB devices, e.g. with DOS and doesn't need any high memory usage
USB driver. This is necessary for e.g. VNC remote access, this was my primary
motivation.
To use it you need a mouse driver (e.g. cutemouse,
http://cutemouse.sourceforge.net/) and an QEMU mouse TSR.
Further the mouse TSR emulates also a HP-HIL 45911 tablet digitizer. This
device has been chosen because an Interrupt interface exists at INT 6Fh and
therefore it is relativly easy to emulate (all other devices I've evaluated use
the serial port and are therefore much more complex to emulate) and I think it
was also common at DOS times. Original hardware can be found at:
http://www.hpl.hp.com/personal/Tom_Malzbender/papers/tablet_highres.pdf
http://oopweb.com/Assembly/Documents/InterList/Volume/INTERRUP.Q
Defined INT 6Fh functions:
1.) ah=08h, bp=2Ah (driver ID), V_SINPUT
http://www.ctyme.com/intr/rb-7715.htm
2.) ah=06h, bp=2Ah (driver ID), V_SINPUT
http://www.ctyme.com/intr/rb-7709.htm
3.) ah=02h, al=04h, bp=BAh (driver ID), C_LTABLET
http://www.ctyme.com/intr/rb-7646.htm
4.) ah=06h, bp=BAh (driver ID), C_LTABLET
http://www.ctyme.com/intr/rb-7707.htm
TSR and qemu patch can be found at, attached too:
http://www.wiesinger.com/opensource/qemu/qemu-0.12.3-absolutemouse-V6.patch
http://www.wiesinger.com/opensource/qemu/qemumous.com
Usage:
1.) Apply patch to QEMU 0.12.3
2.) Load cutemouse 1.91alpha
3.) Load qemumous.com
4.) Enjoy it :-)
ASM source code of the TSR will be released too in few days, needs some
cleanup/review.
Further I've written a simple logging debug ports functionality to debug the
driver. It enables also simple "delta" debugging, where only state changes are
logged. Example can be seen in the QEMUMOUS.ASM source code (will be released
in few days).
Added switches:
-absolute-mouse Proprietary pointer device that uses absolute coordinates (like a touchscreen)
with VNC for e.g. DOS. This means qemu is able to report the mouse position
without having to grab the mouse. Needs a DOS TSR to emulate the mouse.
DOS TSR also emulates a HP-HIL 45911 Tablet using INT 6Fh.
Also overrides the PS/2 mouse emulation when activated.
-debugports Enables debug ports which can be used by drivers or DOS TSR programs.
Look at the code of the absolute-mouse DOS TSR for examples.
Status is: mouse event queing implemented, tested and works for me.
Open issues: TSR might be a full mouse driver (e.g. integrate in cutemouse)
instead of patching just few INT33h functions.
Any feedback is welcome. Maybe after review you can integrate the patch in the
GIT repository.
Thanx.
Ciao,
Gerhard
--
http://www.wiesinger.com/
[-- Attachment #2: Type: APPLICATION/ZIP, Size: 5592 bytes --]
next reply other threads:[~2010-04-02 14:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-02 14:19 Gerhard Wiesinger [this message]
2010-04-03 15:26 ` [Qemu-devel] Absolute Mouse in VNC and debug ports patch Paul Brook
2010-04-03 16:20 ` Gerhard Wiesinger
2010-04-05 10:20 ` Gerhard Wiesinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.00.1004021618180.3662@bbs.intern \
--to=lists@wiesinger.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).