1

I have new keyboard, Logitech MX Keys, 920-009416 = US ISO. Logitech MX Keys

The keyboard works well, out of box, on Windows 10 and Linux, Manjaro. On macOS there is issue with it.

After plugin on macOS, app Keyboard Setup Assistant opens and try detect my keyboard. The main problem is with keys: tilde~ on the left side of 1 and backslash \ near to z. According to the documentation:

If you are a Windows, Linux and Android user, the special characters will be on the right side of the key:

If you are a macOS or iOS user, the special characters and keys will be on the left side of the keys:

but I want to use tilde to the left of key 1, so I want to use windows/linux layout. After many attempts with the Assistant, I wasn't able to generate the correct configuration:

$ defaults read /Library/Preferences/com.apple.keyboardtype
{
    keyboardtype =     {
        "10203-5824-0" = 41;
        "45915-1133-0" = 41;
    };
}

I had to help myself Karabiner-Elements and map the keys: grave_accent_and_tilde(`) with non_us_backslash.

I tried to find out what the code in /Library/Preferences/com.apple.keyboardtype.plist means, but I failed. At first Karabiner could see the keyboard but it was grayed out and I couldn't map keys for it.

The second problem is with adding a new keyboard, new dongle. After this, when I use Keyboard Setup Assistant, the file /Library/Preferences/com.apple.keyboardtype.plist is changing and I have the problem again. I don't know why.

Is it possible to use the same layout as under Windows/Linux? How to manually add a keyboard? What does the keys layout depend on, §|` and `|\ ?

On Linux, xev returns for left-upper tilde:

KeyPress event, serial 34, synthetic NO, window 0x4000001,
    root 0x139, subw 0x0, time 356984, (-111,112), root:(600,476),
    state 0x0, keycode 49 (keysym 0x60, grave), same_screen YES,
    XLookupString gives 1 bytes: (60) "`"
    XmbLookupString gives 1 bytes: (60) "`"
    XFilterEvent returns: False

and

KeyPress event, serial 37, synthetic NO, window 0x4000001,
    root 0x139, subw 0x0, time 360368, (-107,104), root:(604,468),
    state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
    XLookupString gives 1 bytes: (3c) "<"
    XmbLookupString gives 1 bytes: (3c) "<"
    XFilterEvent returns: False

for "backslash" but I don't use this key.

0

2 Answers 2

1

Have you tried Logitech Options?
It's their custom software and in the specifics tells that it's good also for MX keyboards.

1
  • Yes, I use it. But it cannot help me with this issue.
    – piecia
    Commented Mar 31, 2021 at 10:15
1

One way to fix this is to make a custom keyboard layout with Ukelele which puts the tilde/grave characters where you want them on the ISO keyboard.

2
  • I hear about Ukelele. I'll try it. I forgot about one. Sometimes Keyboard Setup Assistant misconfigured the keyboard. Tilde/grave was on top-left side but I could not to use Polish diacritics. Of course I have set Polish Pro as Input Sources.
    – piecia
    Commented Mar 31, 2021 at 10:21
  • @piecia Mistakes about the keyboard type can't change things like diacritic mappings, only those two keys on the left edge. In Ukelele just make sure that both the ANSI and ISO templates have tilde/grave at the top left, and then whether the machine thinks the keyboard is ISO or ANSI at some moment should not matter when the custom layout is active.. Commented Mar 31, 2021 at 12:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .