PS/2 old keyboards "slow" simultaneous presses

User avatar
NeK

08 Dec 2021, 10:58

Hi all,

With all my vintage boards that are either PS/2 (or using a passive AT DIN -> PS/2) I have this minor issue that I want to see if I can do anything about it:

When I press multiple keys at the same time the characters are sent one after the other, "slow enough" that I can see some of them appear before the rest. With a modern USB mech board on the other hand, a Filco Majestouch, when I do the same, *all* characters appear immediately at the same time in the screen without any delay whatsoever. I find this nice to have and I would love if my old boards could do that.

Of course I know that it depends upon the controller of the keyboard, but I have yet to see a PS/2 board that can have this instant multikey send. Is this a limitation of PS/2 or is there a way to make this work somehow?

User avatar
Muirium
µ

08 Dec 2021, 11:26

It is *not* the keyboards doing. I run loads of AT and PS/2 stuff with full (and immediate) NKRO. But I do all of it by active USB converters (Soarer of course) as I haven’t had native PS/2 on my computers since the turn of the century. If the keyboards behaved like you describe, there’s nothing a converter could do to improve the signal, without mind reading hardware. ;)

So it’s your port.

User avatar
NeK

08 Dec 2021, 11:32

I'm not certain if you understood what I meant. I am not talking about NKRO, all of them have NKRO. I'm talking about the rate of the characters been send to the computer. I guess I have to make a screencapture video to demonstrate it.

John Doe

08 Dec 2021, 11:51

Have you ever tried other converters? TMK? I think very possible it's cause this board is bit special and got compatible problem with what you're using..

User avatar
Muirium
µ

08 Dec 2021, 12:12

NeK wrote:
08 Dec 2021, 11:32
I'm not certain if you understood what I meant
I did. That's what I meant with "full (and immediate) NKRO". AT/PS2 is perfectly capable of very rapid and complex state changes. There is no inherent s-e-q-u-e-n-t-i-a-l delay like the one you described. I wouldn't even call a delay like that NKRO, but that's probably just me.

Try an active USB converter, or a different computer's PS/2 port. PS/2 does not behave like that by default.

User avatar
NeK

08 Dec 2021, 13:10

I have a piece of shit active ps2-usb converter and I also have a pc that has a real PS/2. For sure, the converter is indeed slower (and worse in many other ways too) but the ps/2 also results in a sequential sending/displaying.

Let me get more precise: I press 10 keys simultaneously with both hands, for instance the whole number row from 1 to 0. The Filco board (usb) sends all 10 key events at once and they display at once on the screen (and I have tried this with lots of programs, on both windows and linux). Doing the same with any ps/2 board connected to a real ps/2 port, all 10 of the characters do indeed display but in a quick but obvious sequential way.

So, if I understand correctly, you suggest that the fault is with the ps/2 controller or with the motherboard and they should actually behave just as instantly as the Filco? That's surprising to me, because I thought all ps/2 systems are almost identical.

So, the only way to confirm this, is to find another pc with a different PS/2 controller and motherboard and see if works better, right?
Last edited by NeK on 09 Dec 2021, 02:54, edited 1 time in total.

User avatar
Muirium
µ

08 Dec 2021, 13:18

NeK wrote:
08 Dec 2021, 13:10
I have a piece of shit active ps2-usb converter, but ainalso have a pc with a real PS/2. Forsure the converter is even slower (and worse in many other ways too) but the ps/2 also results in a sequential sending/displaying.
A piece of shit converter, you say? Other converters are available! :D
I want to be precise: I press 10 keys simultaneously with both hands, let's day the whole number row. Filco usb sends all 10 key events at once and they display at once (and I tried this in lots of programs and both windows and linux). Doing the same with any ps/2 board connected yo the real ps/2 port, all 10 of the characters do indeed get display but in a quick but obvious sequential way.
That's absolutely NOT THE CASE for my AT/XT and PS/2 keyboards running through a Soarer Converter. Keypresses are always as instant as you see on your USB Filco. And if the keyboard is NKRO, all of them come through. 2KRO boards like Model Ms will block some of their keys but you still see keys coming through immediately when they do at all.
So you shggest that the fault is with the ps/2 controller or motherboard and they should behave just like thenfilco? That's surprising to me, I thought all ps/2 systems are almost identical.
These days they may not be. I've not run Windows for decades, but I wouldn't be surprised if PS/2 has to run through a driver. Whatever's going on in your case, it's broken somewhere along the signal chain.
So the only way to confirm this is to find another pc with a PS/2 and see if works better, right?
Or to build yourself a Soarer's converter. They're well worth the effort!

User avatar
NeK

08 Dec 2021, 14:30

Thanks, I am already in search for an Orihalcon one, but they seem to be out of stock in ebay and Orihalcon sadly didn't respond to a pm that I sent to him here. So, I'm actually trying and I surely will get one or two, somehow.

I don't want to lose time in building one, I want one for the work place and would love an orihalcon one, which looks nice and ordinary and not like a science project, which is probably what I will end up making. :D

However, just to be clear in what I am talking about, here is a gif animation of my Filco Majestouch with USB and a Chicony 5162 using my shitty ps2 converter (os is LINUX):

Filco Majestouch
nkro-ps2-latency-issue-filco.gif
nkro-ps2-latency-issue-filco.gif (512.45 KiB) Viewed 4592 times
Chicony 5162
nkro-ps2-latency-issue-chicony.gif
nkro-ps2-latency-issue-chicony.gif (373.02 KiB) Viewed 4592 times
Last edited by NeK on 09 Dec 2021, 02:59, edited 1 time in total.

Findecanor

08 Dec 2021, 15:16

NeK wrote:
08 Dec 2021, 10:58
Is this a limitation of PS/2 or is there a way to make this work somehow?
PS/2 does send key events sequentially and USB sends them all at once, but I didn't think the difference would be big enough to be noticeable.

Although.. Only the serial transmission of each byte is required to run at full speed. The microcontroller could be slower, and it could be programmed in a weird way.

User avatar
Muirium
µ

08 Dec 2021, 15:33

As you've said before, the PS/2 protocol is lightning quick. It's not the slow part of the signal chain here:
Findecanor wrote:
27 Feb 2015, 00:31
PS/2 is faster than USB, but only in the best case. However, debouncing and other lag in the system is much longer so the extra speed is not that significant.
According to this documentation, keystrokes are sent in 11 to 12 bit "frames", each bit aligned to a clock (generated by the keyboard) of 10-16.7 kHz. We're talking around a thousand refresh cycles per second.

https://web.archive.org/web/20170607044 ... 2protocol/

The signal times in the article are defined in microseconds: millionths of a second. You're not going to see this leisurely updating like the screencap above! :lol:

User avatar
vvp

08 Dec 2021, 17:37

@NeK:
It is a bug of your PC's PS/2 port (or it's driver) or your PS/2 keyboard.

It is likely that your PS/2 keyboard is defective (or some kind of low quality shit) since you said you connected it through an PS/2 -> USB converter and the slowness is still there. If the converter is not a piece of shit too then your test confirms that the problem is on the side of your PS/2 keyboard at least.

You can try to connect your keyboard to a different PS/2 on a different PC (which works fine with other PS/2 keybaords) to confirm this.

As Muirium said, PS/2 interface is quick enough (it can send around 300 presses&releases per second (1 byte key press code + 2 bytes key release code)). Purely from the latency point of view PS/2 is better than USB. Especially for the case of Low speed USB which has minimum polling time of 10 ms. As for as the bandwidth even Low speed USB is about 10 times quicker than PS/2. But PS/2 bandwidth is plenty enough for typing. 300 presses&releases per second ought to be enough for anybody :mrgreen:

User avatar
Yasu0

08 Dec 2021, 19:03

Just to back up whats been posted, I daily ps2 and it does 100wpm with no lag. Post up what you find out when you find out what it is.

In 2021 it would not surprise me to see the thought process behind some modern half ass mobo going like "this old port is for boot diagnostic purposes only so its ok if we screw up the ps2 functionality" or something like this. Since everything is usb these days.

User avatar
fohat
Elder Messenger

09 Dec 2021, 00:12

NeK wrote:
08 Dec 2021, 14:30

would love an orihalcon one which will look ordinary and not like a science project
Orihalcon's cable are very clean and look great, but he builds them himself and that is obviously not his "real job"

You made me laugh with the "science project" comment. Years ago I posted a guide that was crude but worked great.

https://geekhack.org/index.php?topic=58 ... msg1348717

Later I made a much cleaner version and it is extremely useful if you mess around with old keyboards.
Attachments
USB-converter-AT-DIN240.jpg
USB-converter-AT-DIN240.jpg (260.03 KiB) Viewed 4427 times
USB-converter-PS2-RJ45.jpg
USB-converter-PS2-RJ45.jpg (205.87 KiB) Viewed 4427 times

Post Reply

Return to “Keyboards”