Что нового

[Мышь, клавиатура] Как установить конкретный язык ввода клавиатуры?

TomashUA

Новичок
Сообщения
8
Репутация
0
Прошу помощи. Написал программу для однозначного переключения раскладки на конкретный язык.
Код:
#Include <WinAPIEx.au3>

HotKeySet('{LSHIFT}', '_hk1')
HotKeySet('{RSHIFT}', '_hk2')
HotKeySet('{RCTRL}', '_hk3')


Global Const $LANG_RUS = 0x0419 		;Русский
Global Const $LANG_ENG = 0x0409 		;Англиский
Global Const $LANG_UKR = 0x0422 		;Украинский

While 1
	Sleep(100)
WEnd

Func _hk1()
	$hWnd = _WinAPI_GetForegroundWindow()
	_WinAPI_SetKeyboardLayout($hWnd, $LANG_ENG) 		;меняем язык
EndFunc

Func _hk2()
	$hWnd = _WinAPI_GetForegroundWindow()
	_WinAPI_SetKeyboardLayout($hWnd, $LANG_RUS) 		;меняем язык
EndFunc

Func _hk3()
	$hWnd = _WinAPI_GetForegroundWindow()
	_WinAPI_SetKeyboardLayout($hWnd, $LANG_UKR) 		;меняем язык
EndFunc

Хочу добиться следующего функционала: левый SHIFT - включает английскую раскладку клавиатуры, правый SHIFT - русскую, правый CTRL - украинскую. Программа не отрабатывает вообще. Даже не срабатывает функция HotKeySet, не могу понять почему.
Версия AutoIt - 3.3.8.1
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Нельзя использовать модификаторы в виде горячих клавиш. В справке про это написано.
 
Автор
T

TomashUA

Новичок
Сообщения
8
Репутация
0
Всем спасибо за ответы. На счет модификаторов в качестве горячих клавиш - моя ошибка, забыл об этом нюансе. Подумаю над _IsPressed.
 
Верх