Горячая клавиша для переключения входного языка в Windows 7

Я использую Windows 7, и я хотел бы определить пользовательскую горячую клавишу для изменения между различными входными языками.

Я знаю, что могу изменить их на Ctrl+Shift, Левый Высокий звук + Сдвиг или серьезный диакритический знак, но мне не нравится ни один из них. ТАК есть ли способ определить что-то как Ctrl + Пространство для переключения входного языка?

10
задан 28.08.2013, 02:03

2 ответа

Я думаю, что Windows исходно не поддерживает изменение этих ключей. Так или иначе можно записать сценарий AutoIt, чтобы прислушаться к пользовательским привязкам клавиш и программно отправить одно из предопределенных сочетаний клавиш к системе для изменения раскладки клавиатуры.

;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Control + Space

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
    Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc

Просто загрузите и установите AutoIt (используйте эту ссылку на загрузку и установку), и создайте файл с .au3 расширение. Скопируйте и вставьте код выше и сохраните его. Можно поместить этот файл в папку Startup, если Вы хотите, чтобы это было открыто, когда Вы входите в систему.

3
ответ дан 07.12.2019, 12:59

Сценарий выше не работал на меня, но я изменил его, и теперь он делает.

#Include <Misc.au3>
;~ #RequireAdmin
;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Contorl + Space
$dll = DllOpen("user32.dll")

ToolTip("Try to use ^Space"&@CRLF&"!!!!!!!!!!!!!!!!!!!")
Sleep(3000)
ToolTip('')

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
 While _IsPressed("11",$dll)
  Sleep(10)
 WEnd
 Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc
3
ответ дан 07.12.2019, 12:59

Теги

Похожие вопросы