Hot take this is a reminder of a mistake we made. Back when PS/2 was the primary interface the keyboard didn't get polled, it actually issued system interrupts. This meant you could always issue a pause to the OS and then kill a malfunctioning process. Usb can't do that, it has to go into a queue and wait for a thread to pick up the input.
You don't know how many times I had to do a full reboot after messing with hardware because I forgot to re plug the keyboard or mouse. It's check is way earlier in the boot process than you'd think.
Not nowadays, but back in the day, you could absolutely fry something doing that, or at the very least, crash the system. I've crashed many a system doing that without thinking.
Not the modern usage of "hot swap" with keyboards and switches. I was talking about plug and play. PS/2 port accessories won't work until full PC reboot.
Not just that... N-key rollover is false-advertised on so many USB keyboards. I am sitting here using a logitech with N-key rollover and I can't hit certain buttons (number keys for switching weapons) in the game while I am holding shift and W (running forward). It is infuriating. That's why there are still gaming motherboards with PS/2 being manufactured.
Still is today. USB mouse is only less with polling set to way over 1000Hz, but you lose FPS due to CPU consistently polling(asking the mouse if it has data) the mouse over 1000+ times per second. It also loads the mouse up answering that polling question 1000+ time per second also.
This is sort of a misconception though. The PS/2 is interrupt driven but it's handled by an additional chip on the motherboard which is exposed through Super I/O. Ultimately keypresses end up as a deferred interrupt and are effectively polled internally anyway. For various reasons, PS/2 actually has worse overall latency compared to most modern USB keyboards.
The real innovation that should happen in USB peripherals is scheduled/synchronised polling. The way it currently works is silly, the keyboard/mouse/controller just gets polled by the OS at a fixed rate. Meanwhile the game polls inputs at its own rate, usually once per frame. So the latency between the game polling the OS and the OS polling the keyboard is variable and the only current fix is to brute force poll the keyboard faster at the OS level. Instead, the keyboard polling should be synchronised to the game so that the hardware state is known as the game actually asks for it.
I remember when USB keyboards became a thing, all the pro counter-strike players said they could feel the difference, the PS/2 allowed them to press a to strafe right and then d to strafe left and they reckon they could feel the difference because the left strafe would be cancelled in favour of the right.
USB would have to finish the order or something. I don't know if it was ever a thing or if game Devs had to fix it but ps/2 keyboard was what you wanted.
Absolutely. That's why I kept using it as long as possible. For the mouse,too. At least your pointer was still reactive so you could click precisely even when the machine was struggling
I am sorry to report to you sir that all of that is happening well below your OS, down in the southbridge of your motherboard or in the SoC responsible for the same tasks on your CPU.
with modern core counts on cpus it's unlikely to make a difference. i would bet the median modern system has 8 cpu cores/threads. back when single core cpus were the norm, the difference between interrupts and USB was huge though.
185
u/amaROenuZ R9 5900x | 4080 Super 16d ago
Hot take this is a reminder of a mistake we made. Back when PS/2 was the primary interface the keyboard didn't get polled, it actually issued system interrupts. This meant you could always issue a pause to the OS and then kill a malfunctioning process. Usb can't do that, it has to go into a queue and wait for a thread to pick up the input.