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

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

Я хочу переключать языки ввода с помощью клавиш 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

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

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

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.

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

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

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

Связанный контент