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) >>220
スマンこのままのスクリプトじゃプラグインとしてうまく動かないと思う
220のコードの最初と最後の行に、
goto, hoge ;プラグインとして必要 ← Auto-executeセクションの終わりに記述
;#UseHook ;場合によりこの行も入れた方が良いかも
〜この間に>>220のコードを入れる〜
;#UseHook off ;場合によりこの行も入れた方が良いかも
hoge: ;プラグインとして必要 >>220-221
ありがとうございます
調べてみたところVLCのスクリプトを拾えまして少し書き換えてどうやらうまくいったようです
実はスクリプトどころかプラグインの導入の仕方も分からないド素人だったのですが
スクリプトを書き込んだ.ahkファイルをpluginsフォルダに放り込めばいいだけだったのですね、勉強になりました
一応以下に拾ったページと該当スクリプトを明記しておきます
http://blog.hushlogue.com/?eid=810087&imageviewer&image=20140626_877911.png?_ga=1.14085492.259030880.1403781784
#IfWinActive ahk_class QWidget ;VLCのウィンドウがアクティブの時のみ発動
LButton:: ;左ボタンをクリックすると
MouseGetPos , , , , ctrl ;カーソル下のClassNN名を取得して
IfInString, ctrl, MSW ;ClassNN名にMSWが含まれていたら
{
send, {space} ;スペースキー(再生/一時停止)として発動
}
Else ;ClassNN名にMSWが含まれていなければ
{
Send,{LButton Down} ;以下、そのまま左クリックを発動させる
KeyWait, LButton
Send, {LButton Up}
Return
}
#IfWinActive う…と思ったら放り込んだら動作がおかしくなってしまった…
やっぱりダメなのか >>222-223
このスクリプト試したわけじゃないがプラグインとして正しく記述してても動かないと思う
→IfInString, ctrl, MSWの行を修正する必要あると思うが、
修正するとしたら、「MSW」を「VLC video」だろうか?(動作未確認)
あと、>>221で追加した、「goto, hoge 〜 hoge:」はプラグインにする時の決まり事
→MGL起動時プラグインのAuto-executeセクション以外読み込まないようにする
#UseHook使用は自己判断で
暇があったら>>220のコードも試して貰えれば幸い >>224
申し訳ない
自分の知識ではコードの記述方法がさっぱり…
とりあえず>>222はMGLのプラグインとしてではなく
単体のソフトとしてなら不具合を起こさずに機能するのを確認したので
スタートアップに登録することで一応解決しました
タスクバーに居座るアイコンが1個増えるのであまりスマートとはいえませんが… このソフト使い始めようと設定しているのですが不満点があります。
・登録してないソフト上ではDefaultの動作が適用されると思っているのだが、一切されない。設定変更も反映されていない(僕が悪いの?)
・マウスジェスチャーの例えば右下の動きをやってても、必要な動かしの距離が少なければ右下と判断されずに右だけにしか受け取ってもらえない。
そんなことないでしょうか? 二つ目について。認識設定タブで数値をデフォから変えたら、自分の思うように挙動してくれました >>225
221さんが書いてるのはとりあえずそういうもんだと思った方がいいかも
↓のようなサンプルがヘルプのプラグインの項目に載ってる
GoTo, foo_PluginEnd
〜
foo_PluginEnd:
>>226
>登録してないソフト上ではDefaultの動作が適用されると思っているのだが、一切されない。設定変更も反映されていない
これだけでは答えようがないかな
「登録してないソフト」というのは、登録すると不都合があるということ?
できれば、具体的に効かないソフトとアクションを書いた方がいい。ソフト側はそのアクションに対応するホットキーを持ってる?
あるいは、そのソフトは管理者権限で実行させてるとか、反対にMGLを管理者権限で動かしてるとか、ではない? 管理者権限のソフトを通常起動のMGLで動かせるわけ無いしな ジェスチャーが有効なせいか、
ドラッグするとリアルタイムでウィンドウやスクロールが追従しなくなった。
設定も見当たらないんだけど、
これ直す方法ない? ヘルプのキーリストのキーボードの絵のSpaceとかクリックするとスクリプトエラーが出るけど大丈夫だよね?
Windows10 64bit >>230
幻覚かも知れんし暫くドラッグ止めてみたら? >>230
左ボタンにジェスチャー割り当ててるからじゃねーの?分からんけど 画面端への接触をトリガ操作とする機能はあるみたいだけど、画面端から指定ピクセルまでの間に触れることをトリガ操作とするなんてことはできないかな? ウインドの最大化(WinMaximize)/元に戻す(WinRestore)をジェスチャーに割り振ってます。
ジェスチャーの軌跡はONにしているのですが、「エクセル(2010)で」「最大化or元に戻す」をしたときだけ軌跡が消えません。
どの辺に問題があるんでしょう。 エクセルが問題なんじゃね?
他のソフトでも、エクセルで○○が効かない、ってのはたまに聞く MG_Abort()でも消えませんね…。残った軌跡はAHKやMGL終了しても残ったままです。
スクロールしたりすれば消えるし、エクセルの仕様だと思って納得しておきます
ありがとうございました >>234
ターゲットの種別で「カスタム条件式」を選んで「入力補助」→「矩形領域判定」
で、トリガーにしたい領域をマウスで選択 ジェスチャー無効について質問です。
ある特定のソフトで、全部ではなく一部のジェスチャーだけを禁止したいです。
やり方知っている方、お願いします。 >>241
アクションスクリプトを空欄のまま登録すればいいんじゃない?
それか、少し上にある MG_Abort() を記述しておく >>242
せっかく返答してもらったのに、すいません。説明不足でした。
もちろんその方法も試しましたが、ダメでした。
たしかにジェスチャー禁止にはなるのですが、
そのあるソフトA自体にもジェスチャー機能がついてて、242さんの方法だと、ソフトA自体のジェスチャーが機能しないんです。
MouseGestureL.ahkのターゲットタブの所でソフトAをジェスチャー禁止対象にすると、ソフトAのジェスチャーは機能するんですが…
ややこしくて申し訳ない >>243
ああ、それは難しいかもね
ソフトAにソフトA自体のジェスチャー機能とMGLを併用させようってことでしょ?
どちらかに1本化するべきだよ
仮に、ソフトAのジェスチャーではできないことをMGLで補完させようとしたのなら
ソフトAのジェスチャー機能を無効にして、それまでソフトAに任せていたジャスチャーを
面倒でもMGLに登録し直すのがいいと思う
自分はブラウザでもエディタでもファイラでも、各ソフトの個別のジェスチャー機能は切ってるよ >>243
例えばMGLの方を右クリックを242さんの言う通り、MG_Abort() して
それ以外の中クリックや第4,5クリックだけ使うとかどう?
Firefoxやファイラーでそういう感じに使ってるけど不具合なく共存してる >>244
遅くなって申し訳ないです。助言ありがとうございます。
めんどいけど、とりあえずその方向でどうにかしてるんですが、実力不足で再現できないジェスチャーがいくつかあるんですよね
>>245
すんません、ごみマウス使ってるんで、第4ボタンとかないです。マウス買おうかな… >>246
マウス換えるのもいいし、とりあえず何とかしたいなら、その再現できないのを書いてみては?
解決できるかどうかは分からないけど >>214
あれえ、これ俺も右クリックでなるな
以前はexe指定できちんと無効になってたんだけど
いつの間にか>>214と同じ感じになっちゃった。 昔からDisableに入れても効いちゃうことあった。
だからもうゲームするときは終了させてる。 >>246
ソフトAのジェスチャーに割り当てられていたのであれば
ソフトAのショートカットキーにも同じ動作が割り当ててある、もしくは割り当て出来ると思うので
そのショートカットキーをMousegesture.ahkでSendすればいい >>247
御親切にありがとうございます。さっき悪戦苦闘しながらなんとかできました。
>>249
めんどいけど、たまにそうしてます。
>>250
やっぱそれしかないですよね〜いつもその方法でなんとかしてるのですが、ソフトAの使っているジェスチャ多すぎて…
めんどくさい気がしましたが、できないこと試行錯誤するより結局早かったです。ww
今回は結局この方法で解決しました。
めんどくさいばっか言ってすいませんでした。みなさんありがとうございました。 >>103-109
と同じ質問になるのですが、左クリックをトリガーにロッカージェスチャを割り当てたいのですが
ターゲット(Firefox)以外ではもっさりするので、どうすればよろしいでしょうか
>ヘルプにあるようなスクリプト
ってヒントがありますが、それもわからずでして…
FireGesturesは使用せずに、MouseGestureL.ahkだけで完結したいんす
アホでもわかるようにお助けください ジェスチャーの受付時間を短く設定すれば
もっさりと感じる時間は減るんじゃね >>252
とりあえずヘルプの↓を軽く読んで、左ボタントリガーはNGと押さえておく
3.14. 5. それぞれのボタンにジェスチャーを割り当てるときの注意点
そのヘルプにあるスクリプトは、
4.4.4. 設定例-応用編- の ボタンを押しながら右ボタンで右のタブ、その逆で左のタブ
ジェスチャー総合スレには同じのがテンプレで載ってるけど、こっちにも必要かもね
http://potato.2ch.net/test/read.cgi/software/1413010351/10 >>254
何から何までありがとうございました!
いい感じに動きました!
大阪来ることがあればラーメンでもおごります MG_Config.ahkの内容を一括置換で置き換えたんですけど、設定画面に反映されません。
良く見たら、MouseGestureL.iniの内容が設定画面に反映されているようですね。
MG_Config.ahkの内容をMouseGestureL.iniへ反映させることって可能なんでしょうか?
それとも設定画面で手打ちで全ての内容を置き換えなければならないんでしょうか? いつのまにやら、ターゲットの欄にあるジェスチャー無効の欄に、その上では無効にしたい
ソフトウェアの.exeの名前を入れても無効にならなくなりました。
その欄に登録してあるどのソフトウェア上でもこのソフトが無効にならなくなりました。
どうすればいいでしょうか?教えて下さい。 条件にどれかに一致とすべてに一致あるしそれじゃね
といったところでそれなりに時間過ぎてるから無意味だろうが >>257
ジェスチャー無効の上位(↑)に他の条件を追加してない? ターゲットを階層化した場合に、親ターゲットと子ターゲットとで同じジェスチャーに別々のアクションを割り当てたいのですがうまくいきません。
MouseGestureLの作者さんはターゲットの階層化について次のように述べれられているのですが、
ttp://hp.vector.co.jp/authors/VA018351/newfeatures_mgl.html
> Chrome (Exe=chrome.exe)
> │
> └ タイトルバー (Custom=MG_CursorInRect(0,0,0,20))
>
> 上の例で「タイトルバー」はChromeのタイトルバー領域をターゲットとして認識しますが、ターゲットとしての優先順位はユーザーの設定に依存します。
> 従って「Chrome」と「タイトルバー」の同じジェスチャーに別々のアクションを割り当てた場合、「タイトルバー」の割り当てアクションをリストの上位へ配置しないと、
> タイトルバー上でジェスチャー操作を行っても「Chrome」の割り当てアクションが発動します。
この中で『「タイトルバー」の割り当てアクションをリストの上位へ配置しないと』という部分の意味がよく分かりません。
子ターゲットのターゲットリスト上の位置を動かすということでしょうか?ですが、それはできませんでした。
どなたか親ターゲットと子ターゲットとで同じジェスチャーに別々のアクションを割り当てる方法をご存じの方がおられたら教えてください。 >>260
そういう管理の仕方をしてないから何とも言えんが
>割り当てアクションをリストの上位へ配置
ということなら、メインタブの右のアクション(A)の中の順番を入れ替えろってことかね
タイトルバー
Chrome
Default
ってな感じで Version 1.31キタ━━━━(゚∀゚)━━━━!!
ttp://hp.vector.co.jp/authors/VA018351/mglahk.html
> メイン設定画面を変更
> Wacom社製ペンタブレット対応モジュールを統合
> ターゲット名の大文字と小文字を区別する仕様に変更
> ターゲットリスト上で直接ターゲット名を変更できるよう修正
> 設定画面上のコンテキストメニューの内容と、ショートカットキーの一部を変更
> ユーザー名とパスワードを設定項目から削除
> AutoHotkeyの実行ファイルを添付
> アプリケーションアイコンを添付
> Setup.vbsの処理内容を変更
> トップレベルのターゲットと同一名称のサブターゲットがある場合に、アクションの割り当てが正しくできない不具合を修正
> ターゲットのアイコン適用時、編集中の条件定義が同時に適用される不具合を修正
> その他、設定画面細部の挙動の変更と、軽微な不具合の修正 >>262
おっマジだありがとう
もう更新されないものだと思ってたから自力で気づくことはなかったと思うわ > ターゲットリスト上で直接ターゲット名を変更できるよう修正
これ地味だけどうれしいな ジェスチャー有効とジェスチャー無効の通知にもアイコンがついたね
FPSで不具合が出がちなのでありがたい、ありがとう 初心者で教えてほしいのですが、ClipboardHistory.ahkをMousegesturelに
includeする方法を教えてください。
ClipboardHistory.ahkはあぷろだにあります。
PluginsフォルダにいれてMousegesturelを起動するとClipboardHistory.ahk
のみが起動するのです。 そのクリップボードのahkは知らないけど、単体で完結してるahkだらインクルードしたところで処理が完結してしてるんじゃないでしょうか。
自分でahk書き換えられないなら、インクルードしないで両方別々に起動すれば良いような気がするけど >>268
ヘルプにプラグインに関する説明がある
とりあえず具体的な組み込み一例(俺環ではうまく行くが、他で動く保証は出来ない)
・もしそのスクリプトが「settimer」使うスクリプトなら、
settimer, xxxxx, ***
の次の行に↓の一行を記述する
goto, ラベルほげほげ
・そのスクリプトの最終行に↓の一行を記述する(ラベル文字列最後の「:」も忘れずに)
ラベルほげほげ:
要はプラグインにしたいスクリプトの「auto execute セクション」の終わりに
goto, ラベルほげほげ
の一行を記述するということ Pluginsフォルダに入れ、その通りしてみましたがうまくいきませんでした
その後もいろいろ調べてみたけど自分には荷が重かったです
アドバイスいろいろありがとうございました >>268
そのまま入れたらそうなるだろうね。MGL用に作られてるプラグインをよく観察してみた方がいい
でも、ClipboardHistoryをプラグイン化する必要はないでしょ
Pluginsに入れるのは、マウス操作に関連するものでもっと単機能のものがいいと思う
加速スクロールとかタスクバーでボリューム変更とかスクリストとか
ClipboardHistoryは単体で動かして、メニューや履歴表示のキー設定でMGLと絡めればいいんじゃないの >>273
それもそうでした
同じAHKということで一元化して管理したかったのかもしれません
勉強して出直します >>272,274
動く保証はないけど、もう一つ(先のレスで書いとけばよかったと反省)
スクリプト先頭からはじめて出現する「return」という行を↓の一行に変更する
goto, ラベルほげほげ
スクリプトの最終行に↓の一行を記述する(ラベル文字列最後の「:」も忘れずに)
ラベルほげほげ:
しつこくてスマナイ >>275
できました!ありがとうございます!
ジェスチャとClipboardHistory両立して稼働確認しました
改めてありがとうございました >>267>>277
オレはTaskVolっていうスクリプトを改造してプラグイン化し、
現在の音量レベルをMGLアイコン(数値アイコン)として表示してて、
音量変更時以外にアイコン変えられると困るからその機能殺したわ
せっかく新たに追加された機能なんだけども タイトルバーを右クリックして最小化という動作を、以下を利用しAHKで使っていました
https://www6.atwiki.jp/eamat/pages/27.html
これをプラグイン化してMouseGestureLで読み込ませた所、
ジェスチャー無効に指定しているソフトで、ジェスチャー終了後に右クリックを離した際にコンテキストメニューが表示されてしまいます
例としてはFirefoxやJaneDoeViewなど(後者はこの影響かViewの一部ジェスチャが効かない問題も)
何か良い対処法はないでしょうか? >>280
イマイチよく分からないのだけど
>ジェスチャー無効に指定しているソフト
なら、ジェスチャーする必要なくない?それと無効にしているのなら
>右クリックを離した際にコンテキストメニューが表示
されるのは普通の動作だと思うのだが… 求めているのはどんな対処? おそらくMGLを無効化してアドオンとかアプリ固有のジェスチャーを使用していると思われ >>281
該当ソフトのように、そのソフト自体にマウスジェスチャーを搭載したものでマウスジェスチャーをした際って事です
本来ならば、そのソフトでマウスジェスチャーを行った場合はコンテキストメニューは表示されない
それが今回の場合は表示されてしまうってのが問題の症状です
つまり、無効にしているソフトでジェスチャーを行った際にコンテキストメニュー表示の抑制が出来る対処法がないかを知りたい >>282-283
ああ、なるほど。分かった。スマン、自分の理解が足らんかったわw
症状は理解できたけど、そのプラグインを入れなければ問題ないの?
MouseGestureLが原因なのか、そのプラグインが原因なのか
そこをまず明確にした方がいい >>280
そもそもそれプラグイン化する意味あるの?
ターゲットでタイトルバー設定しといて
アクションに右クリック最小化しとけばいいんじゃないの? レスしながらも色々試してたら自己解決しました
他のボタンも割り当てを変更していて、#InputLevelを設定していたのですが
RButtonの前で#InputLevel 0に変更した所、症状が収まりました
皆さんご迷惑をおかけしました…
元のスクリプト貼ったら、きっと解決も早かったですね
なんで書き込みするまで気づかなかったんだっていう
>>285
ターゲットでタイトルバーって指定できましたっけ?
一応、今回の機能だけじゃなく他にも割り当て等をしているので意味はあると思う 種別をカスタム条件式で入力補助の中にある
できないならプラグインじゃなくて拡張スクリプトに必要な関数抜き出すかincludeでいいんじゃないかなあ >>286
解決したなら余計なお世話だろうけど
カスタム条件式にそこに記載されてること
全部あるよ >>287-288
マジかよ…マジだったよ…
まぁこういう初歩的なミスに気をつけようって良い経験にもなったから良しと思うことにします 作者さん、更新乙です
アクション未割り当てのジェスチャーの後にコンテキストメニューが表示されてたのも修正されてるね ジェスチャーがタイムアウトした時に右クリックメニューが表示されないようにすることってできない?
Ver.1.30までは>>4、もしくは下記の方法で可能だったように思うんだけど
605行目〜609行目までの
MouseMove,%MG_X%,%MG_Y%,0
GoSub,MG_%name%_Down
MouseMove,%px%,%py%,0
Sleep,1
GoSub,MG_%name%_Up
を以下のように書き換え。
↓
if (MG_TimedOut) || ((MG_X-px)**2+(MG_Y-py)**2 < MG_TimeoutThreshold**2)
{
MouseMove,%MG_X%,%MG_Y%,0
GoSub,MG_%name%_Down
MouseMove,%px%,%py%,0
Sleep,1
GoSub,MG_%name%_Up
} 全く困ったことないけどテンプレに入ってるぐらいだから一定の需要があるんだろうね
マウ筋なんかがそんな挙動なのかな?
右ドラッグ使うソフトで支障が出そうだけど マウ筋はどうやってんのかその辺両立できてたんだよな
あとShift+ジェスチャーで例えばAlt+Aのコマンドを発生させてもちゃんとShiftが無視されるという。
MGLはShift+Alt+Aが発生するんだよね。 そういうのは、GetKeyStateを使えばいいんじゃね 気のせいか、1.31から>>214みたいな症状が解消してます? >>293
試してないけど、アクションに
Send, {Shift Up}
を入れてもダメかね adobe cc2017(Illustrator、Photoshop)で右クリ長押しで使うと
最初のうちはいいんだけど、途中から右クリックのメニューが出てしまう。。。
これは相性の問題? それと、alt押してる間だけジェスチャー無効ってどうやるの?
連投ごめん。 >>299
カスタム条件式のAltキー押し下げを、ジェスチャー無効に入れておけば良いのでは? >>298
それだけだと何とも…
頻発するならログを表示させて原因を探ってみては?
おかしくなる前に共通して何らかの動作をしてて、それでエラーになってるとか win10/MouseGestureL.ahk でタスクバーを自動で隠れるにしてるとき、カーソルを合わせても前面にこないのって改善できますか? >>298-299
です。
だいぶ遅くなったけど>>300、>>301回答ありがとうございます。
マウスジェスチャー側の設定で解決しました。
タスクバーのWin+6にフォルダを登録してるんだけど、
複数フォルダ開いてるときに右クリ押しながら中央ボタンを
繰り返し押して選択できるようにできないですか?
if(!MG_Hold()){
Send,{LWin Down}{6}
}else{
Send,{LWin Up}
} >同じジェスチャーに全く違うアクションを割り当てるのは、割り当てを忘れがちになるので避けてください。
これでかいな Windows10 1703適用したら、リダイレクト設定してるスクロールが
重めのアプリだともっさりするようになったな
Win10標準のリダイレクトは色々不具合あるし困った これ設定のエクスポート機能あるのかな?コンフィグまるまるコピペすれば良さそうではあるけど
知識ゼロでいろいろイジってたら無効にしたはずのソフトのジェスチャーまでバグってしまって再インストールするハメになったよ >>307
Configフォルダ丸ごとでもいいし、iniファイルだけでもバックアップしてあれば
それ戻した後にメニューの再起動で戻せる
あと設定変更後の直前の設定ならConfigフォルダに自動でバックアップされてる 管理者で起動してるのにタスクマネージャーとかでジェスチャが効かないんだけど、なんか回避策ないかな? 俺はwin10で管理者権限での起動で特に何もせず出来たよ(MGLver1.31/AHKver1.1.26.0.1) ども。
こちらの環境は、Win10 64bit Pro CU/MGLver1.31/AHKver1.1.24.0.3なので後でAHKを最新版にしてみようと思います。 ブラウザのターゲットにEdgeを入れたいんだけどどう指定するのが良いの? >>313
トレイアイコン右クリック→ヘルプ→基本編→3.2.ターゲット どっちもどっちだけど俺は>>315を見て書くのやめたわ >>314-318
全て駄レス。たまにしか書き込みのないスレなのに寄ってたかってほんましょーもないことしてるわ
書くのやめたわ宣言は本当にタチが悪い
>>313
Edgeはタイトル(後方一致) ?- Microsoft Edge
しか無いんじゃないかな実行ファイル名指定だと設定とかのアプリ関連の他のウィンドウにも誤爆するからNG > あとアドバイスも不完全だね
そう思うなら完全なのを書けばいいのに
ほんと性格悪いね。 ■ このスレッドは過去ログ倉庫に格納されています