>>948 LButtonを最初に持ってくるのが良くないんじゃね
ホイール動作は、Ctrl+Tab や Ctrl+Alt+Tab 、音量調整とかに使うのが一般的だと思う
ウィンドウ最小化は通常のジェスチャーに組み込めばいいじゃん
自分は8方向だから少数派だと思うけど、右+/down でウィンドウ最小化
右+/up で最大化・元に戻すのトグル、右左+/down で全てのウィンドウを最小化って感じ
>>948 コンビネーションキーの場合、一つ目のキー自体のもともとの機能は無効化される。
4.2 コンビネーションキー
ttp://ahkwiki.net/Hotkeys 通常の修飾キー以外とWheel系を組み合わせるのはやめた方がいいかも
GetKeyStateで入力がうまく取れないから(自分の環境だけ?)
↓動くけどスクロールが若干ぎこちないかも。
WheelDown::
If GetKeyState("LButton","P")
Send,#d
Else
Send,{WheelDown}
Sleep,40 ;キーリピート調整
Return
※インデント全角スペースなので注意
~LButton & WheelDown::
>>953, 954, 955
皆様ありがとうございました。
>>955さんの書き方で解決できそうです。
~とか、こんなに使える修飾を今初めて知りました・・・w
MGL.ahkで「マウス下のウィンドウにスクロールを送る」という機能を
実現するにはどうすればいいですか
今まではWheelAccel使ってましたが加速は要らないので・・・
>>959 ありがとうございます
WheelRedirectがWheelAccelの加速部なし版と考えていいんですね
違うけど
拡張全部そぎ落として一番のコア部分がそれ
先に書いたように行儀の悪い一部のソフトで動かなかったりマルチディスプレイで問題が出たりする
行儀の悪い一部のソフトでもマルチディスプレイでもちゃんと動くようにするなら
WheelAccelをカスタマイズするのがいいんですかね
>>960 つか、MGLのヘルプの4.3.3に載ってるんだが…
もっとも、この方法も跡地のスクリプトも、どっちも満足できなかったけどね。環境のせいかもしれんが
スクリプト書けないから何を修正すればいいかはさっぱり分からんのだけどさw
ホイールリダイレクトのソフトはたくさんあるけど、結構複雑なんだろうなーという感想しか出ないw
ahk付属のテキストエディタSciTEは他のエディタ使うより何かと便利なので重宝してるんだけど、
InternalAHK.exeとかいう曲者のせいか起動が非常に遅く、たまにイラッと来ること有る。
そこで、このInternalAHKをSciTEから切り離したい。
と言うか、とにかくこの起動の遅さを何とかしたいんだけど、何か手はある?
>>964に追加
今、ahkでツールチップだけ表示するスクリプトをexe化してInternalAHK.exeと入れ替えてみたんだが、
起動のスピードはさほど変わらなかった…この遅さは何が原因なんだろ?
>>963 ありがとうございます。
やはり専用ソフトでホイールリダイレクトしたほうがいいと思うのですが
ウィンドウごとの細かいカスタマイズができるAHKはやはり便利ですよね
優れたAHKスクリプトが公開されるといいのですが・・・
>>966 無いものは作ればいい
むしろ作る事が楽しいと思うのだがw
>>966 ヘルプの3.14の中に設定があるよ
ホイール操作をターゲットコントロールにリダイレクト
キャンセル押されるとErrorLevelに「1」が格納されるから
>>967-968 やってみたらできました・・本当にありがとうございます
Firefoxも問題なくスクロールできています
マウス直下にあるウィンドウに
Windows7のショートカット(縦に最大化 Win + Shift + ↑)を
送る処理を書いたのですがうまく動きません。
MouseGetPos, , , WinHdl, ,
ControlSend, , #+{Up}, ahk_id %WinHdl%
どうも#キーとの同時押しができないみたいです。
上記の場合、{Up} キーが送信できていません。
#+{Up} を +{Up} にした場合、正常に動作します。
この動作はAHKの仕様でしょうか?
sub_hoge:
for 〜
for 〜
if hage
return
}
}
}
return
こんな感じでforで二重にループしてる中で
条件hageによりループ途中でreturnしてるんだけど、
問題有るとしたら、どんなことがあり得るんでしょう?
今のところ問題なく動いてるから知らんぷりしても良い?
昔の言語だとスタックが溜まりっぱなしなことがあったけど、
いまはガベージとして破棄するとかで大丈夫なんじゃね?
途中で抜ける関数を100万回くらい呼ぶサンプルコードを作って、
メモリ消費量が右肩上がりで増えるかどうかを確認してみたら?
俺も結果を知りたいからテストしたら結果を書いてもらえると助かる。
Gui, Buttonについてお聞きします。
ボタンにSendを割り当てたとして、GUIボタンをクリック押し込みするとキーは送信されず
クリックを離した時点でキーを送信しますが
クリック押し込み状態でも、キーを押した状態とするにはどのような処理をすれば良いでしょうか?
よろしくお願いします。
レスありがとう。
大丈夫と言う意見戴きました。
うう、サンプルコード…
素人にはそっちの方が大変だ。期待に添えなくて申し訳ないっす。
とりあえず今動かしてる分にはメモリ使用量が突然高くなるなどの
現象は起きてないようなのでこのまま様子を見るつもりす。
>>975 別に問題ないよ
returnの代わりにgotoでサブルーチン外に出て戻ってこないとかだと問題だが
979氏、レスありがとう。
問題ないと言う、976氏と同意見なのでとても安心っす。
>>981 種別を色々変えてもそうなるの?
ウィンドウクラスでダメなら実行ファイル名にするとか
>>977 Button だとおそらく無理なので Text や Picture などでボタンを作ればいい
今回は画像用意するのめんどくさいのでText
F1::
Gui,Add,Text,w100 h38 Center Border gTextButton,`nButton
Gui,Show
Return
TextButton:
ToolTip
ToolTip % A_GuiEvent
If A_GuiEvent = DoubleClick
ToolTip % A_GuiEvent
Return
MouseGestureLの設定方法に関してはマウスジェスチャスレのほうでやってもらったほうが良くないか
ここに作者いないしサポート求められても正直困る
自分でプラグイン書きたい人のコード添削なんかはここでいいと思うけど
>>983 なるほど、ボタンでは出来ないんですね。
サンプルコードまで書いて頂きまして有難うございました。
>>981 他のマウス系ツールと併用していてたりしない?
例えばトラックボール+Wheel Ball+Autohotkeyスクリプト
という組み合わせの時に擬似マウスホイール操作
(トラックボールのボタンを押しながらボールを回転)すると
頻繁にそのエラーが出てたので
#HotkeyInterval 6000
#MaxHotkeysPerInterval 300
というように設定してた。
エラーの状況からして #MaxHotkeysPerInterval の値を
もっと増やさないといけないだろうけど。
ちなみに現在はTW.ahk(本来はトラックポイント用)を改造して
Wheel Ballと同等な操作感にしたものを使っているけど
#HotkeyInterval と #MaxHotkeysPerInterval を記述しなくていいようになった。
>>982 実行ファイル名で登録しても駄目です
notepadなどでもテストしてみて問題なく登録は出来ていると思います。
>>986 #HotkeyInterval 6000
#MaxHotkeysPerInterval 300
にしても変わりませんでした
常駐ソフトも全部終了させてMouseGestureLだけにしても同じです。
問題が起きるソフトとはWhiteBrowserだけです
このアプリでサムネイル上で右クリックすると、こうなります。
このソフト、なんか他にも挙動がおかしい部分があり、たぶんこのソフトに原因があると思いますが・・
>>988 サンクスです。
#UseHook
#HotkeyInterval 6000
#MaxHotkeysPerInterval 20000
にしてみました
5回中3回は2秒ぐらい遅れますが右クリック成功
後の2回は
>>981と同じ症状が出る感じで安定しません
この対象アプリだけ右クリック(RB_)を感知したらすぐにスレッドを終了させるようにすれば行けるかも?
と思ったのですがどこを弄ればいいのか分かりません。
MG_Abort()
MG_Cancel()
をこのアプリに割り当てても駄目です
>>981は0.374秒の間に2001回の異常なキー入力が有ったので中断しているってこと。
つまり、WhiteBrowserを右クリックするとWhiteBrowserが異常な仮想キー操作を行っている可能性がある。
なので作者さんに聞いた方が解決するんじゃないかな。
ここはAutoHotkeyのスレであって
アプリ(MouseGestureL)の質問されても困るのだが・・・。
ここの住人が全員使ってるわけでもないし。
全く関係ないわけじゃないし別にいいんじゃないの?
2,3日で1スレ埋まるようなスレでもないし
>>990 微妙にスレ違いですみません サンクスです。
MouseGestureLを切ると 右クリックも問題ないため
MouseGestureLだけで解決できるかと思っていましたが難しそうですね
作者氏に聞くかWhiteBrowser使用を止めたいと思います。
他にも挙動がおかしな所がありますし
>>974 ありがとうございます。
アドバイスを参考に似たコードで試してみました
F13 & z::
SetKeyDelay, 1000, 1000
MouseGetPos, , , window
ControlSend, , {Ctrl Down}{p Down}{p Up}{Ctrl Up}, ahk_id %window%
return
やはり動きません。
Ctrlは押されて離されるのですが、Pが送信できていないようです。
AHKのKeyHistoryを確認してみましたが、ログがありませんでした。
(ControlSendの入力はログに残らない?)
>>994 違うショートカットキーを試して何をしたいのかよくわからんけど
setkeydelayのそれぞれの値は50〜100くらいにすれば概ね動くようになるよ
1000(1秒)とかにしたら動作がもたつくだけ
それはおいといて縦に最大化させたいだけなら↓でもいける
MouseGetPos, , , window
wingetpos, x, , w, , ahk_id %window%
winmove, ahk_id %window%, , x, 0, w, A_ScreenHeight
AHKでアプリごとに設定したショートカットがいい加減覚えきれなくなってきたんだけど
.ahkファイルを読み取ってショートカットやコメントを読みやすい
HTMLの一覧表にコンバートしてくれるツールってないですか?
ahkで自作したまえ
RegExもFileRead/Apendもサポートされている
>>994 ControlSendの入力はControlに直接送っているのでログに残らない
ショートカットに関しては根本的なところが間違っている
Windows7のショートカット(縦に最大化 Win + Shift + ↑)
これはOSの機能であって対象Controlの機能ではない
直接対象に入力しても送り先が間違っているので機能するわけがない。
ショートカットを実行したいだけなら Send,#+{Up}
マウス下のウインドを対象にしたいなら
>>995 のように機能自体を書く
MGL使ってるんだけど、pluginのscript内で「menu, tray, icon, 〜」したiconを
MGL本体のtray iconとは別に独立したtray iconとして表示させる事出来ます?
(プロセスがMGLの一つに対し、tray iconを二つにする、という意味)
今の状態だと、MGL本体のtray iconがpluginのscriptで
記述したiconに変わってしまうので宜しくないんですよ。
あああ、もうこのスレも終了なので新スレの方でもう一度質問書かせて下さい。
どうぞ皆様お願いします。
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。