Karabiner-Elements icon indicating copy to clipboard operation
Karabiner-Elements copied to clipboard

`grave_accent_and_tilde` key in reality prints `§` symbol

Open DmytroYeremieiev opened this issue 5 years ago • 30 comments

grave_accent_and_tilde prints § in any editor. All custom configurations of modifications to Karabiner were disabled, which means the root cause is in program itself.

OS version: Mac OS Mojave 10.14.6 (18G103) Karabiner version: 12.7.0, but the same goes on lower versions as well

DmytroYeremieiev avatar Oct 13 '19 12:10 DmytroYeremieiev

I can confirm this. On a MacBook Pro laptop (13 inch, 2017) under macOS Mojave 10.14.6, US Keyboard.

Under “Show Keyboard Viewer”, with Karabiner Elements enabled, the system correctly show the laptop keyboard (Key to the left of 1 is GRAVE ACCENT, key to the right of LEFT SHIFT is Z, single-storey RETURN) As soon as I start typing, the keyboard changes to a US desktop keyboard (with num keys, two-storey RETURN, § to the left of 1, GRAVE ACCENT between left shift and Z.) Clearly the OS is confused about which keyboard is being used, and misrepresents the input.

Quitting Karabiner Elements unconfuses the OS again, and the Keyboard Viewer “sees” the correct keyboard.

The Event Viewer in Karabiner, on the other hand, correctly tells me that I’m pressing grave_accent_and_tilde.

thorehusfeldt avatar Nov 06 '19 07:11 thorehusfeldt

Half-baked analysis: With Karabiner Elements active, the OS fails to identify the keyboard correctly (the Keyboard Setup Assistant claims that the keyboard “cannot be identified”.) The OS then seems to incorrectly default to a wide US desktop keyboard.

Quick fix:

Select System Preferences… -> Keyboard -> Keyboard tab. Click “Change Keyboard Type…” and follows the Keyboard Setup Assistant.

I don’t know how persistent this solution is. But it makes Karabiner Elements usable again.

thorehusfeldt avatar Nov 06 '19 08:11 thorehusfeldt

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 05 '20 09:01 stale[bot]

I would prefer this issue to be addressed or fixed. If there is a way for us to help (beyond the hacky workaround I suggest above), please tell.

thorehusfeldt avatar Jan 06 '20 09:01 thorehusfeldt

I would prefer this issue to be addressed or fixed. If there is a way for us to help (beyond the hacky workaround I suggest above), please tell.

Fixing this error would also fix a whole of other issues opened i think!

ralfnitzer avatar Jan 15 '20 08:01 ralfnitzer

I have exactly the same issue with a Portuguese language keyboard layout.

With Karabiner-Elements app closed, macOS configured for Portuguese language input (pt-PT):

  • Key1 = top left most physical key
    • No modifier key pressed = § (section sign)
      • Unicode = U+00A7
      • UTF-8 = C2 A7
    • Shift key pressed = ± (plus-minus sign)
      • Unicode = U+00B1
      • UTF-8 = C2 B1
  • Key2 = second key from the left, second row from the bottom
    • No modifier key pressed = < (less-than sign)
      • Unicode = U+003C
      • UTF-8 = 3C
    • Shift key pressed = > (greater than)
      • Unicode = U+003E
      • UTF-8 = 3E
    • Option key pressed = ≤ (less-than or equal to)
      • Unicode = U+2264
      • UTF-8 = E2 89 A4
    • Shift+Option keys pressed = ≥ (greater-than or equal to)
      • Unicode = U+2265
      • UTF-8 = E2 89 A5

With Karabiner-Elements app active, Key1 and Key2 switch.

Using Karabiner EventViewer I can see the following:

  • Key1 = top left most physical key
    • Code = 100
    • Name = non_us_backslash
  • Key2 = second key from the left, second row from the bottom
    • Code = 53
    • Name = grave_accent_and_tilde

Is there a solution to fix this?

Useful information:

  • macOS version = 10.14.6 (Mojave)
  • Karabiner version = Karabiner-Elements 12.9.0
  • Hardware: MacBook Pro (13-inch, 2017)
  • Keyboard hardware:
    • Internal = Mac Portuguese layout (pt-PT)
    • External = Apple Magic Keyboard Portuguese layout (pt-PT)

JoseGuedes avatar Jan 31 '20 16:01 JoseGuedes

Reproduced with en-GB keyboard layout on macOS Catalina 10.15.3 (19D76) with Karabiner-Elements 12.9.0

MTCoster avatar Feb 01 '20 10:02 MTCoster

I have also an Apple USB Keyboard and I noticed that the quick fix (https://github.com/pqrs-org/Karabiner-Elements/issues/2027#issuecomment-550211764) just corrects one of the keyboards. Either the USB Keyboard is correct or the MacBook Pro Keyboard is correct, while the other isn't. Can anyone else confirm this or is this just me? (I'm running Mojave 10.14.5)

ralfnitzer avatar Feb 27 '20 08:02 ralfnitzer

I have also an Apple USB Keyboard and I noticed that the quick fix (#2027 (comment)) just corrects one of the keyboards. Either the USB Keyboard is correct or the MacBook Pro Keyboard is correct, while the other isn't. Can anyone else confirm this or is this just me? (I'm running Mojave 10.14.5)

Yeah, I'm experiencing exactly the same. 10.14.5 as well.

anton-forsberg avatar Mar 05 '20 14:03 anton-forsberg

I am also experiencing this issue on Mojave 10.14.6 Karabiner 12.9.0. ~None of the fixes in issue #1028 help either~ EDIT: grave_accent_and_tilde -> non_us_backslash does work. Apologies and thanks to erwald.

MClarke1991 avatar Apr 27 '20 08:04 MClarke1991

You can work around this issue by manually mapping grave_accent_and_tilde -> non_us_backslash and vice versa in Karabiner.

erwald avatar May 04 '20 16:05 erwald

I actually have the problem that non_us_backslash prints §, but grave_accent_and_tilde prints a `. Unfortunately, I still have no idea how to print a "<" symbol

gegnew avatar Jun 15 '20 08:06 gegnew

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Aug 16 '20 07:08 stale[bot]

I would prefer this issue to be addressed or fixed. If there is a way for us to help (beyond the hacky workaround I suggest above), please tell.

thorehusfeldt avatar Aug 16 '20 08:08 thorehusfeldt

I am also experiencing this issue on Mojave 10.14.6 Karabiner 12.9.0. ~None of the fixes in issue #1028 help either~ EDIT: grave_accent_and_tilde -> non_us_backslash does work. Apologies and thanks to erwald.

you saved my day :D, it works perfectly.

smilexu avatar Oct 21 '20 09:10 smilexu

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Dec 25 '20 15:12 stale[bot]

Unstale. Is there any way we can help to fix this issue?

ralfnitzer avatar Dec 28 '20 07:12 ralfnitzer

This issue still persists with an external keyboard on macOS 10.15 grave_accent_and_tilde to non_us_backslash does work as others have mentioned, but if you have an american layout keyboard and a uk layout keyboard then the os gets confused and sometimes prints a § when it should be a ` and you have to go back and then disable the modifier

harry-bridge avatar Feb 17 '21 10:02 harry-bridge

You can work around this issue by manually mapping grave_accent_and_tilde -> non_us_backslash and vice versa in Karabiner.

I've been using this method to fix the issue for years but then from some version of karabiner it became no longer needed. Today I found it not working again, so I again added this mapping manually. Using the latest 13.4.0. It's possible that this change in behaviour was caused by macOS updates. Also, sometimes, keyboard just lags and no mappings work until I restart my laptop.

csandanov avatar Apr 05 '21 02:04 csandanov

I was going crazy about this issue and finally realized that Karabiner causes it. None of the above methods worked for me.

burakonurlu avatar Mar 02 '22 09:03 burakonurlu

I always had this issue. How can we help to fix this?

nunocasteleira avatar Jun 14 '22 20:06 nunocasteleira

Also have this problem, on one of my mac, not on the other. It seems useless to provide a more detailed report, but I can if it helps.

ogiermaitre avatar Jun 15 '22 12:06 ogiermaitre

@tekezo: As Karabiner-dext now supports multiple virtual keyboard, will this fix the problem?

  1. Create a virtual keyboard for each country code of connected keyboards.
  2. Tag input events with country code of the keyboard that send the event.
  3. Send output/translated events to virtual keyboard corresponding to that country code.

MuhammedZakir avatar Jun 15 '22 15:06 MuhammedZakir