MouseGestureL.ahkを流行らせるスレpart2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
MouseGestureL.ahkとはAutoHotkey_L上で動作する凡用マウスジェスチャーソフトです。
作者様のユーザーインターフェース大幅な改良にともない設置も簡単になりました。
基本的な用途であればスクリプトを意識せず全てのWindowsソフトでジェスチャー操作が可能になります。
使い方について語ったり、スクリプトについての質問・解答・提案等を書き込みましょう。
配布元 公式:
http://hp.vector.co.jp/authors/VA018351/mglahk.html
Autohotkey関連ファイル専用アップローダー:
http://ux.getuploader.com/autohotkeyl/
前スレ:
http://anago.2ch.net/test/read.cgi/software/1384313234/
テンプレは>>2-10くらい 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) 時々フリーズして固まるのウィンドウ最小化が原因だったかも。
ショートカットキーに置き換えたら安定してる。 書き込んだ傍からフリーズしたわw関係ないかも。すまん。 >>546
;Minimize Window
WinMinimize
おま環かもしれないけど、これが入力しっぱなしなのかうまく動作完了してない感じだった これ便利なんだが、なぜかゲームをやる時に右クリックが効かなくなる
ブラウザとエクスプローラーに対して、RB_→とかで進む・戻る・閉じるを設定してるだけなんだが
原因分かる人いる?
ちな無効にすると右クリックが効くようになる ChromeのショートカットキーのHomeとEndをそれぞれ割り振って
「ページの先頭へジャンプ」と「ページの最後へジャンプ」をできるようにしています。
しかしYoutubeのページを開き、プレイヤー部分がアクティブになっている状態で上記のジェスチャーをすると
プレイヤー側のショートカットが優先されてしまい、動画の最初に飛んだり最後に飛んだりしてしまいます。
プレイヤー部分がアクティブなままでも、「ページの先頭へジャンプ」と「ページの最後へジャンプ」がうまく働くような良い方法はないでしょうか? chrome使ってないからわからんけど
Ctrl+Home
Ctrl+End
にすればいいんじゃね? Youtubeではプレイヤー以外の部分をクリックしてからHomeとEndを押すようにすればいい
例えばスクロールバーとか再生数の「回視聴」とか >>548
俺もいくつかのソフトでそうなるよ
対策はわからん。無効化設定しても意味ないし…
しゃあないから使う時は切ってる かざぐるマウスにウィンドウの最小化ボタンを右クリックするとタスクトレイに格納する機能がありましたが、そういった瞬間的(?)な動作ってこのソフトでもできますかね? マルチディスプレイ(3枚)で使用しています。、設定してるソフト上で
右クリックすると、カーソルがメインディスプレイ上に飛ばされて
しまいます。ので右クリックが使えません。こんな症状あります?
Ver.1.31 >>538
gimp×mousegesturelで同じ症状あってここにたどり着いた。
設定で軌跡の表示ONにしてる人は、
軌跡・ログのタブの「ジェスチャーの軌跡を表示する」の下の
「軌跡をオーバーラップウィンドウに描画する」のチェック外して動作確認してみてね トリガーに拡張ボタンを追加して使っていたのですが、Excelでは拡張ボタンのジェスチャーが使えないようで困っております。
元々は拡張ボタンをメーカーのソフトウェアから直接コピー・ペーストに割り当てていましたが、現在MGLの方でコピペを登録しているのでExcelではマウスからのコピペができない状態です。
何か対策はありませんでしょうか? >>557です。
とりあえずマウスのドライバソフトウェア側でOffice製品に固有設定を割り振りましたが、これが最適解なのでしょうか。 わかりにくくてすみません。半分くらい自己解決しました。
別の質問です。もしかしたら基本的なことかもしれませんが教えていただきたいです。
右クリック+ホイール回転に左右の矢印キーをあてました。
これで文字列内でカーソルを簡単に移動させることができるようになったのですが、
範囲選択しようと思ったらShiftキーが効きません。
効かない理由は何となくわかるのですが、
これを効かせる為にはどのように設定すべきですか?
(右クリック+コロコロでShift+←→を実現させたい) ;シフト+←
if(!MG_Hold()){
Send, {Shift Down}{left}
}else{
Send, {Shift Up}
} すみません、うまく伝えられませんでした。
右クリック+コロコロでカーソル移動にMGL側で設定しました。
右クリック+コロコロ+キーボードのシフトキーで範囲選択モードにしたいわけです。
(右クリック+コロコロが矢印代わりになっているので、キーボードのシフトキーを押して
範囲選択モードにしようという自然な発想です。)
しかしトリガーにShiftキーを加えると他のシーンでShiftキーが使えなくなります。
なので、例えばRB_WU_のスクリプト内で「シフトキーが押下されていた場合、Send,+{Left}。
そうでなければSend,{left}」のような条件分岐をしたいです。 ;Shift+←
if(GetKeyState("shift", "P")){
Send, +{left}
}
else{
Send, {left}
} ありがとうございます。実現できました。
別の質問です。「アクティブウィンドウをターゲットにする」設定が動作していないようでして、
非アクティブウィンドウには動作しないため、例えばRB_にはアクティブ化のスクリプトを
設定していました。しかしChromeのブックマークフォルダ内のエントリに右クリックができなくなりました
(アプリケーションキーを利用すれば一応は操作可能)。何か対策案はございませんか? ジェスチャー無効にウィンドウクラス:Chrome_WidgetWin_2 を追加
ちなみにFirefoxならウィンドウクラス:MozillaDropShadowWindowClass ダブルクリックの操作に
LB__LB_
sec=1200
if(MG_Hold()&&MG_Hold()<sec){
}else if(!MG_Timer(sec)){
MG_StopNavi()
}
長押しでキャンセルするって言う動作を追加したんですけど、同じボタンを使ったシングルクリック時にも
長押しでキャンセルする動作をうまく設定できないんですけど、なにか案ありませんか? >>565
ありがとうございます。入力補助をそのまま使えばよかったのですね。AHKのWindow Spyを使っても
Chrome_WidgetWin_2は表示することができませんでした。
それはそれで使い方がおかしいのでしょうから
解決しなければならない課題な気がしますがここはひとまず保留としておきます。 下記スクリプト、RB_RW[U or D]_で音量を上下したいのですが、
音量を1変化させたところで"R"の認識が無効化されてしまい、
継続してホイールを転がしてもRB_W[U or D]_として認識されてしまいます。
対策方法はございませんか?
;音量+
Send,{Volume_Up 1}
音量-も同様 >>496
今更なんだけど
if (MG_Defer()) {
MG_Edit()
} >>566
XX_でのシングルの動作を試してたら
他のジェスチャー利かなくなったりしまいには設定全部吹っ飛んでしまった
良くない行動なのかな ドライバが付属していない安物のマウスの親指の2つの拡張ボタンの
割当を戻る進むから変更する方法はMGLにはありませんか? 一つのジェスチャの中にMG_Timerを2個使う方法ってあります? 画面の端に触れて作動するときだけアクティブウィンドウを対象にするにはどうしたらいいんでしょうか?
通常のジェスチャではカーソルの下のウィンドウを操作したいんですが
画面端起動の場合、その下のウィンドウとなるとデスクトップやタスクバーが対象になってしまうんです かざぐるマウスがWin10で不具合が出るので最近使い始めたのですが、かざぐるマウスに
あった、「リンクを左クリック長押しで新しいタブで開く」。
これをこのソフトで実現する方法をご教示いただけないでしょうか。
よろしくお願いいたします。 >>575
あ、ヘルプにあったんですね
すぐにはわからなかったので時間のある時にでも挑戦してみます
ありがとうございました 非アクティブウィンドウ上でホイールを回転させた時にスクロールするだけでなく
アクティブにする設定があれば教えていただけないでしょうか。 アクティブ化ってこれでしょ
IfWinNotActive
{
WinActivate
} >>581
レス有難うございます。
それをホイール回転に割り当てるとスクロールが機能しなくなっちゃうんですよね・・。 いやアクティブにすることしか書いてないから当たり前じゃ
これを1から10まで説明って甘ったれすぎだろ…… 後ろに「ホイール回転を発生させる」ってやつ付けんとそりゃそうなるよ >>582 修飾シンボル「~」を使うやり方もあるんじゃないかな 試してないけど >>580
何というか、身も蓋もないことを言ってるように聞こえるかもしれんけど
>非アクティブウィンドウ上でホイール
ってのは、非アクティブの状態のままスクロールできることに意味があるのであって
アクティブ化してしまうのなら、かえって作業的にはマイナスになるケースが多いと思うよ
この機能を話題にする以上、ウィンドウを複数並べて作業する場面があるわけでしょ?
Win10でようやく標準搭載された機能だけど、それもアクティブ化するわけじゃないし 580です。
以前に使っていたソフトではその様に使っていてそれに慣れていたのでなんか気持ち悪い
なと思った次第です。
取り敢えずこのまま使って見る事にします。
レスいただいた皆さん、どうも有難うございました。 久しぶりにこのスレで質問しっぱなしじゃなくて
どうしたかの結果を言って終話してみるのみたw
というかサポートセンターじゃなくて掲示板なんだから
質問しっぱなしじゃなくて参考になったならないは
別にしてもどうしたかぐらい言ってけよw
それが後の人の参考になることが
あるかどうかは分からんがあるかもしれないんだから 取り敢えずこのまま使ってみます
じゃ特に参考にもならんだろ あ?
お前みたいにいちいち絡んでくるのいるから
そのまま何も言わないで消えるの多いんだろw >>568です。未だに解決しておりません。不可能なのでしょうか? >>592
AutoHotKeyは使ってるけどMGLそのものはあまりいじってないから
RB_RWのRWが何かはわからんけど
ホイールで連続したいならGetKeyState()を使うといいと思うよ
ジェスチャーはWD_でスクリプト内でRが押されているかどうかで分岐させて >>592
>RB_RW[U or D]_で音量を上下したいのですが
自分が8方向だからか少々分かりづらかったけど、RB_RWUで音量UP、RB_RWDで音量Downってこと?
だとしたら、そういう仕様だよ。RB_WUならいいけど、RB_RWUでは希望通りの動作にはならない
3.14. 4. ジェスチャーの仕様のジェスチャーの連続発動 か、4.2. 4. 連続発動型ジェスチャーを読みましょう
例えば、ターゲットをタスクバーにして、RB_WU/RB_WDで組むとかなら可能だし、より細かく設定できて視認性もいい
TaskVolってプラグインが、Autohotkey専用うpろだで公開されてる かざぐるマウスにあった
「右クリックしながらホイール上下でフォルダの表示形式変更」する機能が便利だったんだけど
あれをMouseGestureLで再現する方法あったら教えてください >>592
試しに書いてみた。
以下のサンプルはホイールアップで send,u
ホイールダウンで Send,d
但し、L版ではなくノーマル版(MouseGestur.ahk)で試したのでL版での動作は未確認。
;RB_RWU_ のDefault等に下記3行を登録
send,u
wheelflag=rw
settimer, rightwheel, 100
;RB_RWD_ のDefaul等に下記3行を登録
send,d
wheelflag=rw
settimer, rightwheel, 100
;RB_WU_ のDefalut等に下記3行を登録
if (wheelflag="rw"){
send,u
}
;RB_WD のDefault等に下記3行を登録
if (wheelflag="rw"){
send,d
} >>596 の続き
;MG_User.ahk に下記6行を追加。
;MG_User.ahk のディレクトリはMGLのVerによって違うので MouseGestureL.ahk をテキストエディタで開いて MG_User.ahk を検索。
rightwheel:
if getkeystate("rbutton", "P")
return
wheelflag=
settimer, rightwheel, off
return
>>595
Shift+Ctrl+1〜8 がエクスプローラーのレイアウト用のショートカットなので
必要なレイアウト用ショートカットをループするスクリプトを前述のサンプルに追加するだけ。
現在のレイアウトはレジストリを参照すればいいんだろうけど、該当のレジストリーキーは自分で調べて。
レジストリキーが分かれば RegRead で値を読み出せる >>595
RB_RWU_ / RB_RWD ではなく RB_WU / RB_WD だからサンプルは殆ど関係なかった
現在状態をレジストリから取得し(RegReadで読み出し)
その値に応じて目的のショートカットキーを送ればいい >>595
QTTabBarなどのソフトで互換ビュー扱いにすれば、LVM_GETVIEWをSendすれば値がとれるよ
LVM_GETVIEW := 0x108F
SendMessage, % LVM_GETVIEW,,, SysListView321, ahk_class CabinetWClass
MsgBox, % ErrorLevel
0 : LV_VIEW_ICON 特大アイコン/大アイコン/中アイコン
2 : LV_VIEW_SMALLICON 小アイコン
3 : LV_VIEW_LIST 一覧
1 : LV_VIEW_DETAILS 詳細
4 : LV_VIEW_TILE 並べて表示/コンテンツ >>595
>>1のうpろだに上がってるかざぐる代替プラグインにその機能が含まれてる >>600
主さんではありませんが、ありがとうございます
早速関数をパクらせていただきました >>600
>;エクスプローラのタイトルバー上のホイール回転で表示モード切り替え
アクションは合ってるんだけど操作が違う >>602
そこを自由に変えられるのがMGL使ってる利点でしょ ん?AHKスクリプトで作られてるからこそ書き換えられるんだよ?
>>601のように関数のみ移植すれは良いのでハードルは低い それができる人間ならそもそもここに訊きに来ないだろ 出来る出来ないはともかく>>595に関しては散々回答貰っておきながら
お礼もなしで、>>602みたいな態度じゃロクなレスは貰えんだろ ロクなレスしてないやつが言うだけあって説得力があるな 正規ソフト「AutoHotkey」を悪用した攻撃を確認 | トレンドマイクロ セキュリティブログ
https://blog.trendmicro.co.jp/archives/19054 >>4をすることでジェスチャーミス時の右クリックはされないようになりましたが、
ジェスチャーがタイムアウトした際にも同じようにしたいです。
どのように改変すればよいですか? >>593 >>594 遅くなりました、ありがとうございます。
やりたいことは右クリックを押したままカーソルを右に一回動かして、
その状態で右クリックを離すまでホイール上下で自由に音量調整をすることです。
私が考えたやり方では音量を1段階変更させた時点でジェスチャー完了とみなされ、
右クリックのホールドが解除されるのでその後の音量調整ができず、
結果的に、例えば音量を3変更したい場合に「右に引っ張ってホイール回転」
の操作が3回必要になって使い物になりませんでした。
GetKeyState()試してみます。ただズブの素人ですのでまたお世話になるかもしれませんが
その時はよろしくおねがいします。 >>594 よく調べてみます。回答ありがとうございました。
ところで8方向だと、いくら認識設定をしても操作ミスが頻発しそうだと敬遠
していたのですが、それについてはいかがでしょうか? 594じゃないけど、操作ミスなんて無いな
ミスるようならミスも含めてジェスチャー登録すればいい
RB_48_
RB_47_
RB_478_
左 上、ってジェスチャーだけど
左 左上、左 左上 上、でもOKになる >>614
そこは意図通りにならないなら設定値を調整するしかないよ
自分は、斜め移動の認識範囲(角度)の所で、縦横移動の後を0、斜め移動の後は90に変更してる
(確かデフォだと全部45)けど、こういうのを晒した所で、マウスの動きは人それぞれクセがあるから
そのまま当てはめても意味ないと思う。結局は自分で最適な設定を見つけないと >>615>>616
そうなんですね。
最近4方向とトリガーのバリエーションで限界を感じつつあるので前向きに検討してみます。
ありがとうございます。 windwos10のウィンドウ(Windows.UI.Core.CoreWindow)で
スクロールしたいのですが
MG_SendWheel("U", 1)
MG_Scroll2("V", -1, 0)
どちらも反応しないのですが、どうすればよろしいのでしょうか? >>618
アクティブ化してからSend {WheelUp}、Send {WheelDown}
非アク状態では多分無理 Windows10でかざぐるマウスに存在していた下記の機能を再現された方はいらっしゃいませんか?
「タスクバーアイコン上のスクロールでウィンドウの展開収納」
「タスクバーアイコン上の中クリックでそのアプリを終了する」
MGLでそれを再現したスクリプトを公開されていた方はいましたが、
Windows10には対応していなかったようです。
切実な問題で、これによりWindows10への移行を保留しています。
私は機械音痴のようなもので、自作する術を持ち合わせておりません。
どうか、よろしくお願いします。 いつだったかに質問した内容について自分なりに考えてみたのですが、わかりませんでした。
やりたいことは、「右クリックを押しながら右に1移動させて、
その状態で右クリックを押したままマウスホイールをコロコロしたら音量が上下する」
です。
下記では作動しませんでした(作動するわけない感じがしますが、アイデアがありませんでした。)。改善策をお教えください。
RB_R_
Loop {
IF (GetKeyState(WheelDown , "P")) {
SoundSet, -1, MASTER, VOLUME
}
} While (GetKeyState(RButton , "P")) >>621
RB_RWU_
SoundSet, +n, MASTER, VOLUME
RB_RWD_
SoundSet, -n, MASTER, VOLUME
※nはお好みで >>622
回答有り難うございます。
しかしその方法では、音量がn変化した時点でジェスチャーが終了してしまうため、
再度Rの入力が必要になるんです。
例えばn=1として音量を100変えたければ、RB_RWU_を丸ごと100回繰り返さなければならないわけです。
そこで、GetKeyStateでRButton押下中はジェスチャーを抜けないように
RB_RWU_(上のRB_R_は痛恨のミスです...)で、
Loop {
IF (GetKeyState(WheelDown , "P")) {
SoundSet, -1, MASTER, VOLUME
}
} While (GetKeyState(RButton , "P"))
とすることで、右クリックを長押ししている間はLoop-While間を動き続けるのではないかと考えました。 >>624 です。
まるっきりおかしな構文でした。
RB_RWD_に以下を入力したところ、RButtonをUpするまで自動的に
音量が変化するようになりました。やりたいこととは違いますが近づいた気がします。
なんとかしてみます。(Sleepの値によって音量が変化する速度が変わる)
Loop {
GetKeyState, state, WheelDown, P
IF state = D
SoundSet, -1, MASTER, VOLUME
Sleep 250
GetKeyState, state, RButton, P
IF state = U
Break
} OSのバージョンを1903に上げたあとから右クリックを使用するジェスチャーが効かなくなりました
おま環でしょうか? ~LButton up::
をMG_User.ahkに書くとジェスチャー設定画面の時だけ
左クリックが効いたり効かなかったり、挙動がおかしくなる
んですけど、他にいい書き方ありませんか? ~LButton::
WinGet, appName, ProcessName, A
if(appName = "regedit.exe"){
ctrlHWND := MGU_GetCtrlHWnd()
WinGetClass, class, ahk_id %ctrlHWND%
if(class = "SysTreeView32"){
Loop
{
Sleep, 10
GetKeyState, state, LButton
If state = U ; The key has been released, so break out of the loop.
Break
}
copyKeys = {Alt down}{e down}{e up}{c down}{c up}{Alt up}
curPath := MGU_GetClipAfterCopy(copyKeys)
if(prePath != curPath AND curPath != "" AND curPath != null){
MGU_ForwardDirStack("push", curPath, "regedit")
}
prePath := curPath
}
}
Return
の様に、If state = U を入れたら上手く動きました。
どうもお騒がせしました。 特定のソフトでキーボードのAをジェスチャーに割り当てようと思っているのですが
そうするとすべてのソフトでAが使えなくなってしまいますよね?
特定のソフトでのみ特定のジェスチャーが起動するようにはできないでしょうか? AHK自体の機能として特定のソフトへのキー置き換えをしようとして
下記のような記述を書いたんだけどどこに書くのが正解なんでしょうか?
Pluginsフォルダに置いたfoo.ahkだとマウスジェスチャー機能が死んでしまったから色々試して
MouseGestureL.ahkの最後に書いたら動いたからとりあえずそこに書いているのですが
> #IfWinActive hoge
> a::Send, b >>634
#IfWinActive と #Ifで閉じてみましたが変わりませんでした 統合失調症の特徴的な症状
■妄想
妄想とは、内容的にあり得ないことを強い確信をもって信じていることをいいます。
単に内容が奇異であるだけではなく、本人の説明も論理的に飛躍があり、通常は
考えられない理由づけをして強く確信して修正が不可能な場合が多くあります。
たとえば、「テレビで自分のことが話題になっている」「すれ違う人が全員自分の悪口を
言っている、みんな敵で自分を襲おうとしている」「警察にずっと尾行されている」
「道を歩くと皆が自分をチラチラと見る」などのような迫害妄想、被害妄想、追跡妄想、
注察妄想、関係妄想などがあり、これら全体を[被害妄想]と称されています。
時折、何かを過大に表現したり感じたりする誇大妄想とも呼べる症状もあります。
また、「考えていることが声となる」「自分の考えを世の中の人が全部知っている」など
考想化声、考想伝播、作為体験のような[自我障害]の症状も現われます。
完全にお前のことだよマジキチ朝鮮人w
何の根拠も無く俺の事を南人彰だと思い込み勘違いしてファビョるキチガイ
青葉真司と同類の人種w 設定画面をジェスチャーで開くようにしたいんですが、どうすればいいですか? い
よ
う
江
東
マ
ン
シ
ョ
ン
神
隠
し
殺
人
事
件
の
犯
人
と
同
期
入
社
の
チ
ョ
ン
ク
ズ
株 式 会 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 遊 ぼ う ぜ8 画面端起動を追加してると、その画面端での左クリックの押上げを認識しないな
文字選択や、D&Dやらスクロールバーを摘まんだまま画面端にぶつかった状態で離すと、ボタンを離しても押しっぱなしだわ
何が原因かずっと分からなかった い
よ
う
江
東
マ
ン
シ
ョ
ン
神
隠
し
殺
人
事
件
の
犯
人
と
同
期
入
社
の
チ
ョ
ン
ク
ズ
株 式 会 チ キ ン ヘ ッ ド の ミ ナ ミ ヒ ト ア キ 遊 ぼ う ぜew 画面端発動させてると高確率で何かおしっぱになるのかAutoHotkeyの再起動が必要になるわ。 ■ このスレッドは過去ログ倉庫に格納されています