Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programmatically change keyboard to Dvorak

Tags:

windows

dvorak

Does anyone know the API call I can use to change the keyboard layout on a windows machine to Dvorak? Doing it through the UI is easy but I'd like to have a script that I can run on new VM's to automate the process.

like image 553
JaredPar Avatar asked Oct 03 '08 14:10

JaredPar


People also ask

How do I transition to Dvorak?

On Windows, you can also easily toggle between QWERTY and Dvorak by pressing ctrl + shift. Or, you can click where it says “ENG DV” at the bottom of your screen to toggle between layouts.

Is it hard to switch from QWERTY to Dvorak?

Switching to Dvorak isn't something I'd recommend to anyone who can already touch type using QWERTY. There's no conclusive evidence that it'll make you faster, and learning is a pretty painful process if you need to type with even the slightest sense of urgency.

How do I change my Android keyboard to Dvorak?

From the Google Keyboard settings screen, now tap “Languages”. Activate Colemak and Dvorak in the active input methods. Now, in any app that utilizes text input, tap and hold the globe key in the lower-left corner until the change keyboard options appear. Now you can switch between various layout on the fly.


2 Answers

I may be four years late to the party, but did you ever find this:

Intlcfg Command-Line Options

I don't have Windows Vista (very bad habit, Windows), but looking at this page and also at Available Language Packs and Default Input Locales I reckon the command you want might well be:

intlcfg.exe -inputlocale:0409:00010409 

for English (United States) language with United States Dvorak input locale.

like image 153
Bobulous Avatar answered Sep 21 '22 20:09

Bobulous


You can do this via the registry. Just save it as a .reg file, and open it on the new VM. I believe this should do it for remapping to Dvorak:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "ScanCode Map"=hex:00,00,00,00,00,00,00,00,22,00,00,00,2d,00,30,00,24,00,2e,00,\ 11,00,33,00,33,00,11,00,12,00,20,00,34,00,12,00,1b,00,0d,00,0d,00,1b,00,16,\ 00,21,00,17,00,22,00,20,00,23,00,1a,00,0c,00,2e,00,17,00,23,00,24,00,14,00,\ 25,00,31,00,26,00,35,00,1a,00,30,00,31,00,13,00,18,00,26,00,19,00,2f,00,34,\ 00,28,00,10,00,0c,00,28,00,19,00,13,00,18,00,1f,00,1f,00,27,00,2c,00,35,00,\ 15,00,14,00,22,00,16,00,25,00,2f,00,10,00,2d,00,21,00,15,00,27,00,2c,00,00,\ 00,00,00 

And if you want to go back:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "ScanCode Map"=hex:00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00 
like image 28
pkaeding Avatar answered Sep 22 '22 20:09

pkaeding