Unicomp PC 122 keymatrix simulator

This interactive tool simulates the keyboard matrix (keymatrix) of a Unicomp PC 122 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 (5250)

F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
SysRq Attn
ScrLk
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Back Tab
Dup
RollDn
End
NumLk
Num /
Num *
Print Screen
Clear
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
Field Exit
Return
Delete
RollUp
Num 7
Num 8
Num 9
Field -
Print
Help
Caps Lock
A
S
D
F
G
H
J
K
L
;
'
\
Up
Num 4
Num 5
Num 6
Field +
Record
Play
LShift
N/A 1
Z
X
C
V
B
N
M
,
.
/
RShift
Left
Home
Right
Num 1
Num 2
Num 3
Num Field Exit
GUI
Menu
Reset
LAlt
Space
RAlt
Enter
Down
Num 0
Num .
Switch to 3270

Only US English functional layout is available for the 5250 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_lb1k_lb4k_f3k_f1k_insk_3k_4k_6k_f5k_f7k_f9k_f11k_lb3k_rightk_lb2k_lb6
1k_tabk_f21k_delk_pgdnk_f22k_ek_tk_uk_backspacek_minusk_downk_endk_homek_f23k_f14k_caps
2k_1k_f19kp_nlk_pgupk_f17k_ik_rk_yk_equalsk_9k_0kp_multkp_divk_upk_lb9k_f16
3k_qk_rshiftkp_9k_2KC_NOk_kk_fk_hk_rbrck_ok_semicolonkp_8kp_7k_f24k_f13k_lctrl
4k_aKC_NOkp_6k_wk_laltk_dk_gk_jk_backslk_lbrck_singlequotekp_5kp_4k_f20k_f15k_lb10
5k_zk_lshiftkp_dotk_xKC_NOk_cmk_bk_mk_returnk_periodk_pkp_0kp_1k_navmidkp_plus_hiddenk_rctrl
6k_nubsKC_NOkp_3k_sk_raltk_ck_vk_nk_leftk_lk_fwslashkp_2kp_plusk_nuhsk_lb7KC_NO
7k_tildk_f18kp_minusk_f2k_f4k_8k_5k_7k_f6k_f8k_f10k_f12k_lb8k_spacekp_enterk_lb5

More info