
Ich möchte die Eingabesprachen mithilfe der Tasten Henkan
und ändern KanaHira
. Hierbei handelt es sich um eine implementierte japanische Tastatur.
vk1Csc079::
PostMessage, 0x50, 0, 0x41E041E,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST
Return
vkF2sc070::
PostMessage, 0x50, 0, 0x4110411,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST
Return
vk1Csc079
ist Code für Henkan
und vkF2sc070
ist für KanaHira
. Mit diesem Code konnte ich Japanisch auf Thailändisch über die Tastatur umstellen, aber nicht umgekehrt von Thai auf Japanisch.
Das ist mir aufgefallen, da es im Thailändischen eine andere Tastenbelegung gibt, die KanaHira
nach dem Umschalten nicht mehr vorhanden ist.
Ich möchte also wissen, welchen Tastencode ich für die Funktion schreiben muss, um sie auf der thailändischen Tastatur zu aktivieren. Kennt sich jemand damit aus?
Wichtige Geschichten
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.
Antwort1
Es gibt bestimmte Funktionen, die die Installation eines Tastatur-Hooks erzwingen, andere nicht. Ihr Skript hat keine Funktionen, die den Tastatur-Hook erfordern, daher ist es nicht global verfügbar/wird nicht ausgeführt
Beachten Sie den Anfang Ihrer Protokolldatei ... Tastatur-Hook = Nein …
Window: C:\Users\ironsand\Desktop\thai_keyboard.ahk - AutoHotkey v1.1.23.05
Keybd hook: no
Mouse hook: no
Enabled Timers: 0 of 0 ()
Und die zweite Anmerkung...
NOTE: Only the script's own keyboard events are shown
(not the user's), because the keyboard hook isn't installed.
Um einen Tastatur-Hook zu erzwingen und die Tastenanschläge für alle Tastendrücke anzuzeigen, sollten Sie die Direktive #InstallKeybdHook
„oder #UseHook On
“ am Anfang Ihres Skripts hinzufügen können. Danach sollten Sie in der Lage sein, zum Tastenverlauf zu gehen und zu sehen, dass der Tastatur-Hook aktiviert ist.
Sobald der Tastatur-Hook aktiviert ist und das Tastenverlaufsfenster geöffnet ist, drücken Sie die Taste, für die Sie den Tastenverlauf abrufen möchten. Sie wird jedoch erst im Fenster angezeigt, wenn Sie drücken F5
, wie von @harrymc angemerkt.
Nachdem ich das geschrieben hatte, sah ich, dass es noch mehr Kommentare gab und dass Sie das alles bereits herausgefunden hatten. Ich werde es auf jeden Fall für alle anderen posten, die vorbeikommen.