VOGONS


Windows 3.11 and USB mouse

Topic actions

First post, by Sphere478

User metadata
Rank l33t++
Rank
l33t++

Can someone make or link me to a super easy way to get a usb mouse working in windows 3.11? (It’s usb 1.0 or 1.1)

It seems like someone could like make a batch file or something that I could download along with a driver that would be easy just click and rock and roll.

On a scale of 1-10 my dos/windows 3.11 kung fu is like 1 🤣.

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 2 of 43, by dormcat

User metadata
Rank Oldbie
Rank
Oldbie

An USB-to-PS/2 converter might be the quickest solution. Once connected with PS/2 port, the mouse can be activated using "mouse.com" of MS-DOS as long as it's Microsoft Mouse compatible.

Not every converter works on every USB mouse though; I've got half a dozen such converters from years of buying Microsoft mice. While they all work with newest USB mice from Microsoft, they seems not capable of converting Logitech or Asus mice correctly.

Reply 3 of 43, by Cuttoon

User metadata
Rank Oldbie
Rank
Oldbie
dormcat wrote on 2022-02-28, 12:27:

An USB-to-PS/2 converter might be the quickest solution. Once connected with PS/2 port, the mouse can be activated using "mouse.com" of MS-DOS as long as it's Microsoft Mouse compatible.

of course, that didn't even occur to me. Yes, if that hasn't been tried yet, sure. Then it technically isn a "USB mouse" but a usb/ps2 combo mouse.
Meaning, that mouse has to be built to support ps2 connection.
The adaptors are usally green. Black or purple ones, usually for keybards and iirc, wired differntly.
There's no real effort for the manufacurer to build a ps2-backwards-compatible mouse, so many will be.

E.g. I use a fairly recent tiny Lenovo Thinkpad mouse, all black generic piece, did not come with the adapter, but does work on ps2 with a random one from Logitech.

Attachments

  • mousethingy.jpg
    Filename
    mousethingy.jpg
    File size
    60.08 KiB
    Views
    1830 views
    File license
    Fair use/fair dealing exception

I like jumpers.

Reply 4 of 43, by Sphere478

User metadata
Rank l33t++
Rank
l33t++
dormcat wrote on 2022-02-28, 12:27:

An USB-to-PS/2 converter might be the quickest solution. Once connected with PS/2 port, the mouse can be activated using "mouse.com" of MS-DOS as long as it's Microsoft Mouse compatible.

Not every converter works on every USB mouse though; I've got half a dozen such converters from years of buying Microsoft mice. While they all work with newest USB mice from Microsoft, they seems not capable of converting Logitech or Asus mice correctly.

Well, this particular setup doesn’t have ps2

Those little green adapters are nothing more than wires going between pins.

If a mouse works on ps2 it is because that mouse supports talking in usb or ps2 over the data wires.

This is off topic, but thanks for the suggestion. A good answer for many who will search this thread I’m sure.

Ultimately I am looking for a true usb mouse option for 3.11

Last edited by Sphere478 on 2022-02-28, 12:48. Edited 1 time in total.

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 5 of 43, by Cuttoon

User metadata
Rank Oldbie
Rank
Oldbie

ok, then i was right not to mention it in the first place since you already ruled that out. What setup are we talking about, that has usb but no ps2? PCI socket 3 rig?

If that's the case, an old issue, you're rather SOL for using modern mice.

There are 486 out there with native ps2, especially OEM stuff.

And, obviously, it was only a matter of time before some top nerd came up with this:
https://www.serdashop.com/PS2TOSERIAL

There are several threads around here for simular projects.

I like jumpers.

Reply 6 of 43, by Cuttoon

User metadata
Rank Oldbie
Rank
Oldbie

one more random thought for one more half-assed workaround: Ostensibly, there are some KVM switches that will connect one kind and magically translate it, but well...

I like jumpers.

Reply 7 of 43, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Normally, the PC BIOS would make any USB mouse appear as a PS/2 mouse.
Up until some USB drivers are loaded by the operating system.
Then, it's gone. *poof*

So unless you're using something, say, USB mass storage drivers in DOS, you can select "Microsoft, or IBM PS/2".

Windows doesn't use DOS mice drivers.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 43, by Sphere478

User metadata
Rank l33t++
Rank
l33t++
Cuttoon wrote on 2022-02-28, 12:48:
ok, then i was right not to mention it in the first place since you already ruled that out. What setup are we talking about, tha […]
Show full quote

ok, then i was right not to mention it in the first place since you already ruled that out. What setup are we talking about, that has usb but no ps2? PCI socket 3 rig?

If that's the case, an old issue, you're rather SOL for using modern mice.

There are 486 out there with native ps2, especially OEM stuff.

And, obviously, it was only a matter of time before some top nerd came up with this:
https://www.serdashop.com/PS2TOSERIAL

There are several threads around here for simular projects.

Dual pentium 1 build tyan s1564d

It has a header but i don’t have the adapter for it. I got usb though. Idk if mouse even supports ps/2 so seemed like getting the usb mouse working was the way to go

That adapter is kinda cool.

Prob work.

So no driver or software solution huh?

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 9 of 43, by Cuttoon

User metadata
Rank Oldbie
Rank
Oldbie

if there is a software solution, SERIOUSLY not worth the headache, do yourself the favor.

As mentioned above, there's a fairly good chance your mouse will do ps2. Try it out on any desktop.
Even if if does not, rather get another mouse. Logitechs are a good bet.

Then, get the nex best generic "ps2 bracket" from ebay, they mostly come with a 2x4 plug and should work.
Worst that can happen is that you'll have to check the "ps2 pinout" in the manual and rearrange the cables, but not likely, they did not reinvent the wheel all the time.
Especially likely if you're not using an asus.
https://flaterco.com/kb/Pentium/MouseBracket.jpg

Seriously, that motherboard deserves it, I wish I had one 😉

And, by the way, if you do nned a ps2 mouse: I recently found out that Cherry makes an optical wheel mouse that's probably total garbage - the only upside being the price of eight bucks and more importantly, the grey edition, despite having a wheel, really looks like it was designed in the mid 90s!
https://www.cherry.de/cherry-wheelmouse-optical.html

Attachments

  • tomcatvsmouse.png
    Filename
    tomcatvsmouse.png
    File size
    9.4 KiB
    Views
    1784 views
    File license
    Fair use/fair dealing exception

I like jumpers.

Reply 10 of 43, by javispedro1

User metadata
Rank Member
Rank
Member

Literally yesterday I was working on a Windows 3.x driver for VirtualBox's mouse integration (which is a PCI device).
https://git.javispedro.com/cgit/vbmouse.git/tree/
A good bunch of this driver is in C (unlike the other drivers I know -- including vmwmouse above -- which are in assembler) so it may be easier to start with if you want to implement a USB HID mouse driver 😀

And now after the above spam ... 😀

I think your best bets are (in order from most recommended to least recommended IMHO) :

1. Use the BIOS, Luke!
Your system looks recent enough to have a USB BIOS ( does a USB keyboard work in BIOS setup ? ) , which should be emulating a PS/2 mouse using your USB mouse.
Then you can use the standard Windows 3.x PS/2 mouse driver.
This is basically what everyone does.
Is it not working for some reason ?

2. Use a USB stack for MS-DOS to emulate a PS/2 mouse.
E.g. http://bretjohnson.us/ is a full featured USB stack for MS-DOS that I've used in the past.
It even contains a program called "USBMOUSE" which does exactly what you need: it emulates a PS/2 mouse using the USB mouse.
Then you can use the standard Windows 3.x PS/2 mouse driver.

3. Use a USB stack for MS-DOS to emulate a int33h mouse driver, then use a int33h passthrough driver in Windows 3.x .
But I'm not familiar of any such stack for DOS.
As for a int33 passthrough driver for Windows 3.x , you have the one from dosemu2 https://github.com/dosemu2/win31-mouse-driver/

4. I don't recommend writing a "direct" USB mouse driver for Windows 3.x , because then you have to worry about sharing control of the USB controller with other USB drivers (like mass storage) and that is going to be painful.
Much better to just utilize APIs from a DOS USB stack.

Reply 11 of 43, by Cuttoon

User metadata
Rank Oldbie
Rank
Oldbie
javispedro1 wrote on 2022-02-28, 14:19:

1. Use the BIOS, Luke!

Hokey workarounds and ancient firmware are no match for a good ps2 breakout cable, kid!

Sorry, can't help it, if you can hardwire something the proper way, do that.

I like jumpers.

Reply 12 of 43, by javispedro1

User metadata
Rank Member
Rank
Member

There is a reason most people do not ask this type of questions about USB mouse drivers for DOS.
BIOS PS/2 emulation is good enough up to the point most people don't even notice that DOS/Win16/Win95 is not supposed to work with USB mice.
USB BIOS usually use SMM or the like so it's practically invisible to the OS. (Or at least MUCH more transparent than any software TSR can be).

It's really the best "software"/firmware option -- I am not aware of any compatibility problems whatsoever when using USB BIOS (though I guess there probably are).
The only problem is that the moment you load a native USB stack (e.g. Win98), the USB BIOS may go away (or not!).
So please try to see if your BIOS is compatible, check for USB related options in the BIOS setup, try a USB keyboard, etc.

For other software methods (e.g. USBMOUSE) I generally agree with Cuttoon , they're likely going to be an "adventure" (e.g. paging won't work, some DPMI hosts won't work, etc.)

And for hardware solutions, at this point I have no dumb-enough USB mouse left that will still work with a passive USB<->PS/2 adapter 😀. Bluetooth, Logitech adapters, etc. are out.

Reply 13 of 43, by Jo22

User metadata
Rank l33t++
Rank
l33t++
javispedro1 wrote on 2022-02-28, 15:08:

The only problem is that the moment you load a native USB stack (e.g. Win98), the USB BIOS may go away (or not!).
So please try to see if your BIOS is compatible, check for USB related options in the BIOS setup, try a USB keyboard, etc.

That does remember me of an Episode of Lazy Game Review.
It was about that Hot Wheels PC, I believe.
The PC was one of these "legacy free" machines.

The keyboard/mouse worked fine via ps/2 emulation up until the Windows 98 started up, detected the USB controller etc.
Then it was gone. Normally, that would be fine, but..

Unfortunately, Win98 required user intervention at this point,
which made installing extra drivers a bit tricky..

I mean, okay, someone could make a custom CD/Setup.
Or do force installaton of the drivers on a different PC.

https://www.youtube.com/watch?v=j_WpEYAAmi8

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 14 of 43, by javispedro1

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2022-02-28, 16:06:

The keyboard/mouse worked fine via ps/2 emulation up until the Windows 98 started up, detected the USB controller etc.
Then it was gone. Normally, that would be fine, but..

Lol. I had a machine with the same problem, but fortunately copying files to the HDD beforehand made it stop prompting at that point in setup.

Nowadays I have exactly the opposite problem. On my T5710 the USB BIOS is still active even after I load the native USB stack. On Win98 with mass storage drivers, my USB pendrives appear _twice_, with two different drive letters (one for BIOS emulation and another for the native driver), and I can access both of them _concurrently_ just fine. (Obviously, I refrain from doing that -- it's just mind-boggling that it works at all). Sorry for the mild offtopic 😀

Reply 15 of 43, by Jo22

User metadata
Rank l33t++
Rank
l33t++

^Now that's kind of funny! Thanks for your reply! 😆
The BIOS surely is a persistent one!

Maybe that "bug" can be used for benchmarking? Native vs BIOS? 😉

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 17 of 43, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
javispedro1 wrote on 2022-02-28, 15:08:
There is a reason most people do not ask this type of questions about USB mouse drivers for DOS. BIOS PS/2 emulation is good eno […]
Show full quote

There is a reason most people do not ask this type of questions about USB mouse drivers for DOS.
BIOS PS/2 emulation is good enough up to the point most people don't even notice that DOS/Win16/Win95 is not supposed to work with USB mice.
USB BIOS usually use SMM or the like so it's practically invisible to the OS. (Or at least MUCH more transparent than any software TSR can be).

It's really the best "software"/firmware option -- I am not aware of any compatibility problems whatsoever when using USB BIOS (though I guess there probably are).
The only problem is that the moment you load a native USB stack (e.g. Win98), the USB BIOS may go away (or not!).
So please try to see if your BIOS is compatible, check for USB related options in the BIOS setup, try a USB keyboard, etc.

For other software methods (e.g. USBMOUSE) I generally agree with Cuttoon , they're likely going to be an "adventure" (e.g. paging won't work, some DPMI hosts won't work, etc.)

And for hardware solutions, at this point I have no dumb-enough USB mouse left that will still work with a passive USB<->PS/2 adapter 😀. Bluetooth, Logitech adapters, etc. are out.

The prerequisite is that the mouse itself must be recognizable by BIOS/CSM as standard USB mouse. Some recent mice are too advanced to be recognized as standard mouse and they'll never work under BIOS/CSM. I also had USB mice that behaved erratically (like wrong X/Y axes) when operating in BIOS/CSM. In that case the mouse will most likely behave the same when connected to PS/2 via adapter.

Should point out that BIOS emulation works with any OS that doesn't have its own USB stack, including some early Windows like NT 3.51.

Actually some USB/PS-2 hybrid KVMs (like those from ATEN) allow PS/2 and USB input devices, including even compatible wireless ones (such as those powered by Logitech Unified), connect to PCs using either PS/2 or USB. The catch is that PS/2 NKRO may not work correctly behind such KVMs, and that advanced features on those devices may not be used.

Reply 18 of 43, by Sphere478

User metadata
Rank l33t++
Rank
l33t++
Cuttoon wrote on 2022-02-28, 14:08:
if there is a software solution, SERIOUSLY not worth the headache, do yourself the favor. […]
Show full quote

if there is a software solution, SERIOUSLY not worth the headache, do yourself the favor.

As mentioned above, there's a fairly good chance your mouse will do ps2. Try it out on any desktop.
Even if if does not, rather get another mouse. Logitechs are a good bet.

Then, get the nex best generic "ps2 bracket" from ebay, they mostly come with a 2x4 plug and should work.
Worst that can happen is that you'll have to check the "ps2 pinout" in the manual and rearrange the cables, but not likely, they did not reinvent the wheel all the time.
Especially likely if you're not using an asus.
https://flaterco.com/kb/Pentium/MouseBracket.jpg

Seriously, that motherboard deserves it, I wish I had one 😉

And, by the way, if you do nned a ps2 mouse: I recently found out that Cherry makes an optical wheel mouse that's probably total garbage - the only upside being the price of eight bucks and more importantly, the grey edition, despite having a wheel, really looks like it was designed in the mid 90s!
https://www.cherry.de/cherry-wheelmouse-optical.html

It’s sounding like this is what I may do, make a header.

javispedro1 wrote on 2022-02-28, 14:19:
Literally yesterday I was working on a Windows 3.x driver for VirtualBox's mouse integration (which is a PCI device). https://g […]
Show full quote

Literally yesterday I was working on a Windows 3.x driver for VirtualBox's mouse integration (which is a PCI device).
https://git.javispedro.com/cgit/vbmouse.git/tree/
A good bunch of this driver is in C (unlike the other drivers I know -- including vmwmouse above -- which are in assembler) so it may be easier to start with if you want to implement a USB HID mouse driver 😀

And now after the above spam ... 😀

I think your best bets are (in order from most recommended to least recommended IMHO) :

1. Use the BIOS, Luke!
Your system looks recent enough to have a USB BIOS ( does a USB keyboard work in BIOS setup ? ) , which should be emulating a PS/2 mouse using your USB mouse.
Then you can use the standard Windows 3.x PS/2 mouse driver.
This is basically what everyone does.
Is it not working for some reason ?

2. Use a USB stack for MS-DOS to emulate a PS/2 mouse.
E.g. http://bretjohnson.us/ is a full featured USB stack for MS-DOS that I've used in the past.
It even contains a program called "USBMOUSE" which does exactly what you need: it emulates a PS/2 mouse using the USB mouse.
Then you can use the standard Windows 3.x PS/2 mouse driver.

3. Use a USB stack for MS-DOS to emulate a int33h mouse driver, then use a int33h passthrough driver in Windows 3.x .
But I'm not familiar of any such stack for DOS.
As for a int33 passthrough driver for Windows 3.x , you have the one from dosemu2 https://github.com/dosemu2/win31-mouse-driver/

4. I don't recommend writing a "direct" USB mouse driver for Windows 3.x , because then you have to worry about sharing control of the USB controller with other USB drivers (like mass storage) and that is going to be painful.
Much better to just utilize APIs from a DOS USB stack.

It (the bios) supports usb keyboard but usb mouse is not working I haven’t tried the keyboard on usb in win 3.11 though.

Writing a driver is way above my skillset 🤣

Cuttoon wrote on 2022-02-28, 14:35:
javispedro1 wrote on 2022-02-28, 14:19:

1. Use the BIOS, Luke!

Hokey workarounds and ancient firmware are no match for a good ps2 breakout cable, kid!

Sorry, can't help it, if you can hardwire something the proper way, do that.

Lmfao

So if there is a bios option for doing this, what about a bios patch? This bios doesn’t seem to be doing this.

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 19 of 43, by Solo761

User metadata
Rank Member
Rank
Member
Cuttoon wrote on 2022-02-28, 12:36:

There's no real effort for the manufacurer to build a ps2-backwards-compatible mouse, so many will be.

Not so sure anymore about this. Last month I've bought three cheapo brand (havit, neon, gembird) mice to check if they'll work over these green USB-PS/2 adapters and none of them worked.

I guess this was correct up until few years back when there was old stock of controller chips that are used in mice so cheap ones had these while expensive ones used new modern ones. Now either stock dried out or usb only controllers got simple and cheap so they took over.

Either way it's not easy to find PS/2 compatible mouse nowadays...

I'll try some brand name mouse, I have Logitech Hero g502 on my main PC so I can try with that one, but I wouldn't be optimistic. I have some "office" logitech mice from 5+ years ago and these do work, but they're not being sold anymore...