tmk / tmk_keyboard

Keyboard firmwares for Atmel AVR and Cortex-M
3.96k stars 1.7k forks source link

Unicomp New Model M broken Pause/Break key fix #754

Closed an-achronism closed 1 year ago

an-achronism commented 1 year ago

The PS/2 controller code for Unicomp's current generation PS/2 keyboard sends the wrong scancodes when Ctrl + Pause (which should be Break) is pressed:

https://deskthority.net/viewtopic.php?f=2&t=25718 https://www.reddit.com/r/modelm/comments/n0u81o/anybody_out_there_rocking_a_ps2_unicomp_noticed/

Instead of it sending the Break sequence...

E0 7E E0 F0 7E

... representing a press of Scroll Lock, which is Break because Ctrl is being pressed, it instead sends...

E0 77

... representing a press of Num Lock, which is just the old way of getting Pause.

Since the E0 77 coming from the controller is not a normal sequence, this workaround does not interfere with Ctrl + Num Lock, which still Pauses as it should. It uses the same solution as the existing override to produce Break (for keyboards with more sensible controllers in them).

tmk commented 1 year ago

Thanks.