← Back to team overview

mactel-support team mailing list archive

[Bug 214786] Re: Apple USB ISO keyboard has incorrectly swapped keys

 

Hi,

I'm using the german version of the Apple USB keyboard (aluminium) and
had the same problem with the swapped to keys. To solve the problem once
and forever, i made a small kernel patch which disables the ISO layout
completely. The patch adds a new option (iso_layout) in the driver "hid-
apple.ko" (Just like the fnmode option). The default value is "ISO
layout enabled" (Just like before). When you set the option to zero the
ISO layout gets disabled and the swapped keys are disappearing (At least
for my keyboard).

The patch is for kernel version 2.6.30, but should work with every other
kernel version.

** Attachment added: "Patch to add module option for enabling/disabling ISO layout an Apple USB keyboard"
   http://launchpadlibrarian.net/27940746/hid-apple_iso_layout.patch

-- 
Apple USB ISO keyboard has incorrectly swapped keys
https://bugs.launchpad.net/bugs/214786
You received this bug notification because you are a member of Mactel
Support, which is the registrant for Mactel Support.

Status in Mactel Support: New
Status in “linux” source package in Ubuntu: Triaged

Bug description:
Since upgrading kernel to version 2.6.24-12.22 two keys are now swapped on my Apple USB aluminium keyboard with danish layout. Now the keys "<" and "½" are swapped and no longer matches the actual print on the keycaps.

The error is isolated to the following commit: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commitdiff;h=efb3031b446d441dca5b10619503ac0bba7f9748

This commit introduced a key swapping for all "ISO" type Apple keyboards. In my case this swapping is incorrect, and generally it seems like a very bad idea to perform hard coded locale specific key mapping in kernel space as this is also done several places in user space.

The included patch reverts the behavior to the default that matches the keycap printing.