On Wed, Oct 28, 2020 at 08:54:13PM +0100, Mathias Schmocker wrote: > 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
Looks ok. One nit: I would propose changing the name of the device. It seems the commonly used name for this keyboard is GEYSER3_ISO. I will commit the attached diff but change the name to APPLE_GEYSER3_ISO unless anyone has objections. > (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. > > I was annoyed by using an external Dell USB keyboard... > (not affected by this diff, dmesg below) > > OpenBSD 6.8 (GENERIC.MP) #27: Tue Oct 27 20:56:51 CET 2020 > [email protected]:/sys/arch/i386/compile/GENERIC.MP > real mem = 2114273280 (2016MB) > avail mem = 2059362304 (1963MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe7440 (37 entries) > bios0: vendor Apple Computer, Inc. version "MB11.88Z.0061.B03.0610121324" > date 10/12/06 > bios0: Apple Computer, Inc. MacBook1,1 > acpi0 at bios0: ACPI 3.0 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT > acpi0: wakeup devices ADP1(S3) LID0(S3) PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) > USB3(S3) USB4(S3) USB7(S3) EC__(S3) > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpihpet0 at acpi0: 14318179 Hz > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Genuine Intel(R) CPU 1500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, > 06-0e-08 > cpu0: > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN > mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges > cpu0: apic clock running at 166MHz > cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE > cpu1 at mainbus0: apid 1 (application processor) > cpu1: Genuine Intel(R) CPU 1500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, > 06-0e-08 > cpu1: > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN > ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped > acpimcfg0 at acpi0 > acpimcfg0: addr 0xe0000000, bus 0-255 > acpiec0 at acpi0 > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus 1 (RP01) > acpiprt2 at acpi0: bus 2 (RP02) > acpiprt3 at acpi0: bus 3 (PCIB) > acpisbs0 at acpi0: SBS0 model "ASMB013" serial 1234 type LION oem "HSW" > acpiac0 at acpi0: AC unit online > acpibtn0 at acpi0: LID0 > "APP0002" at acpi0 not configured > acpibtn1 at acpi0: PWRB > acpibtn2 at acpi0: SLPB > "PNP0A08" at acpi0 not configured > asmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20: rev 1.4f504, 203 keys > "APP0003" at acpi0 not configured > "ACPI0001" at acpi0 not configured > "IFX0101" at acpi0 not configured > acpicmos0 at acpi0 > acpicpu0 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 > mwait@0x10), C1(1000@1 mwait), PSS > acpicpu1 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 > mwait@0x10), C1(1000@1 mwait), PSS > acpivideo0 at acpi0: GFX0 > bios0: ROM list: 0xc0000/0xe600! > cpu0: Enhanced SpeedStep 1998 MHz: speeds: 2000, 1833, 1667, 1500, 1333, > 1000 MHz > memory map conflict 0xe00f8000/0x1000 > memory map conflict 0xfed1c000/0x4000 > memory map conflict 0xfffb0000/0x30000 > pci0 at mainbus0 bus 0: configuration mode 1 (bios) > pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03 > inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03 > drm0 at inteldrm0 > intagp0 at inteldrm0 > agp0 at intagp0: aperture at 0x80000000, size 0x10000000 > inteldrm0: apic 1 int 16, I945GM, gen 3 > "Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured > vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and > Frequency, rev 0x03) at pci0 dev 7 function 0 not configured > azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi > azalia0: codecs: Sigmatel STAC9220/1 > audio0 at azalia0 > ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17 > pci1 at ppb0 bus 1 > mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC > rev. A3 (0x2): apic 1 int 16 > msk0 at mskc0 port A: address 00:17:f2:2c:6d:81 > eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2 > ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16 > pci2 at ppb1 bus 2 > ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17 > ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address > 00:17:f2:4c:a6:ba > uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21 > uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19 > uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18 > uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16 > ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21 > usb0 at ehci0: USB revision 2.0 > uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev > 2.00/1.00 addr 1 > ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2 > pci3 at ppb2 bus 3 > "AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured > ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM > disabled > pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel > 0 configured to compatibility, channel 1 configured to compatibility > atapiscsi0 at pciide0 channel 0 drive 0 > scsibus1 at atapiscsi0: 2 targets > cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-857, HBEA> removable > cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4 > pciide0: channel 1 disabled (no drives) > pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, > channel 0 configured to native-PCI, channel 1 configured to native-PCI > pciide1: using apic 1 int 19 for native-PCI interrupt > wd0 at pciide1 channel 0 drive 1: <WDC WD10JPVT-26A1YT0> > wd0: 16-sector PIO, LBA48, 953869MB, 1953525168 sectors > wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 6 > ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int > 19 > iic0 at ichiic0 > spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM > spdmem1 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM > usb1 at uhci0: USB revision 1.0 > uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev > 1.00/1.00 addr 1 > usb2 at uhci1: USB revision 1.0 > uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev > 1.00/1.00 addr 1 > usb3 at uhci2: USB revision 1.0 > uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev > 1.00/1.00 addr 1 > usb4 at uhci3: USB revision 1.0 > uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev > 1.00/1.00 addr 1 > isa0 at ichpcib0 > isadma0 at isa0 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 > uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer > Bluetooth" rev 2.00/0.0c addr 2 > uvideo0: can't find video interface > uhidev0 at uhub1 port 1 configuration 1 interface 0 "Logitech USB Receiver" > rev 2.00/12.10 addr 2 > uhidev0: iclass 3/1 > ukbd0 at uhidev0: 8 variable keys, 6 key codes > wskbd0 at ukbd0: console keyboard > uhidev1 at uhub1 port 1 configuration 1 interface 1 "Logitech USB Receiver" > rev 2.00/12.10 addr 2 > uhidev1: iclass 3/1, 8 report ids > ums0 at uhidev1 reportid 2: 16 buttons, Z and W dir > wsmouse0 at ums0 mux 0 > uhid0 at uhidev1 reportid 3: input=4, output=0, feature=0 > uhid1 at uhidev1 reportid 4: input=1, output=0, feature=0 > uhid2 at uhidev1 reportid 8: input=1, output=0, feature=0 > uhidev2 at uhub1 port 1 configuration 1 interface 2 "Logitech USB Receiver" > rev 2.00/12.10 addr 2 > uhidev2: iclass 3/0, 33 report ids > uhid3 at uhidev2 reportid 16: input=6, output=6, feature=0 > uhid4 at uhidev2 reportid 17: input=19, output=19, feature=0 > uhid5 at uhidev2 reportid 32: input=14, output=14, feature=0 > uhid6 at uhidev2 reportid 33: input=31, output=31, feature=0 > uhidev3 at uhub1 port 2 configuration 1 interface 0 "Apple Computer Apple > Internal Keyboard / Trackpad" rev 2.00/0.64 addr 3 > uhidev3: iclass 3/1 > ukbd1 at uhidev3: 8 variable keys, 5 key codes, country code 13 > wskbd1 at ukbd1 mux 1 > uhidev4 at uhub1 port 2 configuration 1 interface 1 "Apple Computer Apple > Internal Keyboard / Trackpad" rev 2.00/0.64 addr 3 > uhidev4: iclass 3/1, 5 report ids > ums1 at uhidev4 reportid 2: 3 buttons > wsmouse1 at ums1 mux 0 > ums2 at uhidev4 reportid 5 > ums2: mouse has no X report > uhidev5 at uhub1 port 2 configuration 1 interface 2 "Apple Computer Apple > Internal Keyboard / Trackpad" rev 2.00/0.64 addr 3 > uhidev5: iclass 3/0 > uhid7 at uhidev5: input=1, output=0, feature=0 > uhidev6 at uhub3 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR > Receiver" rev 2.00/1.10 addr 2 > uhidev6: iclass 3/0, 38 report ids > uhid8 at uhidev6 reportid 36: input=4, output=0, feature=0 > uhid9 at uhidev6 reportid 37: input=4, output=0, feature=0 > uhid10 at uhidev6 reportid 38: input=4, output=0, feature=0 > uhidev7 at uhub4 port 1 configuration 1 interface 0 "Apple Computer > HID-proxy" rev 2.00/19.65 addr 2 > uhidev7: iclass 3/1 > ukbd2 at uhidev7: 8 variable keys, 6 key codes > wskbd2 at ukbd2 mux 1 > uhidev8 at uhub4 port 1 configuration 1 interface 1 "Apple Computer > HID-proxy" rev 2.00/19.65 addr 2 > uhidev8: iclass 3/1 > ums3 at uhidev8: 5 buttons > wsmouse2 at ums3 mux 0 > vscsi0 at root > scsibus2 at vscsi0: 256 targets > softraid0 at root > scsibus3 at softraid0: 256 targets > root on wd0a (025e72b747930472.a) swap on wd0b dump on wd0b > inteldrm0: 1280x800, 32bpp > wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0 > wskbd1: connecting to wsdisplay0 > wskbd2: connecting to wsdisplay0 > wsdisplay0: screen 1-5 added (std, vt100 emulation) > ------------------------ > uhidev9 at uhub2 port 1 configuration 1 interface 0 "Dell Dell QuietKey > Keyboard" rev 1.10/1.40 addr 2 > uhidev9: iclass 3/1 > ukbd3 at uhidev9: 8 variable keys, 6 key codes > wskbd3 at ukbd3 mux 1 > wskbd3: connecting to wsdisplay0 > wskbd3: disconnecting from wsdisplay0 > wskbd3 detached > ukbd3 detached > uhidev9 detached > ====================== > # cat /etc/kbdtype > # sf > >
