!extend:vvvvv:1000:512
!extend:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part28
https://egg.5ch.net/test/read.cgi/software/1585906506/
■日本語解説等
AutoHotkey Wiki
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt
※テンプレここまで
VIPQ2_EXTDAT: default:default:1000:512:: EXT was configured
探検
AutoHotkey スレッド part29
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2021/05/12(水) 06:27:46.35ID:d0RqdHRN02021/08/24(火) 18:18:45.52ID:Hp5kGUoJ0
固定キー機能のことですかね?そちらは設定していないです。
とりあえずそもそもautohotkeyではなく、powertoyを使って右altを無変換キーに割り当てました。
これで代用しようと思います
とりあえずそもそもautohotkeyではなく、powertoyを使って右altを無変換キーに割り当てました。
これで代用しようと思います
2021/08/24(火) 18:19:15.90ID:Hp5kGUoJ0
>>175
ありがとうございます!試してみます!
ありがとうございます!試してみます!
2021/08/25(水) 02:27:14.32ID:d/ZoxKx70
>>177
直接の対処法じゃないけど、押しっぱの時にTooltipが出るスクリプトを使うと視覚で分かるようになる
AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182
10年以上前のだけど今でも動く
デフォだと[Ctrl][Shift][Alt][Win]の3秒以上の押しっぱなしで発動される
直接の対処法じゃないけど、押しっぱの時にTooltipが出るスクリプトを使うと視覚で分かるようになる
AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182
10年以上前のだけど今でも動く
デフォだと[Ctrl][Shift][Alt][Win]の3秒以上の押しっぱなしで発動される
2021/08/25(水) 12:46:30.10ID:IBOXHB9F0
>>178
マウスポインタ化に出るんですね!とてもわかり易いです ありがとうございます
マウスポインタ化に出るんですね!とてもわかり易いです ありがとうございます
2021/08/26(木) 15:09:11.08ID:d56h32eE0
>>175
ちなみにこれを順々に試していき、SendPlayで無変換送信でしたら大丈夫になりました。
;;;altとXで無変換
!x::
SendPlay,{vk1Dsc07B}
return
出るタイミングが
>Sendコマンドが完了する前に物理キーが押下解除されてしまっている場合がある。
の通りで、alt+Xのボタンをすぐに離すと必ずaltだけ残り続ける状態でした。
・#InstallKeybdHook→効果なし
・SendInput→効果なし
・SetKeyDelay, 0→効果なし でした。
また、windowsキーとのコンビネーションの割当の際もwinキーが押しっぱなしになってしまう事があるのですが、そちらは逆にSendPlayでは解決されず普通にSendの方が良いようです
AHKとても難しいですね、、一応少しだけ解決したので書いておきます
ちなみにこれを順々に試していき、SendPlayで無変換送信でしたら大丈夫になりました。
;;;altとXで無変換
!x::
SendPlay,{vk1Dsc07B}
return
出るタイミングが
>Sendコマンドが完了する前に物理キーが押下解除されてしまっている場合がある。
の通りで、alt+Xのボタンをすぐに離すと必ずaltだけ残り続ける状態でした。
・#InstallKeybdHook→効果なし
・SendInput→効果なし
・SetKeyDelay, 0→効果なし でした。
また、windowsキーとのコンビネーションの割当の際もwinキーが押しっぱなしになってしまう事があるのですが、そちらは逆にSendPlayでは解決されず普通にSendの方が良いようです
AHKとても難しいですね、、一応少しだけ解決したので書いておきます
2021/08/26(木) 15:49:26.22ID:XXFTp4YY0
その現象って一部のUSBキーボードでなりやすいんだよなあ
PS/2と違って送信方法が単純じゃないから
PS/2と違って送信方法が単純じゃないから
2021/08/26(木) 15:57:35.17ID:XBrrwwWG0
PS/2キーボードでもなるぞ
要は「一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構」と指離すタイミングの問題なので
要は「一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構」と指離すタイミングの問題なので
2021/08/26(木) 16:29:48.34ID:XXFTp4YY0
少なくともうちでは同じスクリプトでPS/2だとならない
まあ全部が全部同じ理由じゃないんだろうけど
まあ全部が全部同じ理由じゃないんだろうけど
2021/08/29(日) 17:29:18.26ID:5MF1Oa7A0
最終的にctrl shift end のキーを出力させたいです。
endキーはF13 & M でバインドしてます。なので、実際には
ctrl shift F13 M
と打ったときに上の通りに出力させる記述はなに?となります。
かれこれ、色々2週間試してギブアップ。
3つ同時はよく掲載されているからいけますけど4つ同時押しがうまくいきません。
すごいひとおねがいします。
endキーはF13 & M でバインドしてます。なので、実際には
ctrl shift F13 M
と打ったときに上の通りに出力させる記述はなに?となります。
かれこれ、色々2週間試してギブアップ。
3つ同時はよく掲載されているからいけますけど4つ同時押しがうまくいきません。
すごいひとおねがいします。
2021/08/29(日) 17:53:11.06ID:XgfVZOXH0
>>184
なんか説明が下手過ぎて分かりにくいんだがとりあえず
>endキーはF13 & M でバインドしてます。
ってことなので
F13 & M::Send,{Blind}{End}
にすればctrl shift F13 M を押した時は ctrl shift end のキーを出力になるんじゃね
なんか説明が下手過ぎて分かりにくいんだがとりあえず
>endキーはF13 & M でバインドしてます。
ってことなので
F13 & M::Send,{Blind}{End}
にすればctrl shift F13 M を押した時は ctrl shift end のキーを出力になるんじゃね
2021/08/29(日) 19:11:11.31ID:5MF1Oa7A0
>>185
わかりにくくてすみません。
Excelの ctrl shift end ショートカットを使用したいのですけどもうまくいきません。
おしえていただいた記述ではうまくいきませんでした。
End = F13 & M::Send, {Blind}{End}
この記述は既に設定済みとしています。
ctrl shift ここで F13 & Mとしてもうまく行かなくて。
getkeystate 関数だと3つ同時押ししか成功しないので、詰まりました。
なにかヒントでもいただけますか?
わかりにくくてすみません。
Excelの ctrl shift end ショートカットを使用したいのですけどもうまくいきません。
おしえていただいた記述ではうまくいきませんでした。
End = F13 & M::Send, {Blind}{End}
この記述は既に設定済みとしています。
ctrl shift ここで F13 & Mとしてもうまく行かなくて。
getkeystate 関数だと3つ同時押ししか成功しないので、詰まりました。
なにかヒントでもいただけますか?
2021/08/29(日) 19:15:24.36ID:XgfVZOXH0
>>186
End = ってなんだよ?
お前が書いてるスクリプトをそのまま貼れ
本当に{Blind}が入ってるならctrl shift の修飾キーは押したまま出力される
だからまず>endキーはF13 & M でバインドしてます。
この部分をお前がどうやって書いてるのか改変せずにコピペしろ
End = ってなんだよ?
お前が書いてるスクリプトをそのまま貼れ
本当に{Blind}が入ってるならctrl shift の修飾キーは押したまま出力される
だからまず>endキーはF13 & M でバインドしてます。
この部分をお前がどうやって書いてるのか改変せずにコピペしろ
2021/08/29(日) 20:45:32.97ID:rWCSK8gT0
本筋と外れるけどF13はどうやって出力しているの?
ChangekeyなどでCapsなどを割り当ててる場合
Nキーロールオーバー非対応のキーボードの同時押し制限で
引っかかってる可能性もあるのでは?
ChangekeyなどでCapsなどを割り当ててる場合
Nキーロールオーバー非対応のキーボードの同時押し制限で
引っかかってる可能性もあるのでは?
2021/08/29(日) 20:57:04.15ID:XgfVZOXH0
2021/08/29(日) 20:58:09.53ID:XgfVZOXH0
書き間違い訂正
正) G600でサイドボタンにF13割り当ててるので
正) G600でサイドボタンにF13割り当ててるので
2021/08/29(日) 21:42:09.52ID:5MF1Oa7A0
>>187
>>188
めちゃ怒らせてしまい、申し訳ありません。
F13キーは無変換キーへchangekeyを使用して割り当ててます。
End = というのは End を出力させるスクリプトとして F13 & M::Send,{Blind}{End}として出力させていますという意味でした。
同じように Homeを F13 & ,::Send,{Blind}{Home}
としており、Ctrl F13 N キーを押すとExcelのショートカット Ctrl Homeとして機能します。
上は同時押し3つで機能していますが、これにShiftを加えたような、Ctrl Shift F13 Mだと Ctrl Shift End のようになりません。ログを見るとEndが出力されていないことになっています。
手抜き表現で伝えきれずすみませんでした。
>>188
めちゃ怒らせてしまい、申し訳ありません。
F13キーは無変換キーへchangekeyを使用して割り当ててます。
End = というのは End を出力させるスクリプトとして F13 & M::Send,{Blind}{End}として出力させていますという意味でした。
同じように Homeを F13 & ,::Send,{Blind}{Home}
としており、Ctrl F13 N キーを押すとExcelのショートカット Ctrl Homeとして機能します。
上は同時押し3つで機能していますが、これにShiftを加えたような、Ctrl Shift F13 Mだと Ctrl Shift End のようになりません。ログを見るとEndが出力されていないことになっています。
手抜き表現で伝えきれずすみませんでした。
2021/08/29(日) 21:45:11.68ID:5MF1Oa7A0
訂正。
F13 & ,::{Blind}{Home} は
F13 & N::{Blind}{Home} の記述ミスです。
F13 & ,::{Blind}{Home} は
F13 & N::{Blind}{Home} の記述ミスです。
2021/08/29(日) 21:56:11.06ID:XgfVZOXH0
2021/08/29(日) 22:07:38.00ID:rWCSK8gT0
3キーまで認識して4キーが無理ってことはハードウェア的な同時押し制限っぽくない?
普通は修飾キーはNキーにカウントされないはずだけど おまキーボードなのかも知れんし
一回無変換をckengekeyで元に戻してahkの常駐切った状態で
この辺のツールで確認してみては
https://www.4gamer.net/games/026/G002688/20120302062/
普通は修飾キーはNキーにカウントされないはずだけど おまキーボードなのかも知れんし
一回無変換をckengekeyで元に戻してahkの常駐切った状態で
この辺のツールで確認してみては
https://www.4gamer.net/games/026/G002688/20120302062/
195名無しさん@お腹いっぱい。
2021/08/29(日) 22:19:16.41ID:6pp9aua90 キーボードのキー同時押し数には制限がある
どのキーが同時押しできるかはハードウェアにより異なる
AHKの key history を開いて、目的のキーを同時押しして
ちゃんとキーコードが発生しているか確認するといいよ
(別のプログラムを使わなくても確認できるし、
F13などを使っている場合でも確認できる.)
どのキーが同時押しできるかはハードウェアにより異なる
AHKの key history を開いて、目的のキーを同時押しして
ちゃんとキーコードが発生しているか確認するといいよ
(別のプログラムを使わなくても確認できるし、
F13などを使っている場合でも確認できる.)
2021/08/29(日) 22:31:43.54ID:i07IKwxQ0
1.1.33.10
2021/08/29(日) 22:52:47.71ID:5MF1Oa7A0
ハードウェアの制限は考えになかったです。スクリプトの記述にばかり気がいってました。
検証は明日にしますが、恐らくそれでないかと思います。
ありがとうございます。
検証は明日にしますが、恐らくそれでないかと思います。
ありがとうございます。
2021/08/30(月) 01:12:08.43ID:BRg6p2uO0
>>191
上の人はもうずっと人生にイライラしててこういうところでぶつけなきゃならない可哀想な人なので気にしなくていいよ
上の人はもうずっと人生にイライラしててこういうところでぶつけなきゃならない可哀想な人なので気にしなくていいよ
2021/08/30(月) 01:43:35.22ID:gXVwVWl10
少しばかり強い口調な程度でめちゃ怒るだの人生にイライラだの言って煽ってるヤツはあたおかなのかな
匿名掲示板なんて礼儀無用の場所でそれでも質問に対して的確な回答して貰ってるだけでもありがたく思えよ
匿名掲示板なんて礼儀無用の場所でそれでも質問に対して的確な回答して貰ってるだけでもありがたく思えよ
2021/08/30(月) 08:19:56.75ID:MHqEAORv0
> 礼儀無用の場所
そう思っているのは君だけだよ
そう思っているのは君だけだよ
2021/08/30(月) 08:30:58.23ID:8depfcFg0
なるほど
確かに
確かに
2021/08/30(月) 14:08:04.27ID:qIEcctKd0
>>200
お前失礼な奴だな
お前失礼な奴だな
203名無しさん@お腹いっぱい。
2021/08/31(火) 03:18:35.24ID:6aJLAtX40 まあ、まったりいこうよ。
この問題は、質問者あるいは回答者の態度に本質があるのではなく、
運用の問題のように思う。
「こうなる筈だけどなりません」という質問では、コードにすべてが含まれるので、
問題が再現する最小限のコードを添えて質問されることが望ましい。
そうであれば、質問の情報不足により回答が無駄になることもないし、質問者・回答者の双方にとってよい。
そういう質問の場合は、まずコードを貼るように促す、という運用にするのがよいように思う。
(他の質問の場合は必ずしもコードは必要ない)
次スレから>>1に以下を加えようと思う。
当面はこのレスへのアンカーで代用してください。
「こうなる筈だけどなりません」 という質問の場合は、
問題が再現する最小限のコードを貼って質問してください。
この問題は、質問者あるいは回答者の態度に本質があるのではなく、
運用の問題のように思う。
「こうなる筈だけどなりません」という質問では、コードにすべてが含まれるので、
問題が再現する最小限のコードを添えて質問されることが望ましい。
そうであれば、質問の情報不足により回答が無駄になることもないし、質問者・回答者の双方にとってよい。
そういう質問の場合は、まずコードを貼るように促す、という運用にするのがよいように思う。
(他の質問の場合は必ずしもコードは必要ない)
次スレから>>1に以下を加えようと思う。
当面はこのレスへのアンカーで代用してください。
「こうなる筈だけどなりません」 という質問の場合は、
問題が再現する最小限のコードを貼って質問してください。
2021/08/31(火) 06:29:30.29ID:s0k4Ntk80
昔からずっと言われ続けてるよね
質問するときはまず自分が書いたコード貼りましょうって
質問するときはまず自分が書いたコード貼りましょうって
2021/08/31(火) 08:16:02.45ID:60d7DLCy0
今のテンプレから無くなってるんだな
わからないn大理由 とかのコピペと一緒に削られたんだっけ?
わからないn大理由 とかのコピペと一緒に削られたんだっけ?
2021/08/31(火) 18:00:45.76ID:MH7YEtNP0
削られてはいない
>>1の最後に別リンクとしてテンプレまとめられただけ
>>1の最後に別リンクとしてテンプレまとめられただけ
2021/08/31(火) 18:42:50.06ID:60d7DLCy0
2021/09/01(水) 19:48:57.68ID:cRbv4QOe0
AutoHotkey運用のサポートに向いたツールって何がありますかね?
コマンドが全部登録されているエディタとか
コマンドが全部登録されているエディタとか
2021/09/01(水) 19:56:16.64ID:APEsl0TY0
「AutoHotkey運用のサポート」ってなんじゃ?
2021/09/01(水) 20:45:52.99ID:Ig/nBsG30
エディタの話なら前スレ後半
https://egg.5ch.net/test/read.cgi/software/1585906506/916-921
昔は色々あったけど今はVSCodeでいいんじゃない、みたいな流れ
いずれにしろコーディングやデバッグ用であって保守ツールではないが
ただVSCodeのAHK拡張はいくつがあるけどclassのドットシンタックス対応してるのはあんまりなくて
文脈見て補完してくれるわけじゃないんだよね
pythonやjs級のサジェストを期待するとがっかりするという
https://egg.5ch.net/test/read.cgi/software/1585906506/916-921
昔は色々あったけど今はVSCodeでいいんじゃない、みたいな流れ
いずれにしろコーディングやデバッグ用であって保守ツールではないが
ただVSCodeのAHK拡張はいくつがあるけどclassのドットシンタックス対応してるのはあんまりなくて
文脈見て補完してくれるわけじゃないんだよね
pythonやjs級のサジェストを期待するとがっかりするという
2021/09/03(金) 19:31:15.90ID:e77+MDlJ0
ahk用のエディタは10数年SciTE4AutoHotkey使ってきたからこれ以上に便利なエディタがあっても移行する元気が無い
2021/09/04(土) 08:15:30.49ID:+XwIElDv0
インストーラー版で出来ることが、ポータブル版だと出来ないこととか、
ポータブル版のデメリットって、あったりしますか?
ポータブル版のデメリットって、あったりしますか?
2021/09/04(土) 09:49:19.37ID:4dv8C2Ez0
ない
2021/09/04(土) 10:21:04.34ID:rs/w/ooy0
exeインストーラ版は使ったことないど
zip版にもInstaller.ahkは同梱されてるので自分でインストーラ起動することはできる
ポータブルのまま使おうとすると.ahk関連付けはされないのでAutohotkey.ahk以外のスプリクト実行時に不便さはあるかもしれない
zip版にもInstaller.ahkは同梱されてるので自分でインストーラ起動することはできる
ポータブルのまま使おうとすると.ahk関連付けはされないのでAutohotkey.ahk以外のスプリクト実行時に不便さはあるかもしれない
2021/09/04(土) 10:48:00.69ID:Ih7+qEOD0
インストーラー自体もahkで作ってあるのは面白いよな
ただv2になったら、本体には署名付けた方がいいと思うわ
ただv2になったら、本体には署名付けた方がいいと思うわ
2021/09/04(土) 13:15:54.83ID:zJek2KHC0
217名無しさん@お腹いっぱい。
2021/09/04(土) 22:20:11.21ID:AimzS8BV0 Xbutton1 & Wheelup::send!{Right}
というキー設定をしてしまうとXbutton1が動かなくなりますよね
Xbutton1にチルダをつけると動きだしますがこうしてしまうと上記のスクリプトを実行するとXbutton1が押されてからsend!{Right}
が実行されてしまうんですがXbutton1が押されないようにする方法ってないですかね
Xbutton1::send,{Xbutton1} というスクリプトを用意しておけば問題がないことが多いですが特定のアプリだとその記述だとXbutton1がうまく作動しなくなるのです
というキー設定をしてしまうとXbutton1が動かなくなりますよね
Xbutton1にチルダをつけると動きだしますがこうしてしまうと上記のスクリプトを実行するとXbutton1が押されてからsend!{Right}
が実行されてしまうんですがXbutton1が押されないようにする方法ってないですかね
Xbutton1::send,{Xbutton1} というスクリプトを用意しておけば問題がないことが多いですが特定のアプリだとその記述だとXbutton1がうまく作動しなくなるのです
218名無しさん@お腹いっぱい。
2021/09/05(日) 02:24:26.25ID:PD90xRRj02021/09/05(日) 02:42:10.22ID:ssfg2uHj0
>>217
それはXbutton1を離した瞬間に{Xbutton1 Down}と{Xbutton1 Up}を発行するからだろう
ソフトによってはそれが一瞬過ぎて反応してないのでは?
SetKeyDelay, ,50
とかPressDuration設定しておけば反応するかもしれない
またその特定アプリ限定の機能でサイドボタン押しながらクリックなどの組み合わせコマンドがある場合は
それらも使えなくなる
一行目のコンビネーションキーがあると
Xbutton1::send,{Xbutton1} は Xbutton1 up::send,{Xbutton1} に自動変換されてるので
それはXbutton1を離した瞬間に{Xbutton1 Down}と{Xbutton1 Up}を発行するからだろう
ソフトによってはそれが一瞬過ぎて反応してないのでは?
SetKeyDelay, ,50
とかPressDuration設定しておけば反応するかもしれない
またその特定アプリ限定の機能でサイドボタン押しながらクリックなどの組み合わせコマンドがある場合は
それらも使えなくなる
一行目のコンビネーションキーがあると
Xbutton1::send,{Xbutton1} は Xbutton1 up::send,{Xbutton1} に自動変換されてるので
220名無しさん@お腹いっぱい。
2021/09/05(日) 03:33:46.77ID:4k0gIAxJ0 >>218
>>219
SetKeyDelay設定してもだめでした
動かなくなるアプリはblenderです。今まではloopやGetKeyState、keywait、send,{Xbutton1 down} send,{Xbutton1 up}を組み合わせてXbutton動作を再現できてたんですが
blenderではそれがうまくいきませんでした
blender内ではボタン判定の押下、押上、クリック、ダブルクリックすべて別々にキーボードショートカットが割り当てられるようになっているんですが、この辺の判定がAHKを通してしまうとだめになってしまうようです
AHKを入れても判定がとれるのはボタンの押上部分だけでしたがこれではやりたいことができません
Xbuttonのコンビネーションキー割り当てはすべてのアプリで共通にしてたんですがそれをやめて#ifwinnotactiveでblederを除外してそこでチルダは使わずコンビネーションキーの設定をして動かなくなった両ボタンを
Xbutton1::send,{Xbutton1}
Xbutton2::send,{Xbutton2}
で再設定しblender専用のahkスクリプトを用意して
~Xbutton1 & Xbutton2::send,a
~Xbutton2 & Xbutton1::send,a
とコンビネーションキーにチルダをいれてやりました
blender内ではXbutton自体のショートカットキー割り当てがカテゴリごとに細かくできるためAHK側でXbuttonを使ったコンビネーションキー設定をしてblederで割り当てたXbuttonショートカットがそのまま押されても特に問題がないのでこれでいきます
どうもでした
>>219
SetKeyDelay設定してもだめでした
動かなくなるアプリはblenderです。今まではloopやGetKeyState、keywait、send,{Xbutton1 down} send,{Xbutton1 up}を組み合わせてXbutton動作を再現できてたんですが
blenderではそれがうまくいきませんでした
blender内ではボタン判定の押下、押上、クリック、ダブルクリックすべて別々にキーボードショートカットが割り当てられるようになっているんですが、この辺の判定がAHKを通してしまうとだめになってしまうようです
AHKを入れても判定がとれるのはボタンの押上部分だけでしたがこれではやりたいことができません
Xbuttonのコンビネーションキー割り当てはすべてのアプリで共通にしてたんですがそれをやめて#ifwinnotactiveでblederを除外してそこでチルダは使わずコンビネーションキーの設定をして動かなくなった両ボタンを
Xbutton1::send,{Xbutton1}
Xbutton2::send,{Xbutton2}
で再設定しblender専用のahkスクリプトを用意して
~Xbutton1 & Xbutton2::send,a
~Xbutton2 & Xbutton1::send,a
とコンビネーションキーにチルダをいれてやりました
blender内ではXbutton自体のショートカットキー割り当てがカテゴリごとに細かくできるためAHK側でXbuttonを使ったコンビネーションキー設定をしてblederで割り当てたXbuttonショートカットがそのまま押されても特に問題がないのでこれでいきます
どうもでした
221名無しさん@お腹いっぱい。
2021/09/05(日) 18:54:36.73ID:4k0gIAxJ0 220ですが#ifwinactiveをつけておけば個別にXbutton1の挙動を制御できるのかと思ったのですがそうではなかったようなのでもう一度質問させてください
簡略化していますがこういったスクリプトを用意した場合に問題がおきました
;スクリプト1
#ifwinactive ahk_exe blender.exe
~xbutton1 & xbutton2::return
#if
;スクリプト2
#ifwinnotactive ahk_exe blender.exe
xbutton1::send,{xbutton1}
xbutton1 & xbutton2::return
#if
スクリプト1を先に書くと1の"~xbutton1"のせいでスクリプト2のxbutton1 & xbutton2を実行するとxbutton1が押されてしまいます
2を先に書くと2の"xbutton1 &"のせいでblender内でxbutton1が無効化されてしまいます
スクリプト1のblender内で動く"~xbutton1"の設定がスクリプト2のblender以外で動く"xbutton1 & xbutton2"のスクリプトに影響しないようにはできないですかね?
とりあえずスクリプト1とスクリプト2を2つのahkファイルに分けてそれらを別々に起動した場合は問題は起きなかったのですが
スクリプト全体で使ってる関数や変数の問題もあるのでできればスクリプト1と2は1つのahkファイルにまとめておきたいのです
簡略化していますがこういったスクリプトを用意した場合に問題がおきました
;スクリプト1
#ifwinactive ahk_exe blender.exe
~xbutton1 & xbutton2::return
#if
;スクリプト2
#ifwinnotactive ahk_exe blender.exe
xbutton1::send,{xbutton1}
xbutton1 & xbutton2::return
#if
スクリプト1を先に書くと1の"~xbutton1"のせいでスクリプト2のxbutton1 & xbutton2を実行するとxbutton1が押されてしまいます
2を先に書くと2の"xbutton1 &"のせいでblender内でxbutton1が無効化されてしまいます
スクリプト1のblender内で動く"~xbutton1"の設定がスクリプト2のblender以外で動く"xbutton1 & xbutton2"のスクリプトに影響しないようにはできないですかね?
とりあえずスクリプト1とスクリプト2を2つのahkファイルに分けてそれらを別々に起動した場合は問題は起きなかったのですが
スクリプト全体で使ってる関数や変数の問題もあるのでできればスクリプト1と2は1つのahkファイルにまとめておきたいのです
2021/09/05(日) 19:41:50.32ID:55L6m1mh0
なんかよくわからんけど、こういうことをやりたいのかな?
; エクスプローラー上でX1で押しながらx2でビープ音が鳴るホットキー
#ifwinactive ahk_exe explorer.exe
XButton2::
if (GetKeyState("XButton1", "P")) {
SoundBeep ; 処理内容
}
#ifwinactive
新規ファイルにコピペして試してみて
スクリプト2は考えなくていい
; エクスプローラー上でX1で押しながらx2でビープ音が鳴るホットキー
#ifwinactive ahk_exe explorer.exe
XButton2::
if (GetKeyState("XButton1", "P")) {
SoundBeep ; 処理内容
}
#ifwinactive
新規ファイルにコピペして試してみて
スクリプト2は考えなくていい
2021/09/05(日) 19:49:58.99ID:55L6m1mh0
あ、最後の行に
return
付けといて
return
付けといて
2021/09/05(日) 20:29:46.86ID:JLry4axt0
俺ならこう書くかなー
;blenderのウインドウがアクティブでない時にXbutton1押しながらWheelupするとsend,!{Right}実行する
;winactiveのところは"ahk_class blenderのウインドウクラス"とか色々変えて更にウインドウを限定させると誤爆が減ると思う
#If ! winactive("ahk_exe blender.exe") && GetKeyState("Xbutton1","P")
Wheelup::send,!{Right}
#If
;blenderのウインドウがアクティブでない時にXbutton1押しながらWheelupするとsend,!{Right}実行する
;winactiveのところは"ahk_class blenderのウインドウクラス"とか色々変えて更にウインドウを限定させると誤爆が減ると思う
#If ! winactive("ahk_exe blender.exe") && GetKeyState("Xbutton1","P")
Wheelup::send,!{Right}
#If
2021/09/05(日) 20:32:08.01ID:JLry4axt0
2021/09/05(日) 22:24:46.15ID:XcDcjvby0
> blender内ではボタン判定の押下、押上、クリック、ダブルクリックすべて別々にキーボードショートカットが割り当てられるようになっているんですが、
よく分からんが
xbutton1::xbutton1
や
xbutton1::send,{xbutton1 down}
xbutton1 up::send,{Xbutton1 up}
って明示してもダメなん?
よく分からんが
xbutton1::xbutton1
や
xbutton1::send,{xbutton1 down}
xbutton1 up::send,{Xbutton1 up}
って明示してもダメなん?
2021/09/05(日) 22:28:14.24ID:cGeXKER90
>>226
だからコンビネーションキーの記述があると
Xbutton1::send,{Xbutton1} は Xbutton1 up::send,{Xbutton1} に自動変換されると言ってるだろ
物理的に離したときにソフト的に押して離す動作に変わるんだよ
だからコンビネーションキーの記述があると
Xbutton1::send,{Xbutton1} は Xbutton1 up::send,{Xbutton1} に自動変換されると言ってるだろ
物理的に離したときにソフト的に押して離す動作に変わるんだよ
228名無しさん@お腹いっぱい。
2021/09/06(月) 00:55:31.95ID:lHIcgR9p0 レスどうもです
>>222>>226
AHKでXbutton押しを再現してもblenderはそれの押上状態しか取得しないためだめでした
down up keywait loop どれを組み合わせてもWindowsのXbutton押し判定をAHKはblender内で完全再現できないです
>>224
その方法だとXbutton2が押されているときにのみXbutton1が改変されるのでいけました
参考にして試しに書いてみましたがこれでXbutton2はそのまま動きました
#If winactive("ahk_exe blender.exe") && GetKeyState("Xbutton2","P")
xbutton1::tooltip,a
#if
#If ! winactive("ahk_exe blender.exe") && GetKeyState("Xbutton2","P")
xbutton1::tooltip,b
#if
スクリプト2の部分はあまりにも数が多すぎるのでそのままにしてスクリプト1の部分をすべてこの教えてもらった書式に書き換えました
ありがとうございました
>>222>>226
AHKでXbutton押しを再現してもblenderはそれの押上状態しか取得しないためだめでした
down up keywait loop どれを組み合わせてもWindowsのXbutton押し判定をAHKはblender内で完全再現できないです
>>224
その方法だとXbutton2が押されているときにのみXbutton1が改変されるのでいけました
参考にして試しに書いてみましたがこれでXbutton2はそのまま動きました
#If winactive("ahk_exe blender.exe") && GetKeyState("Xbutton2","P")
xbutton1::tooltip,a
#if
#If ! winactive("ahk_exe blender.exe") && GetKeyState("Xbutton2","P")
xbutton1::tooltip,b
#if
スクリプト2の部分はあまりにも数が多すぎるのでそのままにしてスクリプト1の部分をすべてこの教えてもらった書式に書き換えました
ありがとうございました
2021/09/06(月) 01:18:56.47ID:4sBED/Kj0
その手のロッカージェスチャはMouseGestureLを使うのがいいよ
今まであなたが試行錯誤してきた発動前後の面倒な挙動は
本体側で吸収されるし、基本はGUIで設定できるので、
使いやすい組み合わせを簡単に試せる
今まであなたが試行錯誤してきた発動前後の面倒な挙動は
本体側で吸収されるし、基本はGUIで設定できるので、
使いやすい組み合わせを簡単に試せる
2021/09/06(月) 22:05:44.46ID:lHIcgR9p0
2021/09/06(月) 22:45:58.66ID:LwodLu8u0
オレは右クリックをトリガーにしてマウスを動かす、いわゆるマウスジェスチャーだけMGLの機能に任せて
ロッカーとか長押しとかホイールまわりはイマイチ設定の仕方が分からないので自分で作ったスクリプトをプラグインとして動かしてるな
自分が分かる範囲のものは自分でスクリプト書いとけばメンテもやり易いし
ロッカーとか長押しとかホイールまわりはイマイチ設定の仕方が分からないので自分で作ったスクリプトをプラグインとして動かしてるな
自分が分かる範囲のものは自分でスクリプト書いとけばメンテもやり易いし
2021/09/18(土) 12:19:22.39ID:ng/j12p80
ctrl+a〜z これはInputで押されたかどうかを判定できるんですが
ctrl+alt+a〜z が押されたかどうかを判定できるコマンドってないですか?
ctrl+alt+a〜z が押されたかどうかを判定できるコマンドってないですか?
2021/09/18(土) 12:59:27.17ID:VMnRiOkc0
#if で alt が押されてる場合に限定して ctrl+a〜z が押されたか判定すれば?分からんけど
2021/09/18(土) 15:46:18.09ID:fea/QhDk0
2021/09/18(土) 19:41:15.91ID:8EXsG67t0
s := finddata()
if !s
s := “not found”
を
s := finddata() or “not found”
的に書く技ないの?
if !s
s := “not found”
を
s := finddata() or “not found”
的に書く技ないの?
2021/09/18(土) 20:15:24.42ID:1eBfOOmY0
v1は
a := (a := finddata()) ? a : "not found"
v2なら
a := finddata() || "not found"
a := (a := finddata()) ? a : "not found"
v2なら
a := finddata() || "not found"
2021/09/18(土) 21:02:04.05ID:8EXsG67t0
>>236
ComObjCreate("SAPI.SpVoice").Speak("ありがとう")
ComObjCreate("SAPI.SpVoice").Speak("ありがとう")
2021/09/19(日) 11:47:43.88ID:SWgNsmZ+0
2021/09/19(日) 14:28:30.23ID:4ASdBC8f0
バイバインで無限増殖させてぼろもうけうわあああああああああああああたすけてドラえもん!
2021/09/19(日) 14:30:06.17ID:4ASdBC8f0
ごばばあ〜
2021/09/19(日) 16:45:38.41ID:143zRgid0
三項演算に空欄を作るよりは、冗長な名前が2回出てくる方がマシだな
2021/09/19(日) 20:47:16.12ID:tPiNlk2p0
2021/09/19(日) 20:51:20.30ID:SWgNsmZ+0
244名無しさん@お腹いっぱい。
2021/09/19(日) 23:19:07.82ID:xZ/iOS6m0 AHKに式を区切る文字があったなら、例えば ; だとしたら
;!var
と書けるのだけど
;!var
と書けるのだけど
2021/09/20(月) 07:51:49.54ID:zcF0BCXz0
a := "abc"
, !(a := StrReplace(a,"abc")) ? a := "EMPTY"
msgbox % a
, でできるよ
, !(a := StrReplace(a,"abc")) ? a := "EMPTY"
msgbox % a
, でできるよ
246名無しさん@お腹いっぱい。
2021/09/20(月) 08:14:06.86ID:IJtapnCb0 それは、直前の行が代入等の場合だけでは
MsgBox "AAA"
, !var
とかだとできなそうな
MsgBox "AAA"
, !var
とかだとできなそうな
2021/09/20(月) 08:34:23.13ID:zcF0BCXz0
それは無理だね
msgboxのパラメーター区切りと判断されるから
まあv2待ちってことで
msgboxのパラメーター区切りと判断されるから
まあv2待ちってことで
2021/09/20(月) 09:34:57.73ID:hExcXUe/0
ECMAで言うところの「ASI」に完全依存した言語仕様
249名無しさん@お腹いっぱい。
2021/09/21(火) 15:38:32.43ID:AZf9samG0 なんか、
最新版でTrayTipコマンドが機能しなくなったんだけど、俺だけ?
Windows 10で
最新版でTrayTipコマンドが機能しなくなったんだけど、俺だけ?
Windows 10で
2021/09/22(水) 11:35:13.91ID:x8vNzx8B0
Web検索するスクリプトなんだけど、
エクセルの特定のセルから拾おうとすると末尾にゴミ入ってちゃんと機能してくれない
%20(スペースのこと?)が入ってしまう
セルの内容を他にコピーしてそこから検索すると大丈夫だったりする
うーん
エクセルの特定のセルから拾おうとすると末尾にゴミ入ってちゃんと機能してくれない
%20(スペースのこと?)が入ってしまう
セルの内容を他にコピーしてそこから検索すると大丈夫だったりする
うーん
2021/09/22(水) 11:42:01.24ID:BV+vHBB50
再三言われてるけど、そのスクリプトを明かさない限り
具体的なアドバイスをしようがない
基本的に取得したテキストのごみを取ってからURL変換して
送るのが正しい作法だけど
具体的なアドバイスをしようがない
基本的に取得したテキストのごみを取ってからURL変換して
送るのが正しい作法だけど
2021/09/23(木) 00:14:42.81ID:eXpxQJSa0
>>251
スクリプトいれるとアク禁とか出るわ。。
できるセルとできないセルがあって、
できるセルは値が文字列型になってた
できないセルは数値型になってて、末尾にゴミのようなものが入ってしまう
セルの方はいじれないようなのでうまくゴミ削りたいんだけど、どうしたらいいんだろう
スクリプトいれるとアク禁とか出るわ。。
できるセルとできないセルがあって、
できるセルは値が文字列型になってた
できないセルは数値型になってて、末尾にゴミのようなものが入ってしまう
セルの方はいじれないようなのでうまくゴミ削りたいんだけど、どうしたらいいんだろう
2021/09/23(木) 02:02:02.54ID:Ff3hVZdc0
文字列を操作するコマンドの中から適切なものを選んでゴミを削ればよい
2021/09/23(木) 09:10:16.43ID:eXpxQJSa0
Trim、RTrim、AutoTrimとかで括ってみたんだけどだめだった
数字の文字列だからワイルドカードで連続した数字のみ抽出すればいけるかな
数字の文字列だからワイルドカードで連続した数字のみ抽出すればいけるかな
2021/09/23(木) 11:32:12.49ID:chrHYIv30
2021/09/23(木) 14:17:27.75ID:eXpxQJSa0
2021/09/25(土) 06:59:53.80ID:wuFBpg5l0
非常に初歩的な質問で申し訳ないのだが、
autoitで既に開いているExcel A1セルの値を取得したい場合はどう書くのですか?
autoitで既に開いているExcel A1セルの値を取得したい場合はどう書くのですか?
2021/09/25(土) 14:10:00.34ID:/N8Xvz7U0
>>257
ここはAutoHotKeyのスレだからスレ違い
そもそもAutoItで開いてるんだからAutoItで直接読み取れるはずだろ
よく分からんが「_Excel_RangeRead(AutoItの関数)」使えば取得できるんでは?
ここはAutoHotKeyのスレだからスレ違い
そもそもAutoItで開いてるんだからAutoItで直接読み取れるはずだろ
よく分からんが「_Excel_RangeRead(AutoItの関数)」使えば取得できるんでは?
259名無しさん@お腹いっぱい。
2021/09/26(日) 17:12:16.00ID:J8/n9vQn02021/09/27(月) 05:01:40.50ID:8Tgs9dvV0
書き込み禁止になるんで全角ですまん
ショートカットファイル+パラメータ指定で起動って
run,cmd.exe /c start ”” myapp.lnk arg1 arg2 arg3
よりマシな書き方はないんだろうか
cmd挟むのはあまりにも野暮ったい
ショートカットファイル+パラメータ指定で起動って
run,cmd.exe /c start ”” myapp.lnk arg1 arg2 arg3
よりマシな書き方はないんだろうか
cmd挟むのはあまりにも野暮ったい
2021/09/27(月) 09:11:09.22ID:WeuXMuvh0
run % "c:\notepad.lnk" " c:\foo.txt"
これで問題なくfoo.txtを開けるけど
これで問題なくfoo.txtを開けるけど
2021/09/27(月) 12:38:01.12ID:OXqiLY4y0
>>259
自分が AutoHotKey で最初に感じたのは
記述形式のクセが強いなぁということ
変数の扱い、代入、展開
文字列の扱い方とか
あまりほかには見かけないやり方で自分は戸惑った
AutoItはもっと一般的に感じた
ただどちらも熟知しているわけではない
>どっちが高機能?
というのはできることが同じわけではないし
あまり意味のある比較とは思えない
〜の処理はどちらが速いとか
〜の処理はどちらが書きやすいとかはあると思う
したいことにどちらが向いてるかで考えたほうが良いのでは
自分が AutoHotKey で最初に感じたのは
記述形式のクセが強いなぁということ
変数の扱い、代入、展開
文字列の扱い方とか
あまりほかには見かけないやり方で自分は戸惑った
AutoItはもっと一般的に感じた
ただどちらも熟知しているわけではない
>どっちが高機能?
というのはできることが同じわけではないし
あまり意味のある比較とは思えない
〜の処理はどちらが速いとか
〜の処理はどちらが書きやすいとかはあると思う
したいことにどちらが向いてるかで考えたほうが良いのでは
263名無しさん@お腹いっぱい。
2021/09/27(月) 12:49:55.11ID:2hW8n8kk0 >>262
返信ありがとう。
AutoHotKeyは使いこなしてるので、AutoItに乗り換える意味はあるのかなと?
AutoItでできて、AutoHotKeyにできないことは何かなぁと?
やりたいことは、キー変換や、OSやアプリケーションの操作、とか。
書きやすさや、処理は、自分はC++プログラマーなんで、すぐに習得できると思うので問題なしw。
返信ありがとう。
AutoHotKeyは使いこなしてるので、AutoItに乗り換える意味はあるのかなと?
AutoItでできて、AutoHotKeyにできないことは何かなぁと?
やりたいことは、キー変換や、OSやアプリケーションの操作、とか。
書きやすさや、処理は、自分はC++プログラマーなんで、すぐに習得できると思うので問題なしw。
2021/09/27(月) 18:35:10.11ID:9mJQO55p0
pythonでahkみたいなことできるモジュールあったようなキガス
2021/09/27(月) 18:55:35.79ID:pVCTa+850
ahkは確かに癖強いけど、キー操作の書式が簡便だから好まれてるところだしなあ
その癖もバッチの地獄に比べれば遥かにましよw
その癖もバッチの地獄に比べれば遥かにましよw
2021/09/27(月) 23:28:43.38ID:43CzKKLw0
>>253
その手のツールはフィードバックができないのが問題。
相手がイベントを受け取って処理を完了する前に次のイベントを送り出すと失敗する。
ネトゲのBOTみたいにするには画面の色の変化を認識したりするというような
何らかの代替手段でハンドシェークしないといけない。
そうしないとネットワークの遅延が発生した時に処理が詰まってフリーズとか起きる。
そういった限界の範囲内でお手軽にマクロを組むだけならAHKが最適解だと思う。
その手のツールはフィードバックができないのが問題。
相手がイベントを受け取って処理を完了する前に次のイベントを送り出すと失敗する。
ネトゲのBOTみたいにするには画面の色の変化を認識したりするというような
何らかの代替手段でハンドシェークしないといけない。
そうしないとネットワークの遅延が発生した時に処理が詰まってフリーズとか起きる。
そういった限界の範囲内でお手軽にマクロを組むだけならAHKが最適解だと思う。
267名無しさん@お腹いっぱい。
2021/10/01(金) 09:19:16.74ID:9doC805j0 初心者です 質問があります
右ctrlと\キー同時押しで(C:\Users\AAA\Downloads\)screen off2.exeというプログラムを立ち上げるにはどう書けばよいでしょうか?
右ctrlと\キー同時押しで(C:\Users\AAA\Downloads\)screen off2.exeというプログラムを立ち上げるにはどう書けばよいでしょうか?
2021/10/01(金) 10:00:15.26ID:tvbP8Y4G0
さすがにテンプレのWiki見てくれってレベルだわ
ホットキーの項目とrunの項目見ればすぐわかるよ
多少は自分で試行錯誤しないと何も覚えられないぞ
ホットキーの項目とrunの項目見ればすぐわかるよ
多少は自分で試行錯誤しないと何も覚えられないぞ
2021/10/01(金) 19:07:32.43ID:9doC805j0
ありがとうございます
記事のサンプルと英語のwiki見て試行錯誤したらできました
記事のサンプルと英語のwiki見て試行錯誤したらできました
2021/10/01(金) 19:14:31.39ID:SilJkLXR0
なぜ英語?
2021/10/01(金) 19:24:07.72ID:9doC805j0
日本wikiのキーリストに左altが<!とか書いてなかったので
2021/10/01(金) 19:43:25.30ID:I2smnU7A0
2021/10/01(金) 19:47:02.54ID:krkBSSuS0
>>271
お前がろくに読んでないだけだろ
お前がろくに読んでないだけだろ
2021/10/01(金) 20:08:07.14ID:9doC805j0
http://ahkwiki.net/KeyList 見てたのはこっちですね
https://www.autohotkey.com/docs/KeyList.htm
みたいにKeyListにまとめて書いてあるほうが分かりやすいです よく見るとwikiではなかった
https://www.autohotkey.com/docs/KeyList.htm
みたいにKeyListにまとめて書いてあるほうが分かりやすいです よく見るとwikiではなかった
2021/10/01(金) 20:12:48.29ID:9doC805j0
>>273
口調気をつけたほうがいいですよ
口調気をつけたほうがいいですよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 地方で深刻移動貧困の実態「車のために働いてる」手取り15万円のシンママ月3.2万円が軽自動車維持費★2 [七波羅探題★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★10 [ぐれ★]
- 「中国はメンヘラ」日本企業の本音は「もう生活を壊されるのはゴメンだよ」 [煮卵★]
- 【芸能】カズレーザー 相次ぐ中国での公演中止に「これは日本人がやられている。中国全体で考えたら…」「日本側のダメージが大きく」 [冬月記者★]
- SNSを一触即発の“地雷原”に変えた「叩き活」の正体…推し活よりも“嫌いな相手を叩く”ことに快感を覚えるのはなぜか [おっさん友の会★]
- 【ファッション】「同級生に笑われたことも」現役女子大生が「全身レギンス姿」で大学に通う理由…日本に「アスレジャー」は定着するのか [湛然★]
