Unicomp EnduraPro, Ultra Classic & New Model M (104/105-key) keymatrix simulator

This interactive tool simulates the keyboard matrix (keymatrix) of a Unicomp EnduraPro, Ultra Classic & New Model M (104/105-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
LGUI
LAlt
Space
RGUI
RAlt
Menu
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_esck_pausek_f3k_f1k_insk_3k_4k_6k_f5k_f7k_f9k_f11k_prscrk_rightk_scrlKC_NO
1k_tabKC_NOk_delk_pgdnKC_NOk_ek_tk_uk_backspacek_minusk_downk_endk_homek_rwinKC_NOk_caps
2k_1k_bsp_hiddenkp_nlk_pgupk_codek_ik_rk_yk_equalsk_9k_0kp_multkp_divk_upk_lwinKC_NO
3k_qk_lshiftkp_9k_2KC_NOk_kk_fk_hk_rbrck_ok_semicolonkp_8kp_7KC_NOKC_NOk_lctrl
4k_aKC_NOkp_6k_wk_laltk_dk_gk_jk_backslk_lbrck_singlequotekp_5kp_4k_rshift_hiddenkp_plus_hiddenKC_NO
5k_zk_rshiftkp_dotk_xKC_NOk_cmk_bk_mk_returnk_periodk_pkp_0kp_1KC_NOkp_0_hiddenk_rctrl
6k_nubsKC_NOkp_3k_sk_raltk_ck_vk_nk_leftk_lk_fwslashkp_2kp_plusk_nuhskp_enter_hiddenKC_NO
7k_tildKC_NOkp_minusk_f2k_f4k_8k_5k_7k_f6k_f8k_f10k_f12k_rmenuk_spacekp_enterKC_NO

More info