From 27e319e65b65b6b7f7675a34cb24fdffcc380a50 Mon Sep 17 00:00:00 2001 From: an_achronism <87213873+an-achronism@users.noreply.github.com> Date: Thu, 2 Mar 2023 06:13:55 +0000 Subject: [PATCH] Unicomp New Model M Pause/Break key fix 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. --- keyboards/converter/ibmpc_usb/matrix.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/converter/ibmpc_usb/matrix.c b/keyboards/converter/ibmpc_usb/matrix.c index b059d418bcc..8eef286f783 100644 --- a/keyboards/converter/ibmpc_usb/matrix.c +++ b/keyboards/converter/ibmpc_usb/matrix.c @@ -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