From: George Koehler Subject: Re: Numpad on macppc laptops To: jon@elytron.openbsd.amsterdam Cc: tech@openbsd.org, tobias.heider@stusta.de Date: Tue, 2 Jul 2024 02:02:23 -0400 On Thu, 30 May 2024 22:22:03 +0000 (UTC) jon@elytron.openbsd.amsterdam wrote: > Any thoughts? I think this could benefit a few other laptops besides > late powerbooks, any laptop with a numpad on the right hand side > of the keyboard roughly follows this layout. I waited too long to commit your diff. I put it in just now, 3 months after you showed it to me. I have long been running it on macppc (but don't have the affected keyboard). It affects only some macppc keyboards, and has not yet been adapted to other laptops. Hold the Fn key for a numpad, 7 8 9 0 - 7 8 9 / = U I O P => 4 5 6 * J K L ; 1 2 3 - M . / 0 . + Fn+F6 is Num Lock. --gkoehler This is a copy of the committed diff, Index: dev/hid/hidkbd.c =================================================================== RCS file: /cvs/src/sys/dev/hid/hidkbd.c,v diff -u -p -u -5 -r1.12 hidkbd.c --- dev/hid/hidkbd.c 3 Jan 2024 21:41:44 -0000 1.12 +++ dev/hid/hidkbd.c 2 Jul 2024 04:45:50 -0000 @@ -139,13 +139,30 @@ static const struct hidkbd_translation a #endif #ifdef __macppc__ { 60, 127 }, /* F3 -> audio mute */ { 61, 129 }, /* F4 -> audio lower */ { 62, 128 }, /* F5 -> audio raise */ + { 63, 83 }, /* F6 -> num lock */ { 65, 234 }, /* F8 -> backlight toggle */ { 66, 236 }, /* F9 -> backlight lower */ { 67, 235 }, /* F10 -> backlight raise */ + { 39, 84 }, /* keypad divide */ + { 19, 85 }, /* keypad multiply */ + { 51, 86 }, /* keypad substract */ + { 56, 87 }, /* keypad add */ + { 13, 89 }, /* keypad 1 */ + { 14, 90 }, /* keypad 2 */ + { 15, 91 }, /* keypad 3 */ + { 24, 92 }, /* keypad 4 */ + { 12, 93 }, /* keypad 5 */ + { 18, 94 }, /* keypad 6 */ + { 36, 95 }, /* keypad 7 */ + { 37, 96 }, /* keypad 8 */ + { 38, 97 }, /* keypad 9 */ + { 16, 98 }, /* keypad 0 */ + { 55, 99 }, /* keypad decimal */ + { 45, 103 }, /* keypad equal */ #else { 63, 102 }, /* F6 -> sleep */ { 67, 127 }, /* F10 -> audio mute */ { 68, 129 }, /* F11 -> audio lower */ { 69, 128 }, /* F12 -> audio raise */