About
[対象読者]
readme.txt(982行)や紹介ページMouseGesture.html (約870行)およびMouseGestureL_JPN.chm のどこに何が掲載されているかわからない人
readme.txt(982行)や紹介ページMouseGesture.html (約870行)およびMouseGestureL_JPN.chm のどこに何が掲載されているかわからない人
ターゲット設定乗り換え
ターゲット対照表
へ
アクション設定乗り換え
コーナーマウス機能について
記載箇所
index.html 4.7. 画面端接触認識
MG_ScreenEdge\readme.txt の説明の通り
index.html 4.7. 画面端接触認識
MG_ScreenEdge\readme.txt の説明の通り
- |
マウ筋からみたMouseGestureL のコーナーマウス機能の難しさ
|
+ | 最初に行う作業 |
※ MG_ScreenEdge\readme.txt 97行目 ●「画面端で一定時間待機したとき」に発動
マウ筋視点でのダブルジェスチャについて
ダブルジェスチャで忘れがちな初期設定について
記載箇所
index.html 4.6 その他の設定 ダブルジェスチャの間隔上限
readme.txt 286行目
readme.txt 456行目
記載箇所
index.html 4.6 その他の設定 ダブルジェスチャの間隔上限
readme.txt 286行目
readme.txt 456行目
- |
忘れがちなので注意
![]() |
ダブルジェスチャの発動タイミングの違いについて
⇒ ⇒ 時間の流れ(マウ筋)
■R
RB__  ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■R R
RB__RB_  ̄↓__↑ ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
二度目の押し下げの瞬間に発動
⇒ ⇒ 時間の流れ(MouseGesture.ahk)
■G=MB__MB_
MB__MB_  ̄↓__↑ ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■G=MB__MB__
MB__MB__  ̄↓__↑ ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
二度目に「押した瞬間」と「離したとき」の書き分けが可能
⇒ ⇒ 時間の流れ
■G=MB__MB_
MB__MB__  ̄↓__↑ ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■G=MB__MB_
MB__MB__  ̄↓__↑ ̄ ̄ ̄↓__↑ ̄ ̄ ̄ ̄ ̄ ̄ ̄ダブルジェスチャの上限間隔で調整
一番有名なダブルボタンジェスチャの設定例 ヘルプ4.2.15.ダブルクリックと1回のみのクリックに別のアクションを割り当て 通りにやっていきます。
ここでは、マウ筋におけるMM つまりMouseGestureL.ahkのMB__ とMB__MB__の登録作業の流れを説明します。
ここでは、マウ筋におけるMM つまりMouseGestureL.ahkのMB__ とMB__MB__の登録作業の流れを説明します。
- |
マウ筋からみたMouseGestureL のダブルジェスチャーの難しさの根源
マウ筋 では一箇所で設定できましたが...。MouseGestureL.ahk では二箇所も必要。
この設定は想像がつくはずですが...
MB__でも設定が必要なことは説明書きを読み込まないとなかなかたどり着けないでしょう。
|
手順
1 MB__MB__ のジェスチャーを登録
2 MB__MB__ でやらせたいアクション はそのまま書けばよい
3 MB__ のジェスチャーを登録
4 MB__ のアクションを登録
1 MB__MB__ のジェスチャーを登録
2 MB__MB__ でやらせたいアクション はそのまま書けばよい
3 MB__ のジェスチャーを登録
4 MB__ のアクションを登録
If((MG_Executed=1)&&(!MG_Timer(-500))){ ;クリックが一回のみの動作 ; MB__のときにやらせたい動作があれば、If文のカッコのなかに書き込む }
マウ筋の欠点とMouseGestureLの利点
マウ筋 ではダブルクリックアクションを割り当てると、必然的にシングルクリックに登録していたアクションも必ず発動します。ですが、MouseGestureLでは、MG_Timerの値をうまく調整することで、シングルクリック アクションとダブルクリックアクションを干渉させることなく登録することが可能です
マウ筋 ではダブルクリックアクションを割り当てると、必然的にシングルクリックに登録していたアクションも必ず発動します。ですが、MouseGestureLでは、MG_Timerの値をうまく調整することで、シングルクリック アクションとダブルクリックアクションを干渉させることなく登録することが可能です
マウ筋 | MouseGestureL.ahk | |
シングルクリックに何かアクションを登録しているときに、ダブルクリックさせたら・・ | × 必ずシングルクリックのアクションも発動 | ◯ シングルクリックのアクションは発動しない |
ダブルクリック のアクションが発動するタイミングは・・・ | 2回目のクリックを押した瞬間 | 2回目にクリックして離した瞬間 |
コマンド(実行部分)乗り換え
大原則
1.《入力補助》に用意されている項目ならば、 そのまま使ってよし
2.《入力補助》に用意されてなくても MouseGesture.ahkの組み込み関数 に該当項目があれば、それを使う
1.《入力補助》に用意されている項目ならば、 そのまま使ってよし
2.《入力補助》に用意されてなくても MouseGesture.ahkの組み込み関数 に該当項目があれば、それを使う
3.用意されてない項目は、頭を使って考えて打ち込む
マウ筋から見た互換表
マウ筋 アクション設定 |
MouseGesture.ahk 《入力補助》 |
補足 青字は打ち込みが必要。緑字は組み合わせが必要。 | |
10 | キーを送る | キーの操作を発生させる | Send, |
11 | キーを押し続ける | キーの操作を発生させる | Send, |
12 | キーを離す | キーの操作を発生させる | Send, |
20 | ボタンを押す | ツールバーボタンのコマンドを実行 | SendMessage,0x111,, |
25 | クリップボード | クリップボードにコピー | Clipboard= |
30 | プログラム実行 | プログラムを実行 | Run |
35 | waveファイル再生 | サウンドを再生 | SoundPlay |
《40》 | 《ウィンドウ表示方法変更》 | ||
00 | 手前に表示 | ウィンドウをアクティブ化 | WinActivate |
01 | 奥に表示 | ウィンドウを最背面に送る | WinSet,Bottom |
02 | 常に手前に表示 | ウィンドウ最前面化 | WinSet,Topmost,On |
03 | 常に手前に表示を解除 | ウィンドウ最前面化解除 | WinSet,Topmost,Off |
04 | 常に手前に表示(トグル) | ウィンドウ最前面化トグル | WinSet,Topmost,Toggle |
05 | 元のサイズに戻す | ウィンドウを元の状態に戻す | WinRestore |
06 | 最小化 | ウィンドウを最小化 | WinMinimize |
07 | 最大化 | ウィンドウを最大化 | WinMaxmize |
08 | 閉じる | ウィンドウを閉じる | WinClose |
09 | 最小化⇔元のサイズ | If文,WinMinimize,WinRestore の組み合わせ | |
10 | 最大化⇔元のサイズ | If文,WinMaxmize,WinRestore の組み合わせ | |
11 | 最小化⇔最大化 | If文,WinMinimize,WinMaxmize の組み合わせ | |
12 | ウィンドウシェード | If文,WinMove の組み合わせ | |
マウ筋 アクション設定 |
MouseGesture.ahk 《入力補助》 |
補足 | |
41 | ウィンドウサイズ変更 | カテゴリ(E):ウィンドウ制御 >> ウィンドウの位置とサイズを変更 ※ WinMove 直接打ち込みでも可 | |
42 | ウィンドウ位置変更 | カテゴリ(E):ウィンドウ制御 >> ウィンドウの位置とサイズを変更 ※ WinMove 直接打ち込みでも可 | |
50 | ウィンドウ半透明化(2000/XP) |
ウィンドウ透明度変更
ウィンドウ透明度解除 |
WinSet,Trans, |
55 | マウスカーソル位置変更 | MouseMove | |
58 | 開始位置からカーソル移動 | カーソルを開始位置に移動 | MG_Move(-1,-1) |
59 | 終了位置からカーソル移動 | なし | MouseGetPos, MouseMoveの組み合わせ |
60 | スクロール | MG_Scroll2, MG_Scrollを利用 | |
65 | その場でスクロール | その場でスクロール | MG_InstantScroll() |
70 | SendMessage | SendMessage | |
71 | PostMessage | PostMessage | |
99 | 設定 | MG_Edit() マウ筋の「設定」ウィンドウ呼び出し。MouseGesture.ahkでは「MG_Edit.ahk」を実行することに相当 | |
95 | ブレークポイント | MG_Counter() ※セクション7.8.実行するごとに2つの動作を交互に繰り返す | |
96 | アクション終了後に実行 | ※MG_Defer() | |
100 | ウィンドウを掴む | Send,!{Space}mで代替させる |
Q&A -- 生じそうな疑問について
Sendの表記揺れについて
Send,{Ctrl Down}{t}{Ctrl Up} Send,{Ctrl Down}t{Ctrl Up} Send,^t
は同じです(ほぼ)。一瞥して見やすい書き方で良いでしょう。
Send,^N Send,^n
は上段と下段では
違います
。
上段は「Ctrl+SHift+N」,下段は「Ctrl+N」です。
上段は「Ctrl+SHift+N」,下段は「Ctrl+N」です。
MouseGesture.ahkのスクロールについて
⇒7.4. スクロールを熟読してください
大雑把ですが、
大雑把ですが、
MG_Scroll()」 | 縦横スクロールバーに対する 普通のスクロール |
MG_InstantScroll() | 中ボタン長押し時のスクロールボタン |
MG_DragScroll() | いわゆる 手のひらツール |
です。
「なお、これらのスクロール機能は、
標準のスクロールメッセージを無視するコントロール
(Geckoエンジンのブラウザなど)には使用できない」ことへも注意。
説明補足
10 キーを送る
11 キーを押し続ける
[参照箇所]→Send
モディファイヤキーの押し下げ例
モディファイヤキーの押し下げ例
Send,{Alt Down} Send,{Ctrl Down} Send,{Shift Down} Send,{LWin Down}
※マウスのボタンを「押し続ける」ことはSendではできない。
[参照箇所]→MouseClick
【例1】左ボタンを押し続ける
[参照箇所]→MouseClick
【例1】左ボタンを押し続ける
MouseClick, Left, , , , , D
【例2】X2ボタンを押し続ける
MouseClick, X2, , , , , D
※※Sendのキーリスト名とMouseClickの第一引数WhichButton名との表記が違うので注意
Send | MouseClick | |
左ボタン | LButton | Left(L) |
右ボタン | RButton | Right(R) |
中ボタン | MButton | MIDDLE |
戻るボタン | XButton1 | X1 |
進むボタン | XButton2 | X2 |
12 キーを離す
[参照箇所]→Send
Send,{1 Up} Send,{a Up} Send,{Lbutton Up}
25 クリップボード
一行で済むなら直接打ち込みでも良い
Clipboard=一行の文字列aiueo
20 ボタンを押す
ツールバーボタンのコマンドを実行が代替
+ | ... |
マウ筋のボタンを押すと同じく、あまり当てにならないので、「ちゃんと動けばラッキー」程度に捉えておくとよい。
40 マウ筋「アクティブウィンドウ」「アクション開始ウィンドウ」「(指定ターゲット)」との互換性について
マウ筋のコマンドには「アクティブウィンドウ」と「アクション開始ウィンドウ」と登録済みターゲットを指定できるものがあります。

大雑把な対照表
マウ筋 設定例 |
MouseGesture.ahk 記述例 |
常に手前に表示(トグル) 対象 アクティブウィンドウ |
【例】 WinSet,Topmost,Toggle,A |
常に手前に表示(トグル) 対象 アクション開始ウィンドウ |
【例】 WinSet,Topmost,Toggle,ahk_id %MG_HWND% |
常に手前に表示(トグル) 対象 (Targetに登録済みの)任意のターゲット |
【例】 WinSet,Topmost,Toggle,ahk_class Chrome_WidgetWin_0 WinSet,Topmost,Toggle,ahk_id 0x01234567 WinSet,Topmost,Toggle,無題1 …等々。※詳しくはAutohotkeyのウィンドウ指定の方法 https://sites.google.com/site/autohotkeyjp/reference/Window |
40 Key=00 手前に表示
アクティブ化が余計かもしれないが、
ウィンドウをアクティブ化
の項目が最も近い。
40 Key=09 最小化⇔元のサイズ
;ウィンドウ最小化/元に戻す if (!hwndMinRestore) { hwndMinRestore:=MG_HWND WinMinimize, % "ahk_id " hwndMinRestore } else { WinRestore, % "ahk_id " hwndMinRestore hwndMinRestore:=0 }
40 Key=12 ウィンドウシェード
50 ウィンドウ半透明化(2000/XP)
マウ筋 | MouseGesture.ahk | |
透明度 | 100 で透明 | 0 で透明 |
透明度 | 0 で透過ゼロ | 255 で透過ゼロ |
55 マウスカーソル位置変更
マウ筋 | MouseGesture.ahk |
基本的に 相対座標 | MG_Move(x,y)ではCoordMode,Mouse,Screenとなっており 絶対座標 |
[代替]
相対座標で「マウスカーソル位置変更」をしたい場合はMG_Move()を用いない。
相対座標で「マウスカーソル位置変更」をしたい場合はMG_Move()を用いない。
ウィンドウ左上から(120,50)にマウスカーソルを移動したい場合
MouseMove,120,50,0
59 終了位置からカーソル移動
[該当箇所] -- なし
[代替]
ジェスチャー終了位置から、横縦(+120,-50)に移動したい場合
ジェスチャー終了位置から、横縦(+120,-50)に移動したい場合
CoordMode,Mouse,Screen MouseGetPos,ex,ey MouseMove,ex+120,ey-50,0
60 スクロール
[該当箇所]
Readme.txt 419行目
MouseGesture.html 7.4 スクロール
を熟読
Readme.txt 419行目
MouseGesture.html 7.4 スクロール
を熟読
縦スクロール 横スクロール 縦ページスクロール 横ページスクロール
のから選択して入力補助にしたがう。そうすれば、MG_Scroll2の引数を自動で埋めてくれる。
マウ筋 | MouseGesture.ahk |
設定できる幅 例 |
(記述例) |
縦(-20 ~ 20)Line 縦(-10)Line |
MG_Scroll2("V", -10) |
縦(-1 , 1)Page 縦(1)Page |
MG_Scroll2("V", 1, 1) Send,{PageDown}等で代用も可 |
横(-20 ~ 20)Line 横(3)Line |
MG_Scroll2("H", 3) |
横(-1 , 1)Page 横(-1)Page |
MG_Scroll2("H", -1, 1) |
手入力をするときは第一引数の表記"V"or"H"に注意すること。""がなければエラー
※※完全互換では ありません
※※完全互換では ありません
99 設定
「マウスジェスチャ2 設定」ウィンドウ呼び出しが、マウ筋での「設定」に最も近い。
MouseGesture.ahkでは「MG_Edit.ahk」実行で呼び出せる。
MouseGesture.ahkでは「MG_Edit.ahk」実行で呼び出せる。
Run,"%A_ScriptDir%\MG_Edit.ahk"
95 ブレークポイント
Ref:MouseGesture.html 7.8.実行するごとに2つの動作を交互に繰り返す
Ref:Readme.txt 441行目 MG_Counter(name=MG_Gesture,count=2)
Ref:Readme.txt 441行目 MG_Counter(name=MG_Gesture,count=2)
マウ筋設定例 | MouseGesture.ahk設定例 |
![]() |
![]() |
96 アクション終了後に実行
Ref:MouseGesture.html 6.10.全てのボタンが放されたときに発動する動作を予約
Ref:Readme.txt 469行目 MG_Refer
Ref:Readme.txt 469行目 MG_Refer
Alt+Tabの場合MG_Referよりこっち if(!MG_Hold()){ Send,{Alt Down}{Tab} }else{ Send,{Alt Up} }
100 ウィンドウを掴む
マウ筋Lite 独自機能
[該当] -- なし
[該当] -- なし
[代替案] -- 不恰好なのが難点
Send,!{Space}m
「Alt + Spase」でシステムメニューを出す。システムメニューの項目から「移動(M)」を選ぶと、ウィンドウを移動できるモードに移る。