AutoHotkey スレッド part25 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ f977-fKjf)
2017/09/14(木) 11:52:40.84ID:uijNj4qb0■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part24
http://egg.2ch.net/test/read.cgi/software/1487149472/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
966名無しさん@お腹いっぱい。 (アウアウカー Sa43-yWYL)
2018/04/22(日) 22:44:07.12ID:10Ec/CBsa loop内からif式でブレイクなんてのもある。まぁ好きなの使えばいいよ
967名無しさん@お腹いっぱい。 (ワッチョイ 1735-9jjH)
2018/04/23(月) 08:25:10.44ID:O5Q2FlPe0 みなさま、回答ありがとうございます
参考にさせてもらいます
参考にさせてもらいます
968名無しさん@お腹いっぱい。 (ワッチョイ 5a2e-wGau)
2018/04/23(月) 17:57:46.27ID:AE7Q4/Eb0 要望があったのでJTKモドキの専用のブログ作りました。今後更新はこちらですることにします。
http://gamepadtokeybordframework.blogspot.jp/2018/04/gamepadtokeybord.html
http://gamepadtokeybordframework.blogspot.jp/2018/04/gamepadtokeybord.html
969名無しさん@お腹いっぱい。 (ワッチョイ 3ed9-9jjH)
2018/04/23(月) 18:01:29.23ID:pzh5FeO50 ありがとうございます
970名無しさん@お腹いっぱい。 (ワッチョイ 570f-SrKv)
2018/04/23(月) 18:07:00.37ID:e3Qosisv0 >>968
乙
乙
971名無しさん@お腹いっぱい。 (アウアウカー Sa43-yWYL)
2018/04/23(月) 18:25:32.83ID:kj66dibia おお、続けてくれるか!ありがとう!
XboxコントローラーでLRトリガー同時押しできるってだけでも相当助かってるので頑張って
XboxコントローラーでLRトリガー同時押しできるってだけでも相当助かってるので頑張って
972名無しさん@お腹いっぱい。 (ワッチョイ 0eba-HQJO)
2018/04/23(月) 18:43:56.76ID:bXPE8uhS0 トリガー同時押しなんてJTKでもずっと前から出来てるのに何言ってんだこいつ
やたら過度に称賛してる連中自演臭い
やたら過度に称賛してる連中自演臭い
973名無しさん@お腹いっぱい。 (ワッチョイ ba70-Jtac)
2018/04/23(月) 20:57:13.94ID:Gj6VP1R00 まぁ、ここよりもブログに応援コメントしてあげた方が良いだろうね。
974名無しさん@お腹いっぱい。 (ワッチョイ 236c-9XoG)
2018/04/23(月) 21:18:00.96ID:zWCv4IqX0 分かってない質問者来たときに上から偉そうなのがワラワラ涌く以外勢いつかないスレなんだから
この程度の自作自慢ぐらいいちいち締め出すこともないだろうに
噛みつきたいだけのキチガイの言うことなんかほっとけよ
この程度の自作自慢ぐらいいちいち締め出すこともないだろうに
噛みつきたいだけのキチガイの言うことなんかほっとけよ
975名無しさん@お腹いっぱい。 (ワッチョイ ff5d-fvqh)
2018/04/23(月) 21:34:02.76ID:x5JIhAAO0 と、噛みつきたいだけのキチガイが吠えてます
976名無しさん@お腹いっぱい。 (ワッチョイ 57e0-fvqh)
2018/04/24(火) 00:51:31.04ID:K1jVCB+q0 A_OSVersionってWin8までしかサポートしてない?
Windows10であることを取得したい場合なんか方法ある?
Windows10であることを取得したい場合なんか方法ある?
977名無しさん@お腹いっぱい。 (ワッチョイ b75d-9jjH)
2018/04/24(火) 00:57:28.67ID:HNWPsUWl0 MsgBox, %A_OSVersion%
で10.0.16299と表示されたけど
で10.0.16299と表示されたけど
978名無しさん@お腹いっぱい。 (ワッチョイ 57e0-fvqh)
2018/04/24(火) 01:01:20.02ID:K1jVCB+q0 最新版インストーラから入れたら直った、ZIPだと本体が入ってないのな
スレ汚しすまん
スレ汚しすまん
979名無しさん@お腹いっぱい。 (ワッチョイ 0ee0-gKSs)
2018/04/24(火) 21:47:10.94ID:w2d0xl7M0 zip版はAutoHotkeyA32.exe(ANSI 32bit)、AutoHotkeyU32.exe(UNICODE 32bit)、
AutoHotkeyU64.exe(UNICODE 64bit)が入ってるので自分の環境に合うやつを
AutoHotkey.exeにリネームなりコピーなりして使う
AutoHotkeyU64.exe(UNICODE 64bit)が入ってるので自分の環境に合うやつを
AutoHotkey.exeにリネームなりコピーなりして使う
980名無しさん@お腹いっぱい。 (イルクン MM12-ey0r)
2018/04/25(水) 02:45:11.77ID:C2JdtamLM ポータブルマンセー厨だがahkは毎回インストーラ使って入れてるな
.ahkの関連付けされてないと不便だし
.ahkの関連付けされてないと不便だし
981名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 05:12:42.53ID:TT/mbE+J0 すみません初心者の質問です
AキーをCapsLockとSpaceキーの押下状態での分岐ですが
Aキーを単押しの状態は最初のSend, aだけでいいのでしょうか
一応どちらでも動作するのですがもっとスマートに記述する場合どの様にするのがベストですか?
A::
GetKeyState, state, sc03A, P
If state = U
Send, a
Else
GetKeyState, state, sc03A, P
If state = D
Send, ^!+{A}
Else
GetKeyState, state, Space, P
If state = U
Send, a
Else
GetKeyState, state, Space, P
If state = D
Send, +{A}
Return
AキーをCapsLockとSpaceキーの押下状態での分岐ですが
Aキーを単押しの状態は最初のSend, aだけでいいのでしょうか
一応どちらでも動作するのですがもっとスマートに記述する場合どの様にするのがベストですか?
A::
GetKeyState, state, sc03A, P
If state = U
Send, a
Else
GetKeyState, state, sc03A, P
If state = D
Send, ^!+{A}
Else
GetKeyState, state, Space, P
If state = U
Send, a
Else
GetKeyState, state, Space, P
If state = D
Send, +{A}
Return
982名無しさん@お腹いっぱい。 (ワッチョイ b7f3-9jjH)
2018/04/25(水) 05:35:11.89ID:pC9fkv9h0 >>981
普通にコンビネーションキーじゃダメなのか?
普通にコンビネーションキーじゃダメなのか?
983名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 06:20:19.60ID:TT/mbE+J0 >>982
嫌です
嫌です
984名無しさん@お腹いっぱい。 (ワッチョイ f697-9jjH)
2018/04/25(水) 06:27:05.95ID:RVBw9LmG0 >>981
そもそもIfとElseの使い方も滅茶苦茶
もう少し基本のサンプルコード良く見て基本中の基本を自力で理解した方が良い
そのスクリプト実行すると「a」を一回押しただけで「aa」が入力されるしな
そもそもIfとElseの使い方も滅茶苦茶
もう少し基本のサンプルコード良く見て基本中の基本を自力で理解した方が良い
そのスクリプト実行すると「a」を一回押しただけで「aa」が入力されるしな
985名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 08:08:05.11ID:TT/mbE+J0 >>984
指摘されて気付いたけどaが2回押されてた
ソフト側でaキーでトグルされる設定がワンセットあったので気づかなかった
詳しくは割愛するが実際に動作に支障がない状態にあった
2つ目はとりあえず消すことで対処出来たけど
とりあえず、書き方がめちゃくちゃと言われたので
ひとまず単純に分岐を1つにして書き方を変えてみた
Ifで条件に一致したときに実行させて一致しない時にElseで分岐でいいのかな?
この場合だとわざわざIf state = U で押上状態を取得しなくていいの?
あと、ifは1行ならカッコで閉じなくていい?閉じるべき?
単一コマンドはElseの直後に絶対書くべき?
↓一応これで意図した動作はします
A::
GetKeyState, state, sc03A, P
If state = D
Send, ^!+{A}
Else Send, a
Return
指摘されて気付いたけどaが2回押されてた
ソフト側でaキーでトグルされる設定がワンセットあったので気づかなかった
詳しくは割愛するが実際に動作に支障がない状態にあった
2つ目はとりあえず消すことで対処出来たけど
とりあえず、書き方がめちゃくちゃと言われたので
ひとまず単純に分岐を1つにして書き方を変えてみた
Ifで条件に一致したときに実行させて一致しない時にElseで分岐でいいのかな?
この場合だとわざわざIf state = U で押上状態を取得しなくていいの?
あと、ifは1行ならカッコで閉じなくていい?閉じるべき?
単一コマンドはElseの直後に絶対書くべき?
↓一応これで意図した動作はします
A::
GetKeyState, state, sc03A, P
If state = D
Send, ^!+{A}
Else Send, a
Return
986名無しさん@お腹いっぱい。 (ワッチョイ ba70-Jtac)
2018/04/25(水) 08:17:14.96ID:FDOLZigg0 まぁ、好みの問題だと思う。
俺は、
if(GetKeyState("sc03A","P")){
} else {
}
で書く方が好き。
俺は、
if(GetKeyState("sc03A","P")){
} else {
}
で書く方が好き。
987名無しさん@お腹いっぱい。 (ワッチョイW 9ac6-ey0r)
2018/04/25(水) 08:22:27.28ID:cS31dOM80 動作仕様の説明なしでコードだけ貼られても意図した動作
(capsやスペース押下でどうしたいのか) そのものが他人にはわからんのだが
(capsやスペース押下でどうしたいのか) そのものが他人にはわからんのだが
988名無しさん@お腹いっぱい。 (ワッチョイ f697-9jjH)
2018/04/25(水) 08:27:29.40ID:RVBw9LmG0989名無しさん@お腹いっぱい。 (ワッチョイ ba70-Jtac)
2018/04/25(水) 08:29:03.76ID:FDOLZigg0 >>985
結局、Spaceキーはどうでも良かったわけね
結局、Spaceキーはどうでも良かったわけね
990名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 08:45:52.16ID:TT/mbE+J0 >>986
ありがとうございます
参考にします
985はひとまずって言ってるでしょ
>>987
>>988
CapsLock押下+aキーは Send, ^!+{A}
Space押下+aキーは Send, +{A}
aキーは aキー
で最初の質問での分岐はこうなった
これでaキーの単独押しをわざわざ条件から指定せず単純に分岐するだけでよくなった
A::
GetKeyState, state, sc03A, P
If state = D
{
Send, ^!+{A}
Return
}
GetKeyState, state, Space, P
If state = D
Send, +{A}
Else Send, a
Return
ありがとうございます
参考にします
985はひとまずって言ってるでしょ
>>987
>>988
CapsLock押下+aキーは Send, ^!+{A}
Space押下+aキーは Send, +{A}
aキーは aキー
で最初の質問での分岐はこうなった
これでaキーの単独押しをわざわざ条件から指定せず単純に分岐するだけでよくなった
A::
GetKeyState, state, sc03A, P
If state = D
{
Send, ^!+{A}
Return
}
GetKeyState, state, Space, P
If state = D
Send, +{A}
Else Send, a
Return
991名無しさん@お腹いっぱい。 (ペラペラ SD5a-QOzY)
2018/04/25(水) 08:57:54.27ID:Uuym80WnD 続きはblogでやるからみんなみてね
992名無しさん@お腹いっぱい。 (アウアウカー Sa43-yWYL)
2018/04/25(水) 09:05:46.23ID:2q8Y67NRa 過疎になるわけだ
993名無しさん@お腹いっぱい。 (ワッチョイ 9a67-a93V)
2018/04/25(水) 09:29:19.28ID:ehxQscQV0 >>985
> Ifで条件に一致したときに実行させて一致しない時にElseで分岐でいいのかな?
OK
> この場合だとわざわざIf state = U で押上状態を取得しなくていいの?
押上を待ちたかったり、押上た時になにかしたいのでなければいらない
> あと、ifは1行ならカッコで閉じなくていい?閉じるべき?
> 単一コマンドはElseの直後に絶対書くべき?
究極的には趣味の問題だけど、初心者のうちはifやelseの後は必ず{}にしといたほうが無難
それとスマートさを求めるなら、If分岐を整理するのもそうだけど
>>988が言ってるCapsLockやSpaceが入力されてるのをどうにかするのが先だと思う
どんなソフトで試してるのか知らないけど、余計なキー入力は誤動作の元だから
KeyWaitを使って横取りするか、コンビネーションキーを使うのが早い
コンビネーションキーが嫌なら、あえてその理由を解消する方向でスクリプトを考えてみるのが楽な場合もある
ただ、今の時点で期待通りに動いてるなら
下手にいじらないのもひとつの手
初心者の自覚があるならなおさら
> Ifで条件に一致したときに実行させて一致しない時にElseで分岐でいいのかな?
OK
> この場合だとわざわざIf state = U で押上状態を取得しなくていいの?
押上を待ちたかったり、押上た時になにかしたいのでなければいらない
> あと、ifは1行ならカッコで閉じなくていい?閉じるべき?
> 単一コマンドはElseの直後に絶対書くべき?
究極的には趣味の問題だけど、初心者のうちはifやelseの後は必ず{}にしといたほうが無難
それとスマートさを求めるなら、If分岐を整理するのもそうだけど
>>988が言ってるCapsLockやSpaceが入力されてるのをどうにかするのが先だと思う
どんなソフトで試してるのか知らないけど、余計なキー入力は誤動作の元だから
KeyWaitを使って横取りするか、コンビネーションキーを使うのが早い
コンビネーションキーが嫌なら、あえてその理由を解消する方向でスクリプトを考えてみるのが楽な場合もある
ただ、今の時点で期待通りに動いてるなら
下手にいじらないのもひとつの手
初心者の自覚があるならなおさら
994名無しさん@お腹いっぱい。 (ワッチョイ f697-9jjH)
2018/04/25(水) 10:03:07.10ID:RVBw9LmG0 >>990
Spaceとaを押したときにAの前にスペースが送られてるのも意図的にやってるのであれば
a::
GetKeyState, state, Space, P
If state = D
Send, +{A}
Else Send, a
Return
↑この6行と
~Space & a::Send, +a
の一行で動作は同じだろう
なぜコンビネーションキーではダメなのか知らんが
スマートに記述するならこっちの方がスマート
Spaceとaを押したときにAの前にスペースが送られてるのも意図的にやってるのであれば
a::
GetKeyState, state, Space, P
If state = D
Send, +{A}
Else Send, a
Return
↑この6行と
~Space & a::Send, +a
の一行で動作は同じだろう
なぜコンビネーションキーではダメなのか知らんが
スマートに記述するならこっちの方がスマート
995名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 10:31:32.03ID:TT/mbE+J0 >>993
ありがとうございます
元々Photoshop等同系ソフトの共通コマンドを同じキーにするための
単なるリマップでしたが、複数のコードをひとまとめにしたかったのがきっかけですです
内容的には押しにくいキーを押しやすくしてるのものです
単純に押しやすいものでも操作の流れ上押しにくかったりするので。
ちなみに、左の小指をCapsLockに固定、親指をSpaceに固定が理想です
~Space & W::Send, +{W}
~Space & S::Send, +{S}
~Space & A::Send, +{A}
~Space & D::Send, +{D}
~sc03A & W::Send, +{W}
~sc03A & S::Send, +{S}
~sc03A & A::Send, +{A}
~sc03A & D::Send, +{D}
Spaceキーは以前単純にリマップしてたときより理想的な動作になってるのですが...
Spaceキー押しっぱなしで次に押したいSpace+◯が動作出来るようになったので
CapsLockはUSキーボードですが、Shift+CapsLockでON、OFF + 単推しでのOFFにしています
ただし、Photoshop等ではCapsLock単体はsc03A::Returnで無効化しています
一応、CapsLockが送信されてることは確認していますが
意図せずオンオフになったりLEDがチラつくこともないです...
ただ、これが意図した動作だとしても書き方がおかしいようなら
もう少し考えます
ありがとうございます
元々Photoshop等同系ソフトの共通コマンドを同じキーにするための
単なるリマップでしたが、複数のコードをひとまとめにしたかったのがきっかけですです
内容的には押しにくいキーを押しやすくしてるのものです
単純に押しやすいものでも操作の流れ上押しにくかったりするので。
ちなみに、左の小指をCapsLockに固定、親指をSpaceに固定が理想です
~Space & W::Send, +{W}
~Space & S::Send, +{S}
~Space & A::Send, +{A}
~Space & D::Send, +{D}
~sc03A & W::Send, +{W}
~sc03A & S::Send, +{S}
~sc03A & A::Send, +{A}
~sc03A & D::Send, +{D}
Spaceキーは以前単純にリマップしてたときより理想的な動作になってるのですが...
Spaceキー押しっぱなしで次に押したいSpace+◯が動作出来るようになったので
CapsLockはUSキーボードですが、Shift+CapsLockでON、OFF + 単推しでのOFFにしています
ただし、Photoshop等ではCapsLock単体はsc03A::Returnで無効化しています
一応、CapsLockが送信されてることは確認していますが
意図せずオンオフになったりLEDがチラつくこともないです...
ただ、これが意図した動作だとしても書き方がおかしいようなら
もう少し考えます
996名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 10:43:10.93ID:TT/mbE+J0 ついでにCapsLockの動作のコードはこんな感じです
タイマーでもOFFになるようにしておりました
たぶんすごく不自然なことやってるんだと思いますがこれで意図した状態のことが出来てます
SetStoreCapslockMode, off
SetTimer, Timer05, 1000
;------------------------
~LShift & sc03A::
Send, {CapsLock}
Timer05:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
sc03A::
GetKeyState, state, CapsLock, T
If state = D
SetCapsLockState, OFF
GetKeyState, state, CapsLock, P
If state = U
SetCapsLockState, OFF
Return
タイマーでもOFFになるようにしておりました
たぶんすごく不自然なことやってるんだと思いますがこれで意図した状態のことが出来てます
SetStoreCapslockMode, off
SetTimer, Timer05, 1000
;------------------------
~LShift & sc03A::
Send, {CapsLock}
Timer05:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
sc03A::
GetKeyState, state, CapsLock, T
If state = D
SetCapsLockState, OFF
GetKeyState, state, CapsLock, P
If state = U
SetCapsLockState, OFF
Return
997名無しさん@お腹いっぱい。 (ワッチョイ f697-9jjH)
2018/04/25(水) 10:47:25.65ID:RVBw9LmG0 >>983は何だったんだ
998名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 10:49:12.47ID:TT/mbE+J0 >>995はちょっと訂正
~sc03A & W::Send, ^!+{W}
~sc03A & S::Send, ^!+{S}
~sc03A & A::Send, ^!+{A}
~sc03A & D::Send, ^!+{D}
~sc03A & W::Send, ^!+{W}
~sc03A & S::Send, ^!+{S}
~sc03A & A::Send, ^!+{A}
~sc03A & D::Send, ^!+{D}
999名無しさん@お腹いっぱい。 (ワッチョイ b7e3-9jjH)
2018/04/25(水) 10:56:10.09ID:YVL3wDrE0 それで良いなら嫌ですとか言うなよ
1000名無しさん@お腹いっぱい。 (ワッチョイ 5a87-Xe54)
2018/04/25(水) 10:59:43.24ID:TT/mbE+J0 CapsLockが送信されてるのは言われるまで送信されてるのがおかしいとは思っていなかったですが
とりあえず、状態を取得してもその後Ifでon,off出来なかったのでこんな事になってます
CapsLockがトリガーなら大丈夫なのですが、~LShift & sc03Aをトリガーにすると何故か動作しないので
CapsLockを送って処理してる次第です。
とりあえず、状態を取得してもその後Ifでon,off出来なかったのでこんな事になってます
CapsLockがトリガーなら大丈夫なのですが、~LShift & sc03Aをトリガーにすると何故か動作しないので
CapsLockを送って処理してる次第です。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 222日 23時間 7分 3秒
新しいスレッドを立ててください。
life time: 222日 23時間 7分 3秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 高市政権、米国産ジャガイモ輸入解禁協議、最終工程へ [バイト歴50年★]
- 「民主改革の会」支持率0%、中道改革連合が政党交付金の未交付分11億円受領「納得できない」80%…読売世論調査 [煮卵★]
- 米の中距離弾撤去、日本に要求 ロシア [首都圏の虎★]
- 【速報】農水省によると、コメ5キロの平均店頭価格が2年ぶりに2000円台となった [蚤の市★]
- 副大臣に今井絵理子氏ら 政務官に生稲晃子氏、森下千里氏ら 第3次高市改造内閣 官房長官が名簿を発表【全員掲載】★3 [煮卵★]
- 【おしり】駅のエスカレーターで女性の尻触る 男「これで勘弁して」2千円差し出し立ち去る 尼崎 [nita★]
- 患者・医師団体、ロキソニン等を保険適用外にした高市早苗にブチギレ「患者の99%が38円で貰えた薬が1800円に」「無いと仕事にならない」 [856698234]
- 🖐( -᷄ὢ)お前に>>2の>>3は無理だ……
- 【速報】『みいちゃんと山田さん』アニメ製作委員会、声明を発表「差別する意図はない」 うおおおおおおお!!!! [746833765]
- 【悲報】イタリア人、“冷凍パスタ”に怒り心頭ww「お前らは俺らがお米を凍らせたらどう思う?」
- 【画像】「ふふっ・・・♪お花さん・・・♡おはよう・・・♡」
- バス運転手「日本人はクレーム・カスハラばかりの糞客だから辞めます😪。日本人は性格悪いゴミ民族😠」 [441660812]