Windows says Dvorak is the default keyboard layout, but all new windows use QWERTY
Thanks to the help I received in this thread, I was able to get Windows to default to the Dvorak keyboard layout for all new documents/windows.
There's just one catch.
I have to re-set it every time I log in.
When I open the Text Services and Input Languages dialog (accessible from the Regional and Languages control panel or by right-clicking on the Language Bar and clicking Settings...), It shows that Dvorak is the default keyboard layout, but all new windows/documents still default to QWERTY.
I can work around this issue by changing the default to QWERTY, clicking Apply, then changing it back to Dvorak and clicking OK. But it's kind of a pain to have to do this every time I log into Windows.
Does anyone know of a workaround or some way to permanently change the default keyboard layout in Windows Server 2008 R2?
Here's what my registry looks like at HKEY_CURRENT_USER\Keyboard Layout
:
- Preload
- 1: d0010409
- 2: 00000409
- Substitutes:
- d0010409: 00010409
- Toggle:
- Hotkey: 3
- Language Hotkey: 3
- Layout Hotkey: 3
Note: I've noticed this behavior on a number of virtual instances, but it does not seem to occur on physical (non-virtualized) installations.
The keyboard layout is contained in the registry key HKEY_CURRENT_USER\Keyboard Layout
.
The REG_SZ item "1" contains the first layout, "2" the second, etc.
The article Windows Keyboard Layout lists most keyboards ids.
You would also find your above layout ids defined as sub-keys of the registry keyHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\keyboard layouts
.
Analyzing your registry info :
Preload
determines which keyboard layouts are present in the keyboard switch button (on the bottom right of the taskbar), and the number determines the ordering. You have two of them : d0010409=Dvorak English and 00000409=US English.
This list order does not mean much more than that.
Substitutes
maps the value d0010409 to the layout 10409 which is also Dvorak. I assume that the changing of the upper half of the key code isn’t significant and is properly mapped by the substitutions hive.
What is missing is perhaps the substitution that maps 00000409 (US) to 00010409 (Dvorak). This can be done by entering it manually, or by the command :
reg add "HKCU\Keyboard Layout\Substitutes" /v 00000409 /d 00010409
When changing the registry take all due precautions : Create first a system restore point and also export the entire registry key.
I don't know about Server 2008, but I had the same problem on Windows 7. Where you choose the Dvorak layout, there's a little list view thing. You'll need to put Dvorak on the top. When Dvorak is the #1 keyboard layout (top), it should default to it.
EDIT: I think you might need to uncheck Auto Adjust when you right click on the keyboard icon, but I'm not sure.
I'm glad to see that I have another Dvorak-using compadre out there... the few and the strong.