> From: Mathias Schmocker <[email protected]>
> Date: Wed, 28 Oct 2020 20:54:13 +0100
>
> Hello,
> Here a minimal diff to solve the swapped keys of the internal ISO
> keyboard/trackpad found on my older Macbook1,1 13inch black laptop
> (6.8 i386 release)
> cvs diff: Diffing .
> Index: ukbd.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/usb/ukbd.c,v
> retrieving revision 1.79
> diff -u -p -r1.79 ukbd.c
> --- ukbd.c 23 Aug 2020 11:08:02 -0000 1.79
> +++ ukbd.c 27 Oct 2020 19:18:51 -0000
> @@ -259,6 +259,7 @@ ukbd_attach(struct device *parent, struc
> case USB_PRODUCT_APPLE_GEYSER_ISO:
> case USB_PRODUCT_APPLE_WELLSPRING6_ISO:
> case USB_PRODUCT_APPLE_WELLSPRING8_ISO:
> + case USB_PRODUCT_APPLE_INT_KBTP_218_ISO:
> sc->sc_munge = ukbd_apple_iso_munge;
> break;
> case USB_PRODUCT_APPLE_WELLSPRING_ISO:
> Index: usbdevs
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/usb/usbdevs,v
> retrieving revision 1.720
> diff -u -p -r1.720 usbdevs
> --- usbdevs 3 Aug 2020 14:25:44 -0000 1.720
> +++ usbdevs 27 Oct 2020 19:24:15 -0000
> @@ -941,6 +941,7 @@ product APPLE FOUNTAIN_ANSI 0x020e Keybo
> product APPLE FOUNTAIN_ISO 0x020f Keyboard/Trackpad
> product APPLE GEYSER_ANSI 0x0214 Keyboard/Trackpad
> product APPLE GEYSER_ISO 0x0215 Keyboard/Trackpad
> +product APPLE INT_KBTP_218_ISO 0x0218 Keyboard/Trackpad
> product APPLE WELLSPRING_ANSI 0x0223 Keyboard/Trackpad
> product APPLE WELLSPRING_ISO 0x0224 Keyboard/Trackpad
> product APPLE WELLSPRING_JIS 0x0225 Keyboard/Trackpad
>
> With this, the sf keyboard maps correcly the less/greater and the
> (swiss-french and swiss-german) section/degree key.
> On the console and on with the X-server.
>
NetBSD has a better name for the device I think. So I propose the
diff below which also adds a few more missing device IDs in the range.
ok?
Index: dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.724
diff -u -p -r1.724 usbdevs
--- dev/usb/usbdevs 25 Oct 2020 09:03:01 -0000 1.724
+++ dev/usb/usbdevs 28 Oct 2020 20:29:58 -0000
@@ -951,6 +951,13 @@ product APPLE FOUNTAIN_ANSI 0x020e Keybo
product APPLE FOUNTAIN_ISO 0x020f Keyboard/Trackpad
product APPLE GEYSER_ANSI 0x0214 Keyboard/Trackpad
product APPLE GEYSER_ISO 0x0215 Keyboard/Trackpad
+product APPLE GEYSER_JIS 0x0216 Keyboard/Trackpad
+product APPLE GEYSER3_ANSI 0x0217 Keyboard/Trackpad
+product APPLE GEYSER3_ISO 0x0218 Keyboard/Trackpad
+product APPLE GEYSER3_JIS 0x0219 Keyboard/Trackpad
+product APPLE GEYSER4_ANSI 0x021a Keyboard/Trackpad
+product APPLE GEYSER4_ISO 0x021b Keyboard/Trackpad
+product APPLE GEYSER4_JIS 0x021c Keyboard/Trackpad
product APPLE WELLSPRING_ANSI 0x0223 Keyboard/Trackpad
product APPLE WELLSPRING_ISO 0x0224 Keyboard/Trackpad
product APPLE WELLSPRING_JIS 0x0225 Keyboard/Trackpad
Index: dev/usb/ukbd.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/ukbd.c,v
retrieving revision 1.79
diff -u -p -r1.79 ukbd.c
--- dev/usb/ukbd.c 23 Aug 2020 11:08:02 -0000 1.79
+++ dev/usb/ukbd.c 28 Oct 2020 20:29:58 -0000
@@ -257,6 +257,7 @@ ukbd_attach(struct device *parent, struc
switch (uha->uaa->product) {
case USB_PRODUCT_APPLE_FOUNTAIN_ISO:
case USB_PRODUCT_APPLE_GEYSER_ISO:
+ case USB_PRODUCT_APPLE_GEYSER3_ISO:
case USB_PRODUCT_APPLE_WELLSPRING6_ISO:
case USB_PRODUCT_APPLE_WELLSPRING8_ISO:
sc->sc_munge = ukbd_apple_iso_munge;