4

Sendコマンドを使用して押された修飾子を送信しようとしていますが、思いついたのはそれらすべてをリストすることだけです。

; (Note: I've remapped using registry the Capslock as F13)
F13 & h::
    if GetKeyState("Control") && GetKeyState("Shift") {
        Send +^{Left}
        return
    }

    if GetKeyState("Control") {
        Send ^{Left}
        return
    }

    if GetKeyState("Shift") {
        Send +{Left}
        return
    }
    Send {Left}
    return

Windowsでは、ctrl + leftを押すと単語が左にジャンプし、ctrl + shift+leftを押すと単語が左に選択されます。同様に、上記の例のように既存の修飾子を送信したいのですが、もっと簡単な方法はありますか?擬似コード:F13 & h::Send {CurrentlyPressedModifiers}{Left}

4

2 に答える 2

6

これは、Send、{Blind} モードで行うことができます。例:

*a::Send, {Blind}{Left}

はすべての*修飾子を受け入れa、{Blind} は修飾子をSendコマンドに渡します。

または、送信を避けて次を使用することもできます。

a::Left

ここでは、すべての修飾子が自動的にコマンドに渡されLeftます。

注:テスト後に見る限り、どちらのソリューションも「あなたの」組み合わせキーでは機能せず、標準のホットキーでのみ機能します。

したがって、組み合わせキーを標準のホットキーに戻さない限り、最初の解決策が唯一の解決策になる可能性があります。

于 2013-03-13T09:16:03.503 に答える