2008-10-03 4 views
24

Кто-нибудь знает вызов API, который я могу использовать, чтобы изменить раскладку клавиатуры на машине Windows на Dvorak? Выполнение этого с помощью пользовательского интерфейса очень просто, но я хотел бы иметь сценарий, который я могу запустить на новых виртуальных машинах для автоматизации процесса.Программно сменить клавиатуру на Dvorak

+2

Это звучит скорее как шутка от первого дурака. –

+0

@ Давид, не грустно настоящий вопрос. Я скрипю все, что могу, и я являюсь пользователем dvorak :) – JaredPar

ответ

7

Может быть, я четыре года опоздал на вечеринку, но вы когда-нибудь найти это:

Intlcfg Command-Line Options

у меня нет Windows Vista (очень плохая привычка, Windows), но, глядя на этой странице, а также на Available Language Packs и Default Input Locales я считаю й е команда, которую вы хотите, вполне может быть:

intlcfg.exe -inputlocale:0409:00010409 

для английского (США) языка с США Дворжака языка ввода.

+1

Возможно, наступило 4 года, но это, наконец, правильный ответ :) – JaredPar

8

Вы можете сделать это через реестр. Просто сохраните его как .reg-файл и откройте его на новой виртуальной машине. Я считаю, что это должен сделать это для переназначения для Дворжака:

[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 

И если вы хотите, чтобы вернуться:

[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 
+0

Я посмотрел реестр моей машины (Vista), где у меня установлена ​​Dvorak, и я не видел ни одной из этих записей. – JaredPar

+1

Да, возможно, выбор макета в пользовательском интерфейсе устанавливает другой флаг. Этот метод переназначит клавиатуру, не меняя макет. Это странное различие, но я думаю, что это объясняет разницу. – pkaeding

+0

В XP: «Невозможно импортировать dvorak.reg: не все данные были успешно записаны в реестр. Некоторые ключи открыты системой или другими процессами». Я университетский студент, поэтому было бы неплохо, если бы я смог найти надежный способ быстрого переключения любого ПК, на который я вхожу, в Dvorak, возможно, запустив скрипт в моем каталоге пользователя. – gary