IBM Enhanced Keyboard (101/102-key) keymatrix simulator

This interactive tool simulates the keyboard matrix (keymatrix) of a IBM Enhanced Keyboard (101/102-key) so that you can test if possible key combinations work without needing to test on a physical keyboard. Model Ms are all fundamentally two-key rollover (2KRO) keyboards 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 keymatrix 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 keymatrix 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
Num Lock
Num /
Num *
Num -
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
Enter
Delete
End
Page Down
Num 7
Num 8
Num 9
Num +
Caps Lock
A
S
D
F
G
H
J
K
L
;
'
#
Num 4
Num 5
Num 6
LShift
ISO \
Z
X
C
V
B
N
M
,
.
/
RShift
Up
Num 1
Num 2
Num 3
Num Enter
LCtrl
LAlt
Space
RAlt
RCtrl
Left
Down
Right
Num 0
Num .
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 keymatrix 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.

0123456789ABCDEF
0k_bk_spacek_nk_fwslashk_downk_rightkp_minusk_leftk_ralt
1k_rctrlk_rshiftk_zk_xk_ck_vk_returnk_mk_cmk_periodk_nuhskp_nlkp_divkp_multk_pause
2k_ak_sk_dk_fk_backslk_jk_kk_lk_semicolonkp_1kp_2kp_3kp_enter
3k_qk_wk_ek_rk_uk_ik_ok_pkp_7kp_8kp_9kp_plusk_scrl
4k_1k_2k_3k_4k_f10k_7k_8k_9k_0k_f11k_f12k_pgdnk_endk_prscr
5k_lctrlk_tildk_f1k_f2k_5k_f9k_6k_equalsk_f8k_minusk_delk_insk_pgupk_home
6k_lshiftk_tabk_capsk_f3k_tk_backspacek_yk_rbrck_f7k_lbrckp_4kp_5kp_6kp_plus_hidden
7k_esck_nubsk_f4k_gk_f5k_hk_f6k_singlequotekp_0kp_dotk_upk_lalt

More info