Key Blocking and Multi-Press Limits on Keyboards

There are 2 limits on using multiple keys at once on a keyboard:

1. "Key blocking" is a problem that comes from using a matrix to scan the keys instead of discrete addressing of each key on the keyboard (which would require as many data lines into the keyboard's microcontroller as there are keys on the keyboard, so nobody does it).

Note that you can't press all three keys of DFG at the same time on most keyboards; w+a+space blocks on the Logitech "MX3200"; w+a+s blocks on my "S-510"; w+d+space blocks on my "diNovo for Notebooks" I'm sitting at right now.

ExtremeTech has a good description of how this works. Which sets of 3 keys block each other is due to the design of the key matrix in that particular model, and varies from model-to-model. If your model blocks on a triplet that you care about, the only solutions are to either get a different model or use a different set of keys in your game.

2. The microcontroller in the keyboard has to remember the state of each key being pressed, and simpler keyboards can handle less keys pressed at once (even if those keys don't "block" each other). Some "Gaming" keyboards have a larger limit. My non-gaming Logitech "S-510" and "diNovo for Notebooks" keyboards have a limit of 6 non-blocking keys. My G15 V1 has a limit of 6 keys at once.

You can use KeyScan to easily test key combos.

Tested limits:
Logitech S-510: 6 max, example blocking sets: w+a+s
Logitech diNovo for Notebooks: 6 max, example blocking sets: w+d+space
Logitech MX3200: ? max, example blocking sets: w+a+space
Logitech G15 version 1: 6 max, example blocking sets: F2+F3+F4 (no blocking sets found in WASD+Ctrl+Space set)
Logitech Illuminated Keyboard: 6 max, example blocking sets: F2+F3+F4, i+o+p, i+o+d (no blocking sets found in WASD+Ctrl+Space set)
Logitech S-520: 6 max, example blocking sets: F1+F2+F3, i+o+p, i+o+d (no blocking sets found in WASD+Ctrl+Space set)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License