Unicomp Mini Model M matrix simulator (WIP)

This interactive tool simulates the key-matrix of a Unicomp Mini Model M so that you can test if possible key combinations work without needing to test on a physical keyboard. Model M keyboards are all fundamentally two-key rollover (2KRO) due to the use of a membrane assembly, but this doesn't mean Model Ms cannot register more than 2 keys unlike popular belief. This tool demonstrates this and can allow you to see if a given Model M key-matrix would be suitable for your needs.

Disclaimer & notes

This tool is intended to be a guideline only. The results from any input are based on physical key-matrix data only and doesn't take into account firmware (ie, differing deghosting algorithm implementations or bugs/quirks). If you're using this tool as part of a purchasing decision, if possible, it would be prudent to try verifying results on a real keyboard someone you know has or ask on /r/modelm subreddit. The tool is also best viewed on desktop.

Keyboard simulator (ISO)

Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
Print Screen
Scroll Lock
Pause
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Insert
Home
Page Up
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
Enter
Delete
End
Page Down
Caps Lock
A
S
D
F
G
H
J
K
L
;
'
#
LShift
ISO \
Z
X
C
V
B
N
M
,
.
/
RShift
Up
LCtrl
LGUI
LAlt
Space
RAlt
RGUI
Menu
RCtrl
Left
Down
Right
Switch to ANSI/US English

Only UK English functional layout is available for the ISO simulator at this time

Key

Firmware caution: A 3-key combination that may or may not be problematic depending on keyboard's firmware. A custom QMK-based controller would probably be fine with these, but IBM/Lexmark/Unicomp native firmware may not.
Hardware block: A N-key combination that will block in any circumstance due to the matrix's design. There is nothing you can do about these since they're a fundamental key-matrix limitation.

Matrix

This is a tabular representation of the data used by the simulator above. A keyboard matrix is constructed from a series of columns (X-axis) and rows (Y-axis) whose intersections are used for key assignment. Such matrices allows a large number of keys to be driven by relatively few traces, as opposed to each key requiring its own circuit.

0 1 2 3 4 5 6 7 8 9 A B C D E F G
0 Grv Esc 5 RShiftHid F2 F3 F4 P Lalt Enter -
1 Caps LShiftHid Q 6 F5 EnterHid Rctrl RShift -
2 S D F1 F G Z C X V B A Tab -
3 1 Y F6 Lwin -
4 4 O F7 Lctrl LShift -
5 W 7 F8 [ Rwin -
6 2 U F9 = F10 F11 - PrtScrn -
7 3 I F12 BackspcHid ScrLck -
8 T 0 Backspace Up End Ins -
9 R Ralt Left 9 BackSlash Home -
A Space E Rmenu 8 ] Right Down Pgup PgDn -
B M " " . FwSlash H K J L ; N ' Del PauseBr

More info