在 AutoHotKey 中重新映射時的遞歸

在 AutoHotKey 中重新映射時的遞歸

這是我的程式碼:

[::
Send [
Input, Char, T2 L1
if Char = a
{
    Send â
    return
}
Send %Char%
return

當我輸入[a,它有正常的行為並產生â.但是,當我輸入[then 時p,該字元[沒有被列印。問題在於第二行 ( Send [),其中[的字元被重新映射。

我嘗試了以下方法但沒有成功:

  • Send `[

  • Send {[}

[即使正在重新映射,我也想列印。

答案1

用作$熱鍵之前的修飾符,即$[::

作為AHK 文件狀態:

通常只有當腳本使用「發送」命令發送構成熱鍵本身的按鍵時才需要這樣做,否則可能會導致腳本自行觸發。 $ 前綴的確切行為因作業系統而異:

在 Windows NT4/2k/XP 或更高版本上: $ 前綴強制使用鍵盤掛鉤來實現此熱鍵,其副作用是阻止 Send 命令觸發它。 $ 前綴相當於在此熱鍵定義上方的某處指定了#UseHook。

在 Windows 95/98/Me 上:熱鍵在其執行緒執行期間被停用,然後重新啟用。副作用是,如果 #MaxThreadsPerHotkey 設定為高於 1,則對於此類熱鍵,其行為就像設定為 1 一樣。

相關內容