VOGONS


HIDman - USB to PS/2 converter (Open Source)

Topic actions

Reply 560 of 570, by M95D

User metadata
Rank Newbie
Rank
Newbie

Are there any plans to make a KVM switch (without the video part)?

I suspect many of us don't have the space to keep a separate keyboard and mouse for our DOS machines, so we use a KVM switch. As I read here, there are problems with KVMs. So it would be great if you could make a keyboard+mouse switch for 3-4 machines where one of them uses PS/2.

It would be even better if it could accept a PS/2 keyboard, such as the old IBM ones, and output either direct PS/2 pass-through for old machines or emulated USB keyboard for newer PCs (when PS/2 cable isn't connected on that port).

Reply 561 of 570, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
M95D wrote on 2025-12-18, 18:12:

Are there any plans to make a KVM switch (without the video part)?

I suspect many of us don't have the space to keep a separate keyboard and mouse for our DOS machines, so we use a KVM switch. As I read here, there are problems with KVMs. So it would be great if you could make a keyboard+mouse switch for 3-4 machines where one of them uses PS/2.

It would be even better if it could accept a PS/2 keyboard, such as the old IBM ones, and output either direct PS/2 pass-through for old machines or emulated USB keyboard for newer PCs (when PS/2 cable isn't connected on that port).

I think old IBM ones should be fine with basic PS/2 KVMs, and there are plenty of PS/2-to-USB converters that allows connecting them to boards that don't offer PS/2 ports.

It's only the newer USB keyboards that can be a headache to use with KVMs. Switchable "dumb" USB hubs (with no emulation logic) normally works, but if it involves some console logic (like hotkeys to switch active output) then it's a different story.

ATEN has a few models that can accept both PS/2 and USB input devices and can output to either, but they are very, very expensive.

Reply 562 of 570, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie

I think once I have better hub support more KVMs will work. I have been working on it. Hopefully early next year.

Reply 563 of 570, by KVM Nerd

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on Yesterday, 12:05:

I think once I have better hub support more KVMs will work. I have been working on it. Hopefully early next year.

How many hub levels would this include? I am asking for a friend.

Why not hook it up to a KVM switch?

Reply 564 of 570, by KVM Nerd

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on Yesterday, 01:57:

ATEN has a few models that can accept both PS/2 and USB input devices and can output to either, but they are very, very expensive.

The CS1754 and CS1758 support both PS/2 and USB on the "CPU" side and USB on the "Console" side and are quite cheap when used. If you use USB keyboards/mice with a properly implemented HID Boot Protocol Mode (aka BIOS Mode), they work quite well. You can even use PS/2 hardware with a USB converter when plugged to the keyboard port of the console side. Only downside is that you need to buy extra (proprietary) cables for those switches.

If you use special gaming USB hardware without HID Boot Protocol Mode, you will have no luck, but that applies to most if not all KVM switches which can convert to PS/2 afaict.

Why not hook it up to a KVM switch?

Reply 565 of 570, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
KVM Nerd wrote on Yesterday, 13:40:
LSS10999 wrote on Yesterday, 01:57:

ATEN has a few models that can accept both PS/2 and USB input devices and can output to either, but they are very, very expensive.

The CS1754 and CS1758 support both PS/2 and USB on the "CPU" side and USB on the "Console" side and are quite cheap when used. If you use USB keyboards/mice with a properly implemented HID Boot Protocol Mode (aka BIOS Mode), they work quite well. You can even use PS/2 hardware with a USB converter when plugged to the keyboard port of the console side. Only downside is that you need to buy extra (proprietary) cables for those switches.

If you use special gaming USB hardware without HID Boot Protocol Mode, you will have no luck, but that applies to most if not all KVM switches which can convert to PS/2 afaict.

Some Corsair keyboards may not work correctly unless explicitly switched to operate in HID Boot Protocol Mode (usually labeled as "BIOS Mode"), if such a switch exists on the model (e.g. K70).

ATEN KVMs do work with Logitech Unifying receiver for wireless keyboards and mice, but from my experience I need to set the mode for USB hosts to "SUN" instead of "WIN" in order to work. In "WIN" mode, the KVM tries to pass through the receiver to the host system as-is across the USB but it's incomplete and nonfunctional. In "SUN" mode the inputs would be emulated by the KVM so the host sees a generic USB keyboard and mouse which works correctly. For PS/2 hosts, however, nothing needs to be changed.

By the way, I've been thinking about this idea: Use a simple USB sharing switch for connecting USB keyboards/mice to share among different hosts, and for hosts that need to connect the inputs using PS/2 instead of USB, connect a HIDman in between.

The main concern, however, would be whether the hub portion of the sharing switch you're using could properly cooperate with HIDman.

Reply 566 of 570, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
KVM Nerd wrote on Yesterday, 12:31:

How many hub levels would this include? I am asking for a friend.

Theoretically infinite, although we'd be limited by RAM space. Certainly 3 levels, which should be enough for most KVM setups.

If you use USB keyboards/mice with a properly implemented HID Boot Protocol Mode

Unfortunately *lots* of devices don't support boot mode properly. Even some fairly well-regarded brands.

I was hoping that boot mode would be a good default for HIDman but honestly it seems to cause more problems than it solves. I might default to report mode in future revisions now I have a reasonably stable HID report parser.

Reply 567 of 570, by M95D

User metadata
Rank Newbie
Rank
Newbie

I'm using an ATEN CS84U right now, with an old PS/2 multimedia keyboard (~2003), USB gaming mouse (also presents itself as a keyboard for macro buttons) and connected to 3 PCs via PS/2 keyboard and USB. The CS84U has keyboard and emulation mode which emulates USB devices from PS/2 physical ones. Firmware is very buggy. Multimedia keys are dead in both modes, power management buttons work only in non-emulation mode, it sometimes it gets stuck in a weird mode (not documented) where right shift acts as ALT-GR and left shift won't work in combination with selection arrows, resetting via shortcut doesn't work, etc.

I also have an Avocent Switchview MM1. Keyboard gets completely stuck if no PS/2 mouse is connected, multimedia buttons also won't work, has audio but it's very noisy, etc.

And I have a Rose Vista PS/2 only KVM which worked fine, but I'm unable to use my USB mouse with that one and it only has 2 ports - I need 3, sometimes 4.

I looked at CS1754 / 8. I already have the cables - the proprietary connector looks very much like my current Aten cables. Is it really capable of PS/2 mouse emulation from USB mouse? Any bugs?

Reply 568 of 570, by KVM Nerd

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on Yesterday, 16:03:
KVM Nerd wrote on Yesterday, 12:31:

How many hub levels would this include? I am asking for a friend.

Theoretically infinite, although we'd be limited by RAM space. Certainly 3 levels, which should be enough for most KVM setups.

My setup has 4 levels (3 for a USB matrix + 1 for extenders). If that would would be supported, it would be great!

I am working on a similar project based on the HID-Remapper (Dual Pico version) which only forwards HID Boot Protocol Mode but removes hub complexity, so you can connect multiple input devices accross multiple hub levels to devices with a limited USB stack, so KVM switches mostly.

I am thinking about extending the device part to PS/2 keyboard/mouse and serial mouse. How did you resolve the problem of PS/2 report rate conversion? Do you ignore rate changes from the host and send with the USB report rate, or do you do a full rate conversion?

Does the HIDman accept inputs from multiple connected devices simultaneously?

rasteri wrote on Yesterday, 16:03:
KVM Nerd wrote on Yesterday, 12:31:

If you use USB keyboards/mice with a properly implemented HID Boot Protocol Mode

Unfortunately *lots* of devices don't support boot mode properly. Even some fairly well-regarded brands.

I was hoping that boot mode would be a good default for HIDman but honestly it seems to cause more problems than it solves. I might default to report mode in future revisions now I have a reasonably stable HID report parser.

I managed to fix the protocol for a Logitech K400r which completely ignores the expected order of keyboard scancodes.

Why not hook it up to a KVM switch?

Reply 569 of 570, by KVM Nerd

User metadata
Rank Newbie
Rank
Newbie
M95D wrote on Yesterday, 16:44:

I looked at CS1754 / 8. I already have the cables - the proprietary connector looks very much like my current Aten cables. Is it really capable of PS/2 mouse emulation from USB mouse? Any bugs?

You better check the cable compatibility on the Aten website. I don't know if they are compatible, but I guess so.

Yes, the models are really capable of emulating PS/2 keyboard and mouse from connected USB devices. The cable decides whether PS/2 or USB devices are emulated.

The keyboard/mouse emulation works quite well from my experience, although it might happen every now and then that a key "hangs".

Edit: Added comment about emulation stability.

Last edited by KVM Nerd on 2025-12-19, 20:12. Edited 1 time in total.

Why not hook it up to a KVM switch?

Reply 570 of 570, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
KVM Nerd wrote on Yesterday, 17:22:

I am thinking about extending the device part to PS/2 keyboard/mouse and serial mouse. How did you resolve the problem of PS/2 report rate conversion? Do you ignore rate changes from the host and send with the USB report rate, or do you do a full rate conversion?

It has the ability to do rate conversion (in/out are async and accumulate movements, required for serial output and high DPI mice) but we currently ignore host rate changes anyway. So it effectively sends at USB report rate. Host rate changes would be trivial to implement though.

Does the HIDman accept inputs from multiple connected devices simultaneously?

Yeah. Mouse inputs accumulate.