# MacOS Dvorak + QWERTY Cmd Dvorak layout



## knightjp (Sep 25, 2022)

When I was using macOS, I liked the Dvorak + QWERTY Cmd layout that was there. I'm sure that anyone who has ever used macOS with the Dvorak layout is familiar with what I'm talking about. It allowed me to have the best of both worlds when it came to the keyboard layout. Is there such a layout for FreeBSD? 
Also how does someone change the keyboard layout of the system from bootup?


----------



## _martin (Sep 25, 2022)

Yes, it is. You can even compile kernel to have the custom keyboard layout (map). You can't have custom layout in the bootloader when you are asked about the passphrase (e.g. when you have full system encryption). I wrote a small kernel patch where you actually can have it there for legacy boot (somebody was once asking about this on #freebsd) but patch didn't land.

For console check the kbdcontrol(1) command. E.g. in console you could do `kbdcontrol -l /usr/share/vt/keymaps/us.dvorak.kbd` to set the dvorak keyboard. I don't know about WM (window managers) as I don't use any but for sure they have a way of doing that too.

edit: I'm osx user though I use standard qwerty. I reread your question; I may have misunderstood. I'm not aware of any WM that would behave the dvorak-qwerty way you're describing. 
You can create custom maps yourself to mimic this behavior.
I read about that layout here dvorak-qwerty.


----------



## T-Daemon (Sep 25, 2022)

On the base system all the dvorak keymaps for vt(4) are listed bellow:

```
% find /usr/share/vt/keymaps/ -name '*dvorak*'
/usr/share/vt/keymaps/uk.dvorak.kbd
/usr/share/vt/keymaps/us.dvorakx.kbd
/usr/share/vt/keymaps/no.dvorak.kbd
/usr/share/vt/keymaps/us.dvorakl.kbd
/usr/share/vt/keymaps/us.dvorak.kbd
/usr/share/vt/keymaps/us.dvorakp.kbd
/usr/share/vt/keymaps/fr.dvorak.acc.kbd
/usr/share/vt/keymaps/es.dvorak.kbd
/usr/share/vt/keymaps/fr.dvorak.kbd
/usr/share/vt/keymaps/pl.dvorak.kbd
/usr/share/vt/keymaps/us.dvorakr.kbd
```
The key map can be set to persist in /etc/rc.conf, in the `keymap=` variable.

For use in Xorg there are different dvorak layouts, see  xkeyboard-config(7).


----------

