左マウスボタンで左コントロールキーを同時に押したときに左マウスボタンを繰り返しクリックするスクリプトを作成しようとしています
これは私がこれまでに持っているものです:
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressMouseButton(1) //repeat while the left mouse button down
until not PressMouseButton(1)
else ReleaseMouseButton(3) //stop the repating on left mouse button up
end
end
どんな助けも大歓迎ですので、これはこのタイプのコーディングを初めて見ることに注意してください
あなたが特に探しているものは、APIでは不可能かもしれません。
PressMouseButton(1)
を呼び出すと、マウスの左ボタンの状態が変更されます。 ReleaseMouseButton(1)
を呼び出すと、ボタンを押したままであっても、スクリプトは解放されたと見なします。つまり、IsMouseButtonPressed(1)
を使用して、ボタンがまだ押されているかどうかを検出することはできません。
「クリック」を作成するには、PressAndReleaseMouseButton(1)
を使用する必要があります。これを使用すると、いつ[〜#〜] you [〜#〜]マウスボタンの押下を停止するかを検出できなくなります。 。別の方法として、IsModifierPressed("ctrl")
を使用して、Ctrlキーを押して、まだ押されているかどうかを確認できます。
Ctrlキーを押しながら左クリックが検出された後、以下が繰り返され、Ctrlキーが離されたときにのみ終了します。
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressAndReleaseMouseButton(1) --repeat while the ctrl is still pressed
until not IsModifierPressed("ctrl")
end
end
この情報は、Logitech GシリーズLua API V3.02に基づいています。