Dvorak Keyboard on boot-up

I haven’t tried this on gnome, but on Fedora KDE (since at least 35 through 38) I haven’t been able to switch from the QWERTY to the Dvorak keyboard until after login. Since my fingers react habitually (hey, try it! It’s much easier on the wrists, once you learn it), it makes it a bit awkward to login, even if I’m looking at the keyboard.
Oddly Fedora used to let me do exactly that - switch when logging in (and it “remembered” for the next time). Why was this feature dropped? If it wasn’t intentional, it’s a very bad bug. If it IS intentional, the authors are hereby condemned to the neither regions of Windows hell.

Maybe an entry in the boot loader config helps?

Thank you for the reply, klirtax. I’ll be studying this.

Just to clarify: Do you want to use Dvorak at the login screen? Or switch between QWERTY and Dvorak at the login screen? Or is your issue before the login screen?

What is the output of :

localectl

Duha, the output is:

Section “InputClass”
Identifier “system-keyboard”
MatchIsKeyboard “on”
Option “XkbLayout” “us”
EndSection

Thanks for any info you can provide.

~ joe

I use a different Distribution than Fedora and I don’t know how Fedora configures their Distri, so things might not apply to Fedora.

See 3.7 SDDM loads only US keyboard layout
https://wiki.archlinux.org/title/SDDM

It still doesn’t remember the selected Layout, but I can change the Layout and specify which is the default on booting

Hum… There’s a lot here, but I’ll go through it. I noticed that I CAN change the layout on boot-up, but, oddly, Dvorak (US) isn’t one of the choices. Very odd for a company that makes it’s $ here.
Frustrating, too, especially since they USED to provide this facility.
I think part of my frustration is because I’m now officially too old to change my ways! :wink:

Then the link above probably doesn’t apply if its only Dvorak that is missing.

Have you asked in the Fedora forum before?

Well, yes. But the answers either don’t apply or have been pointer to incredibly obscure and lengthy pages.
People don’t seem to understand that Ubuntu is NOT Fedora, and often doesn’t apply, or that Gnome is not KDE, and also does not often apply. Well, they don’t apply often enough, anyway. I’m becoming convinced that any answer involving GRUB doesn’t apply either.

1 Like

That seems odd indeed.

Which layouts can you choose? What is the output of
cat /etc/X11/xorg.conf.d/00-keyboard.conf

There are nearly 100 layouts listed on the login screen, Duha. About 8 of them are English. English (Dvorak) isn’t one of the choices anymore. I can change to the Dvorak layout once I’ve logged in, though.

Here’s the /etc…conf file listing:
$ cat /etc/X11/xorg.conf.d/00-keyboard.conf

Written by systemd-localed(8), read by systemd-localed and Xorg. It’s

probably wise not to edit this file manually. Use localectl(1) to

instruct systemd-localed to update it.

Section “InputClass”
Identifier “system-keyboard”
MatchIsKeyboard “on”
Option “XkbLayout” “us”
EndSection

I’m not sure what XkbLayout can be changed to, but I’ll be looking into it.
BTW, apologies for the extra-large fonts this app shows when the comment indication “#” is used in an executable.

wrong information

Sorry that will not work, fedora uses a different version of SDDM. I just installed fedora in a VM and tested it.

I’m trying a few things, if I find something that works I let you know.

Correction, it does work!
There is just a bug that if you change the layout in SDDM it overwrites it. (See: org.freedesktop.locale1 integration destroys existing keyboard layout configuration · Issue #1669 · sddm/sddm · GitHub )

I have not yet found a way to add dvorak to the list tough.

Apparently (have not tested), you have to make and install your own layout file. cf. grub-kbdcomp.

This guy did it for the GRUB menu on … Arch? (tagged as Arch):

  1. Install ckbcomp
  2. Run:
sudo mkdir /boot/grub/layout
sudo grub-kbdcomp -o /boot/grub/layout/us-dvorak-alt-intl.gkb us dvorak-alt-intl

(ignored “Unknown keyboard scan code 0x…” warnings)
3. In /etc/default/grub set GRUB_TERMINAL_INPUT=at_keyboard
4. In /etc/grub.d/40_custom add:

insmod keylayouts
keymap /boot/grub/layout/us-dvorak-alt-intl.gkb
  1. Run:
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --target=i386-pc /dev/sda
reboot

Now I can use Dvorak in the GRUB menu, but not on the LUKS prompt.

OP didn’t specify if a LUKS device needs unlocking, so maybe that’s enough?