Skip to content

Commit

Permalink
Unicomp New Model M Pause/Break key fix
Browse files Browse the repository at this point in the history
The PS/2 controller code on Unicomp's New Model M has a logic design
flaw whereby it outputs E0 77 (effectively substituting a press of Num
Lock) instead of E0 7E E0 F0 7E (substituting a press and release of
Scroll Lock, which is correct for Break, given its legacy from the IBM
5150). Added this into the function that maps E0 scancodes to correct
for Unicomp's mistake. Tested, and does not interfere with actually
pressing Ctrl + Num Lock, which executes a Pause, as it should.
  • Loading branch information
an-achronism committed Mar 2, 2023
1 parent b2c2d92 commit 27e319e
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions keyboards/converter/ibmpc_usb/matrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,7 @@ static uint8_t cs2_e0code(uint8_t code) {
case 0x72: return 0x3F; // cursor down
case 0x74: return 0x47; // cursor right
case 0x75: return 0x4F; // cursor up
case 0x77: return 0x00; // Unicomp New Model M Pause/Break key fix
case 0x7A: return 0x56; // page down
case 0x7D: return 0x5E; // page up
case 0x7C: return 0x7F; // Print Screen
Expand Down

0 comments on commit 27e319e

Please sign in to comment.