MouseGestureL.ahkを流行らせるスレpart3

■ このスレッドは過去ログ倉庫に格納されています
2020/11/27(金) 00:10:42.02ID:nIS5INIx0
MouseGestureL.ahkとはAutoHotkey_L上で動作する凡用マウスジェスチャーソフトです。

作者様のユーザーインターフェース大幅な改良にともない設置も簡単になりました。
基本的な用途であればスクリプトを意識せず全てのWindowsソフトでジェスチャー操作が可能になります。

使い方について語ったり、スクリプトについての質問・解答・提案等を書き込みましょう。

配布元 公式:
http://hp.vector.co.jp/authors/VA018351/mglahk.html

Autohotkey関連ファイル専用アップローダー:
http://ux.getuploader.com/autohotkeyl/

前スレ:
https://egg.5ch.net/test/read.cgi/software/1430873236/

テンプレは>>2-10くらい 👀
2020/11/27(金) 00:12:38.46ID:nIS5INIx0
マウスジェスチャーツール総合スレpart16
https://egg.5ch.net/test/read.cgi/software/1553572592/
派生元のスレです。総合スレでMouseGestureL の長文スクリプト貼りは自重

AutoHotkey スレッド part28 (2015/01/28-)
https://egg.5ch.net/test/read.cgi/software/1585906506/
こちらが隔離スレなんだから、MouseGestureLの話題をAutoHotkeyスレでやるのはやめましょう。
とくにMG_Hole(), MG_X, MG_... のようなMouseGestureLの内部関数や内部変数をAutoHotkeyスレで出すのは自重

----
《派生スレが立った経緯・・・》
上記のようなことが問題となりはじめたので、自然発生的に2013/11/13(水) に立ちました。
3sage
垢版 |
2020/11/28(土) 19:55:40.94ID:u9tt42VD0
最新版に移行することにしたのですが今までできていたタイトルバー右クリックで最前面トグルの挙動でコンテキストメニューを出さない方法がみつかりません
トグルそのものやタイトルバーのターゲット等は問題ありません
今まではRB__に長押し時と単押しを設定していたのですが最新版はRB_が追加できません
そこでそのままタイトルバーターゲット時にRB_で指定しているのですが

MG_Abort() や;
ボタンリリース時のデフォルト動作をキャンセル
MG_CancelDefBehavior()

こんなものも足してみましたがどうやっても右クリックそのもののコンテキストメニューが働いてしまいます
私の感覚的には問題の原因になりがちな右クリック単体での挙動は打ち消し不可のような感じになっているのでしょうか?
例えば強制的に

;ウィンドウの透明度を変更
WinSet, Trans, 225
;ウィンドウを最前面化する
WinSet, Topmost, On
;ジェスチャー入力開始位置から X-50, Y+0 へカーソルを移動 ←
MG_Move(-50, 0, 0, 0) ←

のようなカーソル移動を加えれば擬似的に右クリック単体の挙動と認識されずコンテキストメニューはでません
(当然ながらこれは登録していたらRB_←_の挙動も働いてしまいます)

何とかして単発右クリックの動作に本来の動作コンテキストメニューを出さない方法は無いのでしょうか?
RB_自体に{Rbutton}なども指定してみましたがやはり常に効いてしまいます
どうか助けてください
2020/11/28(土) 19:57:03.55ID:u9tt42VD0
訂正
x最新版はRB_が追加できません
o最新版はRB__が追加できません
2020/11/28(土) 20:24:34.82ID:u9tt42VD0
もうひとつ追加しておきます
ジェスチャー未発動後にコンテキストメニューを表示しない設定は当然していますし機能しています
もっともこの件に関しては発動させているの関係ないとは思いますが・・・
2020/11/28(土) 23:55:14.11ID:pIjNPXTU0
RB__普通に登録できるけどロッカージェスチャーとかですでに登録してない?
2020/11/29(日) 11:02:16.65ID:SwriobAW0
警告が出るようになったから追加できないと思ってんじゃないの?
2020/11/29(日) 11:02:52.91ID:SwriobAW0
ああRB__なのか
2020/11/29(日) 18:12:04.68ID:azZxeuLe0
右クリ長押しと左右のロッカージェスチャーを正しく機能させる方法はないでしょうか?

事実上"RB__"のロッカージェスチャーははずせない
ここをRB_LB__とかにするとおかしなことになるので
;新規タブ+右クリ単
if (GetKeyState("LButton", "P")) {
;RB_LB__の時の動作
Send,^t
}
else if !(MG_Executed>1){
Send,{RButton}
}

RB_
;長押し時コピー
if(!MG_Timer(500)){
;指定時間経過後に実行される動作
Send,^c
ToolTip, Copy
Sleep,700
Tooltip
}

この2つに記述するような方法があればできそうなのですが・・・

長押しをしっかり単独?で成り立たせないと例えば普通に右始動でジェスチャーしてても最後に効いちゃいますよね・・・
2020/11/29(日) 18:42:20.87ID:azZxeuLe0
右クリ単+長押し(crtl+s)
RB__
Default=if((MG_Executed=1)){
if (A_TimeSincePriorHotkey < 300 ){
;短クリック時の動作
Send,{RButton}
}else{
;長押し時の動作
Send,^c
ToolTip, Copy
Sleep,500
Tooltip
}
}

RB__
右左ロッカー(新規タブ)+右クリ単
if (GetKeyState("LButton", "P")) {
;RB_LB__の時の動作
Send,^t
}
else if !(MG_Executed>1){
Send,{RButton}
}

これを一つにまとめる方法ないでしょうか?
上を取るとロッカージェスチャーが使えない
下を取ると長押しを使えない
またはRB_と分けていじったりもしましたが無理そうです・・・
そっちで可能という際もどうかよろしくおねがいします・・・
2020/11/29(日) 18:50:22.45ID:azZxeuLe0
テンプレの流用してましたが表記が逆ですね・・・
LB_RB__です・・・
2020/11/30(月) 10:28:43.35ID:Btf6bGCP0
いきなり質問内容変えてるけど、バージョン上げたらRB__が登録できなくなったとか、
前は出来てた設定が出来なくなってたとか書いてた件に関してはどうなん?
2020/11/30(月) 13:32:19.25ID:V6ZVoMVg0
Chromeをターゲットとするために「実行ファイル名: chrome.exe」を条件として指定しているのですが、
これだとChromeがアクティブ状態でないとキー操作がsendされません。
Chromeがアクティブでなくてもマウスカーソル下にありさえすればジェスチャー操作ができるようにしたいのですが、可能でしょうか?
2020/11/30(月) 13:59:05.13ID:o4MaPHbv0
>>9
ロッカージェスチャーは連続発動できるものを置いた方が… ちょっともったいない気がする
もしくは関連性のあるアクションを割り当てるなら、MG_Wait()使えばうまくいきそう

>>13
認識設定のアクティブウィンドウを〜にチェックが入っているのでは?
2020/11/30(月) 16:10:25.32ID:1v8rFkQD0
>>14
すみません、問題が少しごっちゃになっていたみたいです。
ジェスチャーでキー操作を発生させてChromeに送っているのですが(たとえばCtrl+Wを送ってタブを閉じる)、
Chromeに限らず、「キー操作を発生させる」では現在アクティブなウインドウしか操作できない(キー操作を送れない)ようでした。

「キー操作をカーソル下のウインドウに送る」のようなことはできるでしょうか・・・?
2020/11/30(月) 21:28:44.68ID:licnHOTl0
>>15
DetectHiddenWindowsとControlSend使えばOK
2020/11/30(月) 21:33:40.25ID:licnHOTl0
ahkのwikiだかどっかでバックグラウンドにキーを送るサンプルを参考にした覚えがある
2020/11/30(月) 21:39:32.01ID:licnHOTl0
何度もすまんカーソル下ってことなら
MouseGetPosとWinGetClassとか使う必要あり
2020/11/30(月) 22:32:04.33ID:ckeOPNCB0
>>18
ありがとうございます
どうも調べてみると、非アクティブなChromeへのControlSendはうまくいかないようでした
結局少し妥協して、Sendの前にMG_WinActive()を入れることにしました
2020/11/30(月) 23:17:42.22ID:licnHOTl0
できるって言ってすまないChromeで試してはないからできないの知らなかった
2020/12/11(金) 23:15:18.60ID:dKALyhib0
verを1.32から1.38に上げたんだが、Gosub,MG_Reloadを書くと、
「Error in #include file "MouseGestureL\Config\MG_Config.ahk":
Target label does not exist.
Specifically: MG_Reload」
って出るようになった。
解決策知ってる人いたら教えて下さい。
22名無しさん@お腹いっぱい。
垢版 |
2020/12/12(土) 17:20:16.60ID:vhmy9a720
マルチモニター(3枚)で使用してるんですけど、メインディスプレイ以外で
使用すると、未設定のジェスチャーをすると、マウスカーソルがどっかえ
飛んで行くんですけど、そういう仕様ですか?
2020/12/14(月) 02:49:29.69ID:e4nHIhOX0
作者が公開してる不具合報告のメルアドってCLaunch専用で
MouseGestureL.ahkの報告は送ってこないでくれっていう意味なの?
2020/12/14(月) 10:13:54.88ID:9yviDP1R0
>>22
ヘルプ「マルチモニター環境での利用方法」
2020/12/14(月) 14:48:45.53ID:g8Nt9HW90
>>24
ありがたやす。調べてみます。
2020/12/18(金) 19:46:19.23ID:JfGmKmHd0
スクリプトの記述方法を初心者向けに分かりやすく解説してる所ありますか?
2020/12/18(金) 21:25:59.01ID:ikYaKGVF0
ahkのスクリプトならググれば日本語のサイトも色々出てくるよ
2020/12/19(土) 20:42:57.06ID:Qy7V0Ts+0
Edgeのブックマークのポップアップって除外できないんですかね
ChromeだとChrome_WidgetWin_2を指定すれば除外できるんですけど
EdgeだとChrome_WidgetWin_1になってしまい区別ができません
2020/12/19(土) 21:06:16.17ID:eIptDx9V0
ほんとだ、同じクロームなのにね
メニューポップアップはタイトルが空欄になってるから
実行ファイル名は「msedge.exe」
タイトルの末尾は「 - Microsoft​ Edge」
でターゲットを作ればメニューポップアップを除外できるかも
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

ニューススポーツなんでも実況