First post, by javispedro1
Hello, for a couple of weekends I've been trying to create a new DOS mouse driver.
My intention is to do a "guest tools" for VirtualBox, at least on the level of the old Virtual PC 2004 tools. Mostly to learn something and have fun rather than anything serious.
I already also have a TSR for mouting Shared Folders (this one only VirtualBox).
However the mouse driver part also works in VMware (with integration too), and also kinda works on real hardware as a normal mouse driver.
I tried it at least on my T5710 with a real PS/2 mouse plugged in 😀 (no support for serial mice!)
It's not going to be as efficient as Cutemouse or as compatible as the real MSMOUSE, but it is written in C (OpenWatcom2) so I can try new fancy things.
Thought I am trying to keep the bloat under control -- so far it's around 9KB when loaded.
For example I have already stolen the idea from DOSBox-X of sending up/down arrow key presses when I move the scroll wheel.
Here's a video of using the wheel mouse in Edit/QBasic , recorded on VirtualBox, but you get the idea.
I also got the wheel mouse to work in real mode Windows 3.0,
however it does not work in 386 mode Windows due to an VKD.386 issue that I'll try to workaround some other weekend.
If you want to try, here's a zip file: vbados.zip. For VirtualBox/VMware users, vbados.flp (floppy image) will be more convenient.
It is open source, GPLv2+ -- Git URL here. I have written some documentation & pointers to the source code in the README. Builds anywhere where OpenWatcom2 runs -- including DOS itself.
Be warned that I've only tried with a couple programs, so it's likely that compatibility is very bad. I think I can split DOS programs in 3 categories regarding mouse:
- Programs that use the mouse driver provided cursor/pointer: work OK, full host/guest mouse integration: most text mode programs, e.g. MS-DOS Edit, defrag, Cutemouse's mousetst 😀 , Adlib composer, DN/2 DOS navigatior (this one uses the wheel natively)
- Programs that ignore the mouse driver provided cursor, and either use relative motion only or read the mouse themselves: should work, but WITHOUT mouse integration : WordPerfect6 with standard settings, Windows with standard driver, Theme Hospital, Monkey Island 1/2.
- Programs that use the mouse driver provided cursor but still draw it on their own: work OK, partial host/guest mouse integration: Warcraft 2, surprisingly. WordPerfect6 when using the "Absolute/Tablet" mouse driver.
Obligatory (useless) screenshot: