VOGONS


First post, by dylanrush

User metadata
Rank Newbie
Rank
Newbie

I have a bunch of computers, old and new, that I wanted to put behind a KVM. I have a USB/HDMI KVM as my main switch, then behind that I wanted to provide legacy inputs.

The legacy KVM behind that is a Belkin OmniView providing PS/2 or serial inputs to my older machines.

Simple passive USB/PS/2 adapters wouldn’t work as my inputs were behind a hub.

The HIDMan looks like awesome tech but unfortunately could not talk to my USB KVM properly as it was kind of a complex hub.

I didn’t learn about the USB4VC project until recently: https://github.com/dekuNukem/USB4VC. I just ordered one and it will take some time to ship. In the meantime I have been building my own inferior version of it.

A raspberry pi zero acts as the USB host and then sends emulated vintage controls.

For the keyboard, I use an arduino nano running the PS2dev library. That emulates a keyboard. The pi is running a python script to drive the arduino and the whole thing works pretty well.

For the mouse, I initially tried the same thing with ps2dev, but I could not get my arduino to pretend to be a mouse. The clients would rarely pick it up.

Then I switched to a serial mouse for a while. I was using USB-mouse-to-serial ( https://github.com/mborjesson/USB-Mouse-to-Serial ) and that worked just fine. My OmniView supported this over the KVM.

But recently I purchased a couple Libretto 110CTs. I absolutely love these laptops but I could not get them to talk to my emulated serial mouse (or any serial mouse for some reason).

So I wanted to go back to a PS/2 mouse. I was fed up with trying to emulate them at this point. So I took a roller PS/2 mouse, ripped it apart, and wired up an arduino to the buttons and quadrature encoders. It’s a mouse emulator emulator.

Anyway, this setup actually works well now. The mouse is faster than I thought it would be. When it gets a signal from the host that, say, the mouse traveled up by 100 units, it actually toggles the quadrature encoder 100 times. So if you’re yanking the mouse around everywhere you can see it catching up. It works great for pointing and clicking but probably wouldn’t work well for an FPS game. I guess when the USB4VC gets here I’m sure it will be faster.

Conclusion: if you were in a similar situation as me where you wanted to drive vintage computers with a modern KVM, and the HIDMan isn’t working fit you, you can build your own janky USB4VC with a pi, arduino and the guts of a $7 roller mouse.

If anyone’s interested in the code, please let me know!

Reply 1 of 3, by dylanrush

User metadata
Rank Newbie
Rank
Newbie

If anyone is interested in the code, I uploaded it here: https://github.com/DandyTush/JankPiPS2

This could be useful if you are trying to create a USB4VC for very cheap / free with parts that tinkerers often have laying around.

Reply 2 of 3, by RetroPCCupboard

User metadata
Rank Oldbie
Rank
Oldbie

I havent heard of the USB4VC project. Sounds interesting. I also have a KVM setup, but have not got any devices that require serial. So VGA + PS/2 works fine for me.

I did experiment with some Aten KVMs that can convert USB to PS/2. They worked, but input lag was absolutely terrible.

Reply 3 of 3, by s0s

User metadata
Rank Newbie
Rank
Newbie

I really like this project. Thanks for sharing it.