Jak uzyskać nazwę klucza za pomocą AutoHotkey


1

Chcę przełączać języki wprowadzania za pomocą klawiszy Henkani KanaHira, są to zaimplementowane japońskie klawiatury.

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

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

vk1Csc079jest kodem dla Henkani vkF2sc070jest dla KanaHira. Za pomocą tego kodu mogłem zmienić klawiaturę z japońskiego na tajski, ale nie mogłem zmienić tajskiego na japoński do tyłu.

Zauważyłem, że ponieważ w języku tajskim istnieje inne mapowanie klawiszy, więc KanaHirapo przełączeniu już nie istnieje.

Chcę więc wiedzieć, jaki kod klucza powinienem napisać, aby włączyć tę funkcję na klawiaturze tajskiej. Czy ktoś o tym wie?

Kluczowe historie

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.

Po przełączeniu klawiatury na tajską możesz uruchomić AutoHotkey, kliknij prawym przyciskiem myszy ikonę na pasku> Otwórz> Widok> Historia klucza, naciśnij klawisz fizyczny, który normalnie byłby odwzorowany KanaHira, a następnie odśwież, aby zobaczyć VK, który teraz odpowiada temu klawisz? Jeśli tak, możesz zastąpić vkF2sc070kodem klucza wygenerowanym z tego samego klucza fizycznego w tajlandzkim układzie
JJohnston2

Próbowałem tego, ale key history and script infonie pokazuje mi kodu klucza. czy robię coś źle?
żelazka i

Możesz zdefiniować skrót do przełączania klawiatur za pomocą Panelu sterowania / regionu i języka / Klawiatury i języków / Zmień klawiatury / Zaawansowane ustawienia klawiszy. Jednak dozwolone tutaj skróty klawiszowe są ograniczone.
harrymc

@harrymc tak, właśnie dlatego chcę to zmienić Auto hotkey.
irons i

Komentarz @ JJohnston2: Czy nacisnąłeś F5 po naciśnięciu klawisza?
harrymc

Odpowiedzi:


1

Niektóre funkcje wymuszają zainstalowanie haka na klawiaturę, a inne nie. W twoim skrypcie nie ma haczyka na klawiaturę, dlatego nie jest on globalnie uruchomiony / dostępny

Zwróć uwagę na górę pliku dziennika ... zaczep klawiatury = nie ....

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

I druga uwaga ...

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

Aby wymusić zaczepienie klawiatury i zobaczyć naciśnięcia klawiszy dla wszystkich naciśnięć klawiszy, powinieneś być w stanie dodać dyrektywę #InstallKeybdHooklub #UseHook Onna górze skryptu. Po wykonaniu tej czynności powinieneś przejść do historii kluczy i sprawdzić, czy zaczep klawiatury jest włączony.

Po włączeniu zaczepu klawiatury i otwarciu okna historii kluczy naciśnij klawisz, dla którego chcesz uzyskać historię kluczy. Jednak nie pojawi się w oknie, dopóki nie naciśniesz F5, jak zauważył @harrymc.

Po napisaniu tego zobaczyłem, że było więcej komentarzy i że już to wszystko rozgryzłeś. Zamierzam napisać w jakikolwiek sposób, aby ktokolwiek inny mógł się spotkać.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.