1

Я хочу переключать языки ввода с помощью Henkan и KanaHira , это реализованная японская клавиатура.

    vk1Csc079::
      PostMessage, 0x50, 0, 0x41E041E,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST
    Return

    vkF2sc070::
      PostMessage, 0x50, 0, 0x4110411,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST
    Return

vk1Csc079 - это код для Henkan а vkF2sc070 - для KanaHira . С помощью этого кода я мог изменить клавиатуру с японского на тайский, но я не мог изменить тайский язык на японский в обратном направлении.

Я заметил это, потому что в тайском языке есть еще одно сопоставление клавиш, поэтому KanaHira больше не существует после переключения.

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

Ключевые истории

Window: C:\Users\ironsand\Desktop\thai_keyboard.ahk - AutoHotkey v1.1.23.05
Keybd hook: no
Mouse hook: no
Enabled Timers: 0 of 0 ()
Interrupted threads: 0
Paused threads: 0 of 0 (0 layers)
Modifiers (GetKeyState() now) = 
Modifiers (Hook's Logical) = 
Modifiers (Hook's Physical) = 
Prefix key is down: no

NOTE: Only the script's own keyboard events are shown
(not the user's), because the keyboard hook isn't installed.

NOTE: To disable the key history shown below, add the line "#KeyHistory 0" anywhere in the script.  The same method can be used to change the size of the history buffer.  For example: #KeyHistory 100  (Default is 40, Max is 500)

The oldest are listed first.  VK=Virtual Key, SC=Scan Code, Elapsed=Seconds since the previous event.  Types: h=Hook Hotkey, s=Suppressed (blocked), i=Ignored because it was generated by an AHK script, a=Artificial, #=Disabled via #IfWinActive/Exist, U=Unicode character (SendInput).

VK  SC  Type    Up/Dn   Elapsed Key     Window
-------------------------------------------------------------------------------------------------------------
Press [F5] to refresh.

1 ответ1

1

Есть определенные функции, которые заставляют устанавливать клавиатуру, а другие - нет. В вашем скрипте нет функции, требующей подключения клавиатуры, поэтому он не работает / не доступен глобально

Обратите внимание на верхнюю часть вашего файла журнала ... клавиатура крюк = нет ....

Window: C:\Users\ironsand\Desktop\thai_keyboard.ahk - AutoHotkey v1.1.23.05
Keybd hook: no
Mouse hook: no
Enabled Timers: 0 of 0 ()

И второе примечание ...

NOTE: Only the script's own keyboard events are shown
(not the user's), because the keyboard hook isn't installed.

Чтобы принудительно подключить клавиатуру и увидеть нажатия клавиш для всех нажатий клавиш, вы должны иметь возможность добавить директиву #InstallKeybdHook или #UseHook On в верхней части вашего скрипта. После этого вы сможете перейти к истории клавиш и увидеть, что клавиатурный хук включен.

После того, как клавиатура подключена, и у вас есть окно истории клавиш, нажмите клавишу, для которой вы хотите получить историю клавиш. Однако он не появится в окне, пока вы не нажмете F5 , как отмечает @harrymc.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .