ダブルクリックとして機能する特別なマウスボタンがあります。特別なキーはなく、2 つの LButton シグナルを送信するだけです。
#InstallMouseHook をスクリプトに導入して、マウス クリックを追跡できるようにしました。ダブルボタンを複数回押した後、これが得られました。
VK SC Type Up/Dn Elapsed Key
---------------------------------------------------------------------------------------
04 000 d 2.78 MButton
04 000 u 0.19 MButton
01 000 d 0.65 LButton <- Manual DC
01 000 u 0.17 LButton
01 000 d 0.11 LButton
01 000 u 0.14 LButton
04 000 d 0.75 MButton
04 000 u 0.19 MButton
01 000 d 0.45 LButton <- Special button DC
01 000 u 0.00 LButton
01 000 d 0.00 LButton
01 000 u 0.00 LButton
私が推測することから、経過キーは、DCマウスボタンによるダブルクリック(DC)とは何か、そして手動で左クリックを2回押すことによるものを決定するための鍵です。後者ではなく、前者のシナリオを再マップしたい (DC ボタン:: 中クリックや手動のダブル左クリックなど、同じままにする)。これまでのところ、DC ボタンの経過時間は 2.0 未満、手動 DC は 2.0 を超えているようです。
アイデアは、次のようなものにすることです(AHK言語ではありません):
loop
if (LButton == 1) //pressed
{
t=StartElapseTimer;
if (t<2 && LButton == 1) //how to check it went down and up before down the 2nd time?
LButton::MButton; //the remapping I want
else // t>2
Nothing //let me do a regular DC
}
end
タイマーを開始する方法と、設定する必要がある環境変数について教えてください。
ありがとう。