6

I've tried to piece together how to do this from various sources. First approach, based on 1 and 2:

$ grep ^HOOKS /etc/mkinitcpio.conf HOOKS="base udev autodetect modconf block lvm2 keyboard keymap encrypt filesystems fsck" $ grep ^KEYMAP /etc/vconsole.conf KEYMAP=dvorak 

Then run sudo mkinitcpio -p linux successfully and reboot. Result: the password prompt still uses the US layout.


Second approach, based on 3:

  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 
  5. 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.


Other sources mention a similar approach which I don't think can work because the LUKS prompt shows up before the relevant files can even be read. Finally, one source says this can't be done at all.

5
  • 3
    unix.stackexchange.com/a/174657/30851 Commented Mar 11, 2017 at 10:33
  • @frostschutz Yeah, that would work. Shame if it's the only way though. Do you want to post it as an answer? Commented Mar 11, 2017 at 10:50
  • It's not an answer to your question (you might want Dvorak in grub anyway for the grub shell and whatnot) but it should be a viable workaround for everything else (including livecd/rescue, you just have to make do with US layout in many cases). Commented Mar 11, 2017 at 10:57
  • I'd still upvote it - it solves the problem even though it's not the preferred method. Commented Mar 11, 2017 at 14:21
  • 1
    It is possible, I'd been doing it for some time now. I recently got a hardware-programmable keyboard and needed to change it back to qwerty so the kb itself can be dvorak instead. I found this question since I couldn't remember what I did.. I'm not making an answer since I dont know which of these changes worked, but basically it was either as simple as localectl set-keymap <YOUR KEYMAP>, or adding (or in my case, removing) rd.vconsole.keymap=<YOUR KEYMAP LOCALE from /etc/default/grub @ GRUB_CMDLINE_LINUX=" along with a grub2-mkconfig. It's not impossible both of these are needed..gl Commented Oct 25, 2018 at 5:07

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.