this post was submitted on 23 May 2025
692 points (98.3% liked)
linuxmemes
25051 readers
1452 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn, no politics, no trolling or ragebaiting.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. 🇬🇧 Language/язык/Sprache
- This is primarily an English-speaking community. 🇬🇧🇦🇺🇺🇸
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations. - Keep discussions polite and free of disparagement.
- We are never in possession of all of the facts. Defamatory comments will not be tolerated.
- Discussions that get too heated will be locked and offending comments removed.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm still mad they killed PS/2 on recent motherboards. So much for NKRO I guess.
Never mind recent motherboards, I'm still salty about the era of boards from 2004-2010 or so which had USB ports but the BIOS would refuse to accept inputs from them until after POST so you'd have to dredge up a separate PS/2 keyboard and jack it in to be able to configure the damn thing or use the boot menu.
And I had at least one board from that time period which has this same flaw, but with the added layer of joy and excitement that they've removed the PS/2 port block in order to appear "modern." It's still there, of course, but only as a pin header that you need to access from inside the case and plug a breakout board into. If you lose that board the gods themselves couldn't even help you. I used to keep it stuck with painters tape to the inside of the case side panel.
I thought I had dreamed those days
Terrible, dark dreams
Had one of these in a server rack. Which was all kinds of fun because the rack KVM was USB. We ultimately just left the PS/2 keyboard plugged in and sitting on top of the server in the rack. Given the shitshow which was cable management in those racks (we shared them with several departments), that keyboard was hardly the worst sin.
Don’t want break your illusion but for the most part those were just USB adapters so you didn’t had any of the implementational benefits because under the hood it was still USB
Not for the keyboards I have. And yes, I’ve tested it.
https://www.techpowerup.com/review/wasd-keyboards-code/
What do you mean? Its not the keybord that can decide if the hardware on the mobo is just a ps2 to internal usb adapter or not.
The one built into my previous board did full NKRO with every key on that keyboard.
NKRO is available for USB keyboards too.
Ehhh.
So, the initial, and real reason that NKRO was introduced was to deal with inexpensive keyboards that used grid encoders. This requires that each key be assigned a place on a grid, with each row and column having a wire associated with it. When you push a key, it sends the associated pair of wires high voltage. The keyboard encoder chip has those wires running to its pins.
Such a scheme can permit detecting any one key going down, which will always set two wires to high voltage. It can permit detecting any two keys going down, since that will always set at least one more line to high voltage, which will uniquely identify the key. But beyond that, additional keys may not be possible to uniquely identify (and, in fact, pushing one may send only lines that are already high to high, which is totally invisible to the encoder), and so it may ignore additional keys.
This prevents a grid-based encoder from doing NKRO.
If you want to do NKRO, you have to have a unique line coming from every keyswitch, which costs money.
There is a second issue with NKRO.
You can have a keyboard that can have NKRO to the encoder, rather than a grid. And can have a USB interface to talk to the computer.
But last I looked, USB has a protocol limitation that cannot support NKRO, and this was a major reason that you could still get some dual-interface keyboards with PS/2 support and USB recently.
PS/2 is edge-triggered by a key. A key goes down, the computer gets a message. A key goes up, the computer gets a message. All that message says is "this key went down" or "this key went up". The computer maintains a list of keys and its idea of the up or down state of them.
This is also why PS/2 keyboards can sometimes have keys that appear to be "stuck" that get unstuck when you tap them
if the computer misses the "up" message for some reason, then it only gets notified about it next time the key changes state and the computer gets a message about it.
USB doesn't work like that. When a USB keyboard sends an event, it contains a dump of the keyboard state. Every keypress, new dump. However, there's a restriction on the size of the message. It can only contain....I think it's seven keys that are down, plus modifier keys.
kagis
Six keys.
In practice, six is probably enough for pretty much anyone. The real problem was grid encoders, as a video game player might legitimately hit three or four keys at once. But...it still isn't, strictly-speaking, NKRO unless it can do all.
It looks like there are basically two approaches that keyboards have used to try to provide a similar effect. One is to just invent a proprietary protocol, and rely on that and a driver rather than the standard USB keyboard behavior.
The other is to tell the computer that the keyboard is a whole array of keyboards. Since most OS environments can use multiple keyboards and just use their input, such a keyboard can pretend to have multiple keyboards pressing buttons.
You're describing the boot keyboard, not the full USB HID protocol. It is true that there are some keyboards that only support NKRO, but the USB HID protocol has supported NKRO forever. https://www.devever.net/~hl/usbnkro
Per this thread from 2009, the limit was conditional upon using a particular keyboard descriptor documented elsewhere in the spec, but keyboards are not required to use that descriptor.
I tested just now on one of my mechanical keyboards, on MacOS, connected via USB C, using the Online Key Rollover Test, and was able to get 44 keys registered at the same time.
What keyboard are you using? I have yet to use one that supports more than 6 over USB.
The one I grabbed to test was the ROG Azoth.
I also checked my Iris and Moonlander - both cap out at 6, but I believe I can update that to be higher with QMK or add a config key via Oryx on the Moonlander to turn it on.
I don't know about AM5, but I'm running a 5700X3D on a motherboard that still has a PS/2 port. (Not that I'm using it, but it's there.) You can still have a pretty modern system with PS/2 if you really want it.
X670 tier boards were some of the last to have PS/2. I got an X870 board :(
Mine is a B350 -- I'm still running the same motherboard I used 7 years ago with my old Ryzen 1700X. Considering how much depends on the CPU these days instead of the chipset, does it even really matter if the chipset is older?
Chipset itself doesn’t matter, it it dates the board.
On AM4 basically every board has it. Maybe the really dire boards would skit it, but they’re skipping so much more first. Starting with early AM5 (6XX) and it actually started disappearing and now with 8XX it’s getting much less popular.
Also how’s your B350 board holding up? My X370 board died after about 3.5 years, and my friends X370 had been acting up after about 5. Maybe the higher end chipsets are cursed? I sure hope my new board lasts because I paid a fuck ton for it.
Just fine so far, but thanks a lot for jinxing it! 😠
It's a Gigabyte AB350N-Gaming WiFi, which is a mini-ITX board, so having the B-series chipset was probably less about making it cheap and more about the features of fancier chipsets being wasted on a board that didn't have enough space to implement the connectors for them. Therefore, it might like slightly higher quality than some other B350 boards.