Come ottenere il nome chiave con AutoHotkey


1

Voglio cambiare la lingua di input usando i tasti Henkane KanaHira, questi sono implementati tastiera giapponese.

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

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

vk1Csc079è il codice per Henkaned vkF2sc070è per KanaHira. Con questo codice ho potuto cambiare il giapponese della tastiera in tailandese, ma non ho potuto cambiare il tailandese in giapponese all'indietro.

Ho notato che, poiché in Thai esiste un'altra mappatura dei tasti, quindi KanaHiranon esiste più dopo il passaggio.

Quindi voglio sapere quale codice chiave dovrei scrivere per la funzione per abilitarlo nella tastiera tailandese. Qualcuno lo sa?

Storie chiave

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.

Dopo aver impostato la tastiera su Thai, puoi avviare AutoHotkey, fare clic con il pulsante destro del mouse sull'icona nella barra delle applicazioni> Apri> Visualizza> Cronologia chiavi, premere il tasto fisico che normalmente verrebbe mappato KanaHira, quindi aggiornare per vedere il VK che ora corrisponde a quello chiave? In tal caso, è possibile sostituire vkF2sc070con il codice chiave generato dalla stessa chiave fisica nel layout tailandese
JJohnston2

Ci ho provato ma key history and script infonon mi mostra il codice chiave. Sto facendo qualcosa di sbagliato?
Feronsand,

È possibile definire un tasto di scelta rapida per cambiare tastiera tramite Pannello di controllo / Regione e lingua / Tastiere e lingue / Cambia tastiere / Impostazioni tasti avanzate. Tuttavia, i tasti di scelta rapida consentiti qui sono di varietà limitata.
harrymc,

@harrymc sì, questo è il motivo per cui voglio cambiarlo Auto hotkey.
Iron and

Per il commento di @ JJohnston2: hai premuto F5 dopo aver premuto il tasto?
harrymc,

Risposte:


1

Ci sono alcune funzioni che costringono ad installare un gancio per tastiera e altre no. Il tuo script non ha nessuno che impone il gancio della tastiera, quindi non è in esecuzione / disponibile a livello globale

Nota la parte superiore del file di registro ... hook tastiera = no ....

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

E la seconda nota ...

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

Per forzare un hook della tastiera e vedere i tasti premuti per tutte le pressioni dei tasti, dovresti essere in grado di aggiungere la direttiva #InstallKeybdHooko #UseHook Onnella parte superiore dello script. Dopo averlo fatto, dovresti essere in grado di accedere alla cronologia dei tasti e vedere che l'hook della tastiera è abilitato.

Una volta abilitato l'hook della tastiera e la finestra della cronologia dei tasti è aperta, premere il tasto necessario per ottenere la cronologia dei tasti. Tuttavia, non verrà visualizzato nella finestra finché non si preme F5, come indicato da @harrymc.

Dopo aver scritto questo, ho visto che c'erano altri commenti e che hai già capito tutto questo. Ho intenzione di pubblicare qualsiasi modo per chiunque altro possa succedere insieme.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.