I've recently installed OpenBSD. When installing the OS I selected the normal Dvorak layout as the Dvorak Programmer wasn't present on the list.

After the install I wanted to change the layout with kbd I tried: us.dvorak.programmer, us.dvorak_programmer, us.programmer and many others but none of them worked.

I also tried kbd -l but the command won't display anything.

What other ways are there to change the layout? I know I could use setxkbmap but that would only chage the keymap for x.org.


kbd -l reads from /dev/wskbd%d (for all available integers %d, 0 to 3 on my OpenBSD 6.4 system). These devices are readable only by root, so you would have to use

doas kbd -l

to get anything back as an ordinary user, provided you have configured doas, or by using kbd -l as root by other means.

The Dvorak-related encodings I can see are


Personally, I use us.dvorak. As far as I know, it's only the numbers row that is different on the programmer's Dvorak layout.

Someone is currently implementing Colemak. You could possibly look at their efforts and make changes to a copy of the existing us.dvorak layout (or however a variant layout should be implemented), and then contribute that.

See also:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.