Inkscape for macOS (OS X) doesn't support "Dvorak – QWERTY ⌘" keymap
Summary:
On macOS, with the input source set as "Dvorak – QWERTY ⌘", Inkscape doesn't execute the correct shortcut commands. In the best case, no command is executed (at all); in the worst case, an incorrect command is executed (with unintended consequences).
Some context on Dvorak and shortcuts, for clarity.
The Dvorak keyboard layout (developed in the 1930's) is an alternative to the (de-facto standard) QWERTY layout. It has been supported on basically all mainstream operating systems since as far back as the 1980's. One drawback of such an alternative layout is that shortcut commands tend to be mapped to mnemonically adjacent areas of a QWERTY layout (think of "cut, copy, and paste" being mapped to "x, c, and v" respectively instead of more sensible letters; or moving the cursor in the text editor "vi" by using the letters "h, j, k, and l").
To (at least partially) obviate this issue, Apple introduced the layout named "Dvorak – QWERTY ⌘", which would use a Dvorak-layout unless the Command key "⌘" (previously also known as "Apple key") is pressed, in which case the keys would act as if a QWERTY keyboard is in use. The Command key "⌘" being the default modifier key for shortcuts, this re-introduced the more common "geographical mappings" of command shortcuts. (I am not sure when exactly the "Dvorak – QWERTY ⌘"-layout was first introduced on macOS — or its predecessor Mac OS X —, but I'm quite confident that I have been using this layout for at least 19+ years.)
This issue used to be tracked as # 4834 (by the devs) and # 2651 (in the "inbox")
There were (at least) two tickets which I used to check into regularly in order to track this issue, both titled: Inkscape for OSX doesn't support "Qwerty ⌘" keymaps. Their links were `https://gitlab.com/inkscape/inkscape/-/issues/4834` and `https://gitlab.com/inkscape/inbox/-/issues/2651`, respectively. My last check on those links was on 2024-11-16; today I noticed that both return a 404 error. I am not sure why, but upon searching for them, I wasn't able to find the issue tracked anywhere, whether in the dev's issues (at `https://gitlab.com/inkscape/inkscape/-/issues`) or here (under `https://gitlab.com/inkscape/inbox/-/issues`). Thus this is me, opening this ticket.(If I recall correctly, one of the later comments on the ticket was that a fix was pushed back because of a new way the at the time upcoming version would handle keyboard input. Might be wrong; a pity that I can't seem to find the old threads and their history.)
Steps to reproduce:
- run macOS
- ensure that "Dvorak – QWERTY ⌘" is available and set as the input source ("keyboard layout") by opening System Settings => Keyboard => under Text Input, Input Sources, select Edit… => add new source by pressing the plus-sign at the bottom left => English => "Dvorak – QWERTY ⌘"
- open Inkscape
- press any shortcut that requires the Command key "⌘" (previously also known as "Apple key")
What happened?
The shortcut associated to the Dvorak-key is executed (if mapped)
What should have happened?
The shortcut associated to the QWERTY-key should have been executed
Examples
There are as many examples as there are shortcut commands in Inkscape.
Some easier to understand/reproduce ones (that only cause innocuous errors and/or are merely an annoyance, so as not to wreak too much havoc when testing):
-
press "⌘ Q" ("Q" as in "the top-left letter on a keyboard with a QWERTY layout")
- expected: Inkscape quits (cf. "Quit Inkscape" from the Inkscape-menu)
- result: nothing happens (because on a Dvorak keyboard the top left key is mapped to "'", Inkscape interprets the command as "⌘ '", which is a non-assigned shortcut and thus nothing happens)
-
press "⌘ N" ("N" as in "the letter on the right-hand half of a keyboard with a QWERTY layout, between the letters 'B' and 'M'")
- expected: a new document is created (cf. "New" from the File-menu)
- result: Scrollbars are toggled (because on a Dvorak keyboard that same key is mapped to "B", Inkscape interprets the command as "⌘ B", which is assigned to the menu-item View => Show/Hide => Scrollbars)
-
press "⌘ S" ("S" as in "the second letter from the left on the middle row on a keyboard with a QWERTY layout")
- expected: the save-file-dialog appears (cf. "Save" from the File-menu)
- result: the open-file-dialog appears (because on a Dvorak keyboard that same key is mapped to "O", Inkscape interprets the command as "⌘ O", which is assigned to the menu-item File => Open)
-
press "⌘ O" ("O" as in "the ninth letter from the left on the top row on a keyboard with a QWERTY layout")
- expected: the open-file-dialog appears (cf. "Open" from the File-menu)
- result: Rulers are toggled (because on a Dvorak keyboard that same key is mapped to "R", Inkscape interprets the command as "⌘ R", which is assigned to the menu-item View => Show/Hide => Rulers)
-
I could go on; you get the gist. Happy to provide more examples if needed.
Version info
Inkscape 1.4 (e7c3feb1, 2024-10-09)
macOS 14.7.2 (23H311)
Thank you for all your hard work in making Inkscape so great!