これが私が持っているコードです:
[::
Send [
Input, Char, T2 L1
if Char = a
{
Send â
return
}
Send %Char%
return
[
と入力すると、a
を入力すると通常の動作があり、â
が生成されます。しかし、[
と入力するとp
、文字[
は印刷されません。問題は、Send [
が再マッピングされている文字である2行目([
)です。
私は成功せずに以下を試しました:
Send `[
Send {[}
再マッピングされていても[
を印刷したいです。
ホットキー、すなわち$
の前に、修飾子として$[::
を使用してください。
AHKのドキュメント 状態:
これは通常、スクリプトが送信コマンドを使用してホットキー自体を構成するキーを送信する場合にのみ必要です。 $ PREFIXの正確な動作は、オペレーティングシステムによって異なります。
Windows NT4/2K/XP以降の場合:$ PREFIXはこのホットキーを実装するために使用されるキーボードのフックを強制します。これは、副作用として送信コマンドがトリガされるのを防ぎます。 $ prefixは、このホットキーの定義上のどこかに#useHookを指定したことと同じです。
Windows 95/98/Me:ホットキーはスレッドの実行中に無効になり、その後再び有効になります。副作用として、#maxthreadsperhotkeyが1より高い設定されている場合、そのようなホットキーの場合は1に設定されているように動作します。