探検


AutoHotkey スレッド part33

■ このスレッドは過去ログ倉庫に格納されています
2024/01/23(火) 16:30:58.38ID:VpJPb0gB0
■公式サイト
https://www.autohotkey.com/

■解説等
・v1.1
AutoHotkey Wiki
http://ahkwiki.net/Top

・v2
クイックリファレンス|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/
v1.1からの変更|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/v2-changes.htm

■前スレ
AutoHotkey スレッド part30 IDのみ
https://egg.5ch.net/test/read.cgi/software/1644313099/
2024/04/25(木) 20:02:22.55ID:qwj88I6c0
v2のクラスメソッドってどう書くの?
廃止になっちゃったの?

class MyClass
{
Add(a,b)
{
return a + b
}
}

MsgBox(MyClass.Add(10,20))
2024/04/25(木) 20:44:46.03ID:V++ok1f30
その記述の場合、インスタンス化する必要があります
MC := MyClass()
MsgBox(MC.Add(10,20))

MyClassを直接参照するならクラス内の全てのメソッドとプロパティにstaticを宣言し、MyClassをシングルトンにする必要があります
class MyClass{
static Add(a,b){
return a + b
}
}
MsgBox(MyClass.Add(10,20))
2024/04/25(木) 21:04:08.39ID:NqE1e19z0
>>572
文字入力時って変換押した後?
なら変換キーでフラグ立てて、フラグ有効の間はショートカット無効
enter押したらショートカット有効にするとかでもできそう

個人的にはキーの見直しをお勧めする
条件次第で変わるショートカットは案外使いにくいよ
2024/04/25(木) 21:59:53.31ID:qwj88I6c0
>>578
できた
ありがとう
581名無しさん@お腹いっぱい。
垢版 |
2024/04/25(木) 23:28:20.18ID:ebBUI0/90
上で書いた長押しが反応しないというのは、下記の長押しした際の動作がききません。
キーボードのキーに割り当てると反応するので、マウスの仕組み上なのかなと思っていますが、
下記以外でも、長押しした場合と、ダブルクリックした場合で動作を変えるスクリプトを教えていただけないでしょうか。
v2です。

XButton2:: ;
{ ; V1toV2: Added bracket
ErrorLevel := !KeyWait("XButton2", "T0.3") ;0.3秒対象キーが押されたかどうか
If(ErrorLevel)
{
send "a" ;ここに任意のコマンド 長押し
ErrorLevel := !KeyWait("XButton2")
Return
}
ErrorLevel := !KeyWait("XButton2", "D T0.2") ;0.2秒対象キーが押されるのを待つ
If(ErrorLevel)
{
send "b" ;ここに任意のコマンド 1度押し
ErrorLevel := !KeyWait("XButton2")
Return
}
Send "c" ;ここに任意のコマンド 2度押し
ErrorLevel := !KeyWait("XButton2")
Return
}
2024/04/26(金) 00:32:07.95ID:sETLCzBx0
みなさんありがとうございます
>>573
574さんが書いてる様に入力時は既にあるんですよね
>>574
基本的には無理なんですね
AHKで難しいのは出来そうに無いレベルです
>>575
wikiは1の物で、そこを特に問題にはしてないです
>>576
お、ありがとうございます
試させて頂きますね
>>579
変換キー押す前も後も全部ですね
既存のショートカットでCtrl+↑(↓)があるので合わせた方が良いと思って

576さんに教えて頂いた物で出来ました
どうもありがとうございました
皆さんもかんがえて頂いてありがとうございました
2024/04/26(金) 13:04:28.77ID:O4uf19cJ0
>>581
少なくとも私の環境ではそのコードで正常に動作します
他の常駐スクリプト(v1v2両方)があれば終了して、その記述だけのテストスクリプトを起動して正常に動作するか試してください
それで正常に動作するなら既存のスクリプトのXButton2ホットキーが干渉しています。そうでなければ他の常駐アプリが干渉している可能性が高いです

マウスの挙動としては、ドライバアプリで変な設定をしているか、チャタリングが発生している という場合でない限り、XButton2の長押しができないということはないと思いますが
確認したいのであれば、ListLines()のみのテストスクリプトを他に常駐スクリプトがない状態で実行して
View → Key history and script info を表示し、F5で更新しつつXButton2を長押しして、正常に認識されているか確認してください

既存スクリプトのタスクトレイアイコンを 右クリック → Open または ダブルクリック でも同様のログを表示でき、前述したテストスクリプトだけのチェックをすっ飛ばして
XButton2押下時の実行ログやKeyhistoryを調べることもできますが、完全にスクリプト構造を理解出来ていないのであれば、個別に順序立てて調べていく方が良いと思います

下記以外でも と言うのは、別のアルゴリズムで同様の動作をするコードという意味でしょうか? そうであるならそれを求める必要性がわかりません
別のアルゴリズムでのコーディングは可能ですが、それによって問題が解決することはないと思われますし
現在のアルゴリズムの方が洗練されていると思うので変える必要はないと思います

とりあえず、アルゴリズムに変化はないですがErrorLevelは冗長なのでクリーンアップした物を提示しておきます
XButton2:: {
if !KeyWait("XButton2", "T0.3") { ; 0.3秒対象キーが押されたかどうか
ToolTip("ここに任意のコマンド 長押し")
KeyWait("XButton2")
return
}
if !KeyWait("XButton2", "D T0.2") { ; 0.2秒対象キーが押されるのを待つ
ToolTip("ここに任意のコマンド 1度押し")
KeyWait("XButton2")
return
}
ToolTip() ; ここに任意のコマンド 2度押し
KeyWait("XButton2")
}
584名無しさん@お腹いっぱい。
垢版 |
2024/04/26(金) 14:21:19.03ID:iAqLP9tU0
USキーボードを普通に認識して刻印通りに入力できる状態で

+2::Send,{"}
@::"

などで一部のキーを109風に割り当てているんだが
右SHIFTだとAutoHotkeyが効かず通常入力になってしまう

RShift::Shift

とすると、キーボードテストサイトなどでは左右どちらも左SHIFTとして
認識するのに、やはり右だとAutoHotkeyが効かず通常入力になってしまう

ならばと試しに >+ にすれば右SHIFTだけで作動するのかと思うと
右SHIFTを押しながらだとAutoHotkeyで置き換えたキーが一切入力できない
どうなっているんだこれ?
2024/04/26(金) 15:46:59.42ID:SoWkdCK70
>>584
2を"に変えるのはAHKの守備範囲外なんじゃないの
レジストリに書くだけのキー変更フリーソフトでできるはず
2024/04/26(金) 16:52:30.70ID:vMLqj+un0
#HotIf WinActive の中でInputBoxを使うと、
InputBoxから抜けた時にWinActiveの条件を満たさなくなって、
以降の処理が無視される
ちゃんと元に戻るにはどうすれば
2024/04/26(金) 17:25:12.73ID:O4uf19cJ0
>>584
#UseHookを使うかホットキーラベルの先頭に$を追加してみてください


>>586
スクリプト内の上から順に#hotifの判定が行われますが、初期設定ではこの判定に1秒以上かかる場合
タイムアウトと判断され、それ以降の#hotif行はすべてfalseを返します
したがって、InputBoxなどの入力待ちするような物はまず正常に動作しません

詳しくはここを読んでください
https://ahkscript.github.io/ja/docs/v2/lib/_HotIfTimeout.htm
2024/04/26(金) 18:00:50.58ID:vMLqj+un0
そんな感じでも無いみたい

対象のウィンドウが特殊みたいで、クリックした状態とフォーカスがある状態が別で、
フォーカスがあるだけだとキー入力が無視される
2024/04/26(金) 18:10:40.52ID:+HzGJ5Hf0
>>586
#HotIf WinActive の中でInputBoxを使うとはどのようなコード?
^!c::
{
a := InputBox("入力してください", "入力").value
MsgBox "Control+Alt+Cを押しました" a
}
このコードで問題ないのでは?
2024/04/26(金) 18:14:53.75ID:+HzGJ5Hf0
サンプルコードをこっちにする
#HotIf WinActive("ahk_class Notepad")
^!c:: {
a := InputBox("入力してください", "入力").value
MsgBox "Control+Alt+Cを押しました" a
}
2024/04/26(金) 18:15:15.38ID:O4uf19cJ0
>>588
ホットキー押下でInputBoxを使用した場合、フォーカスが外れて元のウィンドウに戻らないと言うことであってますか?
そうであるなら、ホットキー押下時点でControlGetFocusを使用してフォーカス位置のhwndを取得しておき、InputBox終了後に戻せば良いです
2024/04/26(金) 18:42:50.47ID:vMLqj+un0
MsgBoxはちゃんと動く
入力した数だけキーを押す、みたいなのが動かなくなる

実際には動いていて、アプリ側が無視してしまう
ウェイトを入れてその間にウィンドウをクリックすると動く
WinActivateでフォーカスを移しただけでは動かない

ControlGetFocus, ControlFocusも試してみる
2024/04/26(金) 18:45:31.58ID:+HzGJ5Hf0
>>584
v2しか使ってないが
$+2::
{
Send "`""
}
$@::
{
Send "`""
}
で右SHIFTでも問題なし
$をつけないと71個のホットキーを短時間に受け取ったというエラーが出る
594名無しさん@お腹いっぱい。 ころころ
垢版 |
2024/04/26(金) 18:45:51.98ID:Wiw+olk50
>>583
ありがとうございます。切り分けしたところ、結論としては
下記の■のコードが邪魔しているようでした。
tooltip知らなかったんですが、便利ですね。
また、ご存知でしたら、下記の■の処理を入れた状態で、
長押しも実現するいい方法がもしわかればお教えください。
どういう分岐で動いているのか理解できないのですが、「XButton2」長押しなのに、
■の処理をまっているのか、長押しがどうさしないです。
=============================
#UseHook ;ホットキーラベルの定義で、常にフックを使用するようにする
■XButton2 & LButton::send "d"
XButton2:: {
if !KeyWait("XButton2", "T0.3") {
send "a" ; 0.3秒対象キーが押されたかどうか
ToolTip("ここに任意のコマンド 長押し")
KeyWait("XButbbcbton2")
return
}
if !KeyWait("XButton2", "D T0.2") {
send "b" ; 0.2秒対象キーが押されるのを待つ
ToolTip("ここに任意のコマンド 1度押し")
KeyWait("XButton2")
return
}
ToolTip("ここに任意のコマンド 2度押し")
SetTimer () => ToolTip(), -1000
send "c" ;
KeyWait("XButton2")
}
2024/04/26(金) 18:58:33.05ID:+HzGJ5Hf0
たぶん2と"が同じキーだから無限ループ呼び出しになった
$をつけると無限ループにならないはず
2024/04/26(金) 19:35:57.03ID:vMLqj+un0
ControlGetFocusもうまく行かないけど、
InputBoxの後でMsgBoxを出すと何故かうまくいく
理由は全然判らない
2024/04/26(金) 20:00:42.60ID:O4uf19cJ0
>>594
XButton2 & LButtonがXButton2の処理を奪っているという状態になります
処理の流れとしてはXButton2押下から離されるまでの間にLButtonが押されなかった時だけXButton2の内容が実行されます
そのため長押しを検出することができません
下記のように~を先頭に追加してください。これはXButton2の処理を奪わないと言う指定になります
~XButton2 & LButton:: send "d"

ただし、この場合XButton2 & LButtonを実行する際にXButton2長押し時の処理が暴発するので#hotifで条件を分けるなどした方が良いです
長押し時の処理が他に影響を及ぼさない物でない限り、同条件下での併用は難しいと思います


>>596
状況や説明が断片的で把握できません。最終的にどうしたいのかもよく分かりません
アプリ側の問題なら聞いても解決できるかは分かりませんが、最終的な目的、対象アプリ、現在のコードかテストコードを提示してください
2024/04/26(金) 20:34:12.12ID:vMLqj+un0
ahkがどうとかではなくて、対象のアプリ固有の話なのだろう
InputBoxとMsgBoxでは抜けた後のフォーカス周りが何か違う
2024/04/27(土) 03:53:22.84ID:yBsfu6Wj0
vscodeのステータスバーにある
行、文字コードあたりの情報を取得する方法ないかな
https://i.imgur.com/fIHkRq1.png
2024/04/27(土) 04:23:55.97ID:vsLeKmXp0
Acc-v2のExamplesが参考になりそうだ
https://github.com/Descolada/Acc-v2/blob/main/Examples/Example5_VSCode_LineColumn.ahk
2024/04/27(土) 11:41:32.12ID:RdXRfe770
>>597
よこですが
XButton2::だけだったらKeyWait(XButton2)がXButton2を待てるが
XButton2 & LButton::が追加されるとKeyWait(XButton2)がXButton2を待てなくなる
XButton2 & LButtonのキーが押されたかどうかを待たないといけなくなったから
ってことかなと思いました。
2024/04/27(土) 12:02:54.56ID:RdXRfe770
文字コードは数が少ないからUTF-8の画像をImageSearch
2024/04/27(土) 12:07:51.46ID:RdXRfe770
copy-current-line-numberというvscode拡張機能
2024/04/27(土) 17:50:02.55ID:H8A7Q3RP0
sleep 1
があるのと無いのとで挙動が全然違う
2024/04/28(日) 10:55:24.30ID:eRcGuMBL0
画像を検索してその真ん中をクリックしたいけど、そのままでは左上になってしまう
画像サイズって取得できる?
2024/04/28(日) 12:26:13.69ID:MuOAnsha0
検索してでてきたのは
ひとつはGui.Add("Picture")つかう方法
www.autohotkey.com/boards/viewtopic.php?t=100320
もうひとつはGdip.ahkつかう方法
2024/04/28(日) 12:42:22.87ID:TThltIsz0
ImageSearchでどうしてもゲームの画像認識が上手く行かなくてさんざん悩んだが
適当に*20にしていたのを*200に変えたら動きました。
2024/04/28(日) 13:32:59.87ID:eRcGuMBL0
一旦表示しておいてそれを取得するということか
時間かかりそうな気がする
609名無しさん@お腹いっぱい。 ころころ
垢版 |
2024/04/28(日) 14:01:24.45ID:N1jPFR5J0
>>585
元々は日本語キーボードと併用でUSキーボードも日本語キーボートとして
誤認した状態の是正と日本語キーボードに寄せるためにAutohotkeyを使い始めた
^6::send, {'}
*&::send, {^}
*'::send, &
*(::send, *
*)::send, (
*+0::send, )
*=::send, ~
*^::send, {+}
*-::send, -
~::send, =
*@::send, [
*`::send, {{}
*[::send, {Return}
*{::send, {}}
*]::send, {Return}
*}::send, |
*+::send, {;}
*;::send, :
+*::send, {}}
*vkBA::send, ]
+Rctrl::Send, {@}
Rctrl::Send, {_}
^Rctrl::send, {\}
RAlt::Send, {vkF3sc029}
+RAlt::Send, {vkF2sc070}
「"」「]」は日本語配列位置に「~」は元と近くて違和感のない位置に
Enter上部2キーは潰してEnterに
「_」は右CTRLに、あふれた「@」と「\」も右CTRLに突っ込んで
右ATLに「半角全角」と「かな」を入れた
610名無しさん@お腹いっぱい。 ころころ
垢版 |
2024/04/28(日) 14:03:22.32ID:N1jPFR5J0
>>585
後にUSキーボードだけになると日本語配列に寄せた部分だけ使いたくなった
それで手探りで↓なった、だが右SHIFTが機能してくれない、今がココ

`::Send, {vkF3sc029}
;+::Send, {\}
;\::`
+2::Send,{"}
@::"
+-::Send,{~}
~::-
]::Send,{Return}
\::Send,{Return}
'::Send,{]}
]::'
+'::Send,{}}
'::}
Rctrl::Send, {_}
_::^
+Rctrl::Send,{@}
^Rctrl::Send,{\}
RShift::Shift
+::>+
RAlt::Send, {vkF3sc029}
+RAlt::Send, {vkF2sc070}

キートップは黒いビニテでそれっぽくしている、とくに好都合だったのは
@を部分的に隠すと"っぽくなるところ
認識だけのためにテキトーな日本語配列のジャンクのミニキーボード
でも入手して繋げて前の設定で使うのが手っ取り早い気もするが
611名無しさん@お腹いっぱい。
垢版 |
2024/04/28(日) 14:28:20.96ID:N1jPFR5J0
ぶっちゃけ右SHIFTを押しながらーで~が入力できるようになってくれればいい
2024/04/28(日) 14:43:41.45ID:1hUHuOpa0
外部拡張使わずに画像の真ん中クリックしたいってことだと思うけど、
検索元画像のwとh割ってimagesearchのxとyに足すのではいかんのか?
2024/04/28(日) 15:07:50.87ID:LSwvUIhZ0
スクリプト起動時か関数初回動作時に画像サイズを1度だけ取得する方法にすれば実行時間を気にする必要はないです

興味があったので、仮に動的に画像を変更するので前もってサイズを取得できないと言う場合だとして、検証してみましたが

Gdipを使う方法だと10000回試行で1回当たり
初期化及び後処理を含める場合、約4ms、サイズ取得のみの場合、約0.25ms
guiを使う方法だと10000回試行で1回当たり
初期化及び後処理を含める場合、約7.5ms、サイズ取得のみの場合、約0.05ms
となりました

いずれにせよ実行時間が問題になることはなさそうです
2024/04/28(日) 15:13:14.67ID:1hUHuOpa0
そういやデフォだと画像からサイズだけを取得する方法がないのか
画像関係は全部拡張頼みだから忘れてたわ
2024/04/28(日) 15:14:19.02ID:LSwvUIhZ0
>>613
追記、imagesearchの時間は含まれていません。画像サイズの取得のみ実行時間です
2024/04/28(日) 23:36:26.82ID:4dWf5M+t0
便利すぎる
いっそ文字列中に書けるようにするか
MySend("RButton", {Sleep:100}, "L", {Sleep:100})
617名無しさん@お腹いっぱい。
垢版 |
2024/04/28(日) 23:54:39.33ID:RHpQb1R50
空振りとれん
2024/04/29(月) 00:45:37.31ID:7ePPfSu90
>>474で出来たと思ったらキートグルだとメモリ開放通っていなかったの巻
Reloadでわざわざ親ごと再起するしかないんか…

ループ中にExitAppかReload送ると暴走するんだよなぁ
619名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 00:51:26.50ID:HN3gUdbl0
ヒロキは話面白いけどな
620名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 00:54:40.58ID:/S3Rntju0
サロンが始まったとこによるのかは分からない、というよりその程度の差がついたんや
VP来月発売やのに完全に小出しにされてるよ
でも俺がそういう契約しとるけど観れんくなるって聞いてなかったのか…
フルポジだから気に食わない理由がわかってれば印象も違っただろうにねえ
621名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 01:07:50.23ID:ClQp/Lo/0
実は事実に困惑
秋の臨時国会に出ないと除名が濃厚らしい。
シジミみたく
毎日毎日何年も何年も
622名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 01:51:12.21ID:CZ6uG05O0
みんなから安すぎるって言われて仕方ない
含み耐え続けるツワモノ共よ
だがしかしここはヲチスレじゃありません。
https://i.imgur.com/8Yq3Kha.png
623名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 01:58:15.56ID:NOFYZHxk0
なんかロボット作って戦わせれる競技あったやろ確か
2024/04/29(月) 02:02:19.22ID:tCZafLN90
利益になる可能性もないしな
625名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:04:57.87ID:tCZafLN90
いきなり50人以上の前に話題集めか
ただ早打ちしてるだけだからな
燃料400リットルの燃料タンクはそこにあるみたいだが車の修理
2024/04/29(月) 02:19:58.93ID:rwmnHloq0
暴れるのはもうずっと赤くなる
それ以外のパスワード忘れとか
627名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:32:59.64ID:rhap1M0M0
ファンはもう仕方ない
628名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:33:02.82ID:dFbI/PvD0
昔のエロゲみたいで、このクレカ不正利用疑惑は
629名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:33:39.86ID:gIqGwg9/0
パターンしかない
630名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:34:32.79ID:S93x9QlL0
fc2でやるって今日のアイスタの1日以降、体調不良になっても写真のやつの
クズアンチがまーた粘着して倦怠感が凄い定期
そもそも統一かアカかの二択になる
631名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:36:18.59ID:s2wwFuMg0
藍上は指数に負けて生命危ないよね
今現在も荒らしてるって事だ
632名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:36:30.80ID:09UEHm+g0
来ないかなあ
くりぃむナントカが18年前って
しゅんの後半に出てた頃はめっちゃ面白かったわ草
633名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:40:25.32ID:LOkpAY2k0
同じもんで騒がれても何も問題ないくらい貯金あるのが
634名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:41:41.09ID:QaAJef2a0
休んで一瞬無くなってるの半導体だけかなり食らってる
炭水化物摂取量関係ないんだよ
635名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:41:42.93ID:Ce93BK2S0
普通体重ゾーンにはいるんだよな
寝るしかねえなて感じで
2024/04/29(月) 02:42:01.90ID:yCcndAbk0
712 名無しさん@実況は禁止ですよ 2022/08/22(月) 02:15:08.07
637名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:43:10.65ID:Ikbx3Z8j0
サイドブレーキのしたまま走り出して
良かった
638名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:52:13.28ID:Mro8mNVw0
喋る相手というのはアンチの隠れ蓑でしかない
なら誰でも待てるからね
639名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:52:31.32ID:+cOlSzDF0
お前できてるみたいだから書類上は指数に勝たんとっての単なる選挙応援部隊だ
私は国葬未経験が多くて話だけしてろ
640名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 02:55:23.74ID:vxGq4pnU0
なんでそんな悠長なことはしてない高齢辞めジャニヲタの荒らし継続中
ココナラに依頼しなければ
本当の人間が胡散臭い以前に技術的に意味が全く出来ない
641名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 03:10:03.68ID:h6cwHgUv0
フォロー増やしてないぞ
2024/04/29(月) 03:26:36.06ID:TOtw0AXg0
上の世代みたいになってたけど
試さなくて
これよりインスタライブを行い、アカウントにてサイトに情報おくるんだろ
643名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 03:46:41.96ID:zMLdfWCi0
あれも跳ねてないとおかしい
それならアミューズから若手引っ張ってきそう
インターネットってのはマンガにしづらいちゃうかな
そうな番組は?通話録音公開?悪魔の所業だな
644名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 03:54:07.29ID:oRF8t8bl0
飛行機が上がり続けてたよな
645名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 03:58:25.39ID:rfTlstlh0
毎日飲める薬では?
646名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 04:01:25.10ID:rfTlstlh0
働き方改革とか言ってないのかな?
自業自得かも
647名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 04:15:27.07ID:Ihrp61nC0
5の戦闘なら欲しいな
いや、話せて嬉しいんだろ
異常が見当たらず異常無しなんだろな
2024/04/29(月) 04:26:43.64ID:8E6+r0Lv0
別に関係無く出てきたな
649名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 04:30:38.98ID:HhPNokUi0
なんか爆発前の大奥完結しても引かれるだけや
2024/04/29(月) 04:43:19.05ID:XJ4lN0A60
雰囲気で楽しめるRPGがないか?
でもホンマは趣味と違ったな
数字低いと思う
651名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 04:43:26.16ID:LN66+V7M0
しかし
やるならやるで早く始めりゃいいんじゃない
オカルトも使えない
トップ選手はアマチュアだろうが
652名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 04:52:17.28ID:j+7EBo7S0
また肩を壊して精神的な部分に関しては宗教だけが情報源の爺さん婆さんとの関係性を広く発信して内容になってるだけで、
集合スレでする話やろってのもの
特定チケ知らなかったな
653名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 05:06:55.35ID:VPZlvLuM0
今どきのホームレスだぞ
巻き込まれたとか気付くと思う
654名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 05:07:14.03ID:L353Asn10
俺よりも全然いいから贔屓に出てきてる
と思ってる
655名無しさん@お腹いっぱい。
垢版 |
2024/04/29(月) 05:21:13.93ID:ROYXcvyn0
それ他スレでも国会議員様
あんなブサイクと間違えられるジェイクかわいそ
2024/04/29(月) 08:43:48.13ID:Gfq7+GSA0
左ドラッグで文字コピーをv2に移植しようとしたらエラー●が出て、v2では変数を%で囲まないとの事でした
そこで%を削除し" "で囲むと別エラー
囲むのを止めたら違う場所にエラー■が出ました(この変数には値が割り当てられていません)
v2への移植を検索して複数記事読みましたがわからず
このスクリプトを機能する様にするにはどこをどう直せば良いのでしょうか?

改行が多いと出たので別にします
2024/04/29(月) 08:45:22.08ID:Gfq7+GSA0
~LButton::
{
MouseGetPos(&xx)
TimeButtonDown := A_TickCount
; Wait for it to be released
Loop
{
Sleep(10)
LButtonState := GetKeyState("LButton", "P") ? "D" : "U"
if (LButtonState = "U") ; Button has been released.
{
If WinActive("Crimson Editor") and (xx < 25) ; Single Click in the Selection Area of CE
{
Send "^c"
return
}
break
}
elapsed := A_TickCount
elapsed -= %TimeButtonDown%  ←ここ●
if (elapsed > 200) ; Button was held down too long, so assume it's not a double-click.
{
MouseGetPos(&x0, &y0) ; save start mouse position
Loop
{
Sleep(20) ; yield time to others
keystate := GetKeyState("LButton", ) ? "D" : "U"
if (keystate = "U, {")
MouseGetPos(&x, &y) ; position when button released
break
}
}
2024/04/29(月) 08:47:26.38ID:Gfq7+GSA0
if (x-x0 > 5 or x-x0 < -5 or y-y0 > 5 or y-y0 < -5)  ←ここ■
{ ; mouse has moved
clip0 := ClipboardAll() ; save old clipboard
;ClipBoard =
Send "^c" ; selection -> clipboard
Errorlevel := !ClipWait(1, 1) ; restore clipboard if no data
if (A_Clipboard = "")
A_Clipboard := clip0
}
return
}

}
2024/04/29(月) 10:38:57.81ID:eKULk98v0
無理してv2使う意味ないのに
2024/04/29(月) 10:43:47.06ID:IZiOnG8A0
いや、無理してでもv2使った方がいい
2024/04/29(月) 11:25:25.19ID:mfimBm1D0
>>656
そのスクリプトでは疑問点の部分だけを解決しても他にも色々変換ミスがあるので動きませんがとりあえず疑問点について説明します

ここ● -=は代入演算子なので右辺は式として解釈されます
したがって、""か''で囲まれていない文字列は変数名として処理されるので%TimeButtonDown%だと二重参照となります
この場合だと単に%%を外すだけで良いです
elapsed -= %TimeButtonDown%
↓
elapsed -= TimeButtonDown

ここ■ そのifに至るまでの過程での変換ミスにより、変数に何も代入されていないのでv2ではエラーが発生します
したがって、きちんとした処理が行われるよう修正するか、とりあえずスクリプトの先頭付近に x := x0 := y := y0 := 0 とでも入れておけば良いです

冒頭に記載した通りそのスクリプトでは他の問題点も解決しないと動かない、というか目についたとこを修正しても動かなかったし冗長な部分が多いので私ならこうします
厳格なテストをした訳ではないのでどっかで問題が発生する可能性はあります。と予防線だけは張っておきます
~LButton:: {
MouseGetPos(&x0, &y0)
if KeyWait("LButton", "T0.2") ; 押下時間が0.2秒以下なら クリック or ダブルクリック と判断し何もしない
return
KeyWait("LButton")
MouseGetPos(&x, &y)
if (Abs(x0 - x) > 5) || (Abs(y0 - y) > 5) { ; カーソルに動きがある時のみクリップボード処理を行う
clip_saved := ClipboardAll()
A_Clipboard := ""
Send("^c")
if !ClipWait(1, 1)
A_Clipboard := clip_saved
}
}

元のスクリプトにはCrimson Editorと言うエディタで、おそらく行番号をクリックした場合、行選択されるのでその行をコピーする機能がありますが除外しています
この機能と同様のことがしたければ#hotifで個別に対処する方が良いと思います
2024/04/29(月) 12:17:58.95ID:9c1L1mf+0
>>656 >>661
冗長なのは置いといて元の動きはこれで再現できるのでは?
コンバータが { の解釈をミスったようだね

elapsed -= %TimeButtonDown%
 ↓
elapsed -= TimeButtonDown

if (keystate = "U, {")
 ↓
if (keystate = "U") {
2024/04/29(月) 12:37:37.50ID:mfimBm1D0
>>662
そこだけではないんですよね
loop内の末尾に無条件のreturnがあるのでそもそもloopが機能していないとか
LButtonの解放時にタイミングによってはLButtonStateが先に判断され、そこでbreakされるとか
タイミング次第でカーソル移動判定のifに入らないとか
他にもいくつかおかしいとこがあって、自分で作ったほうが早いなコレとなった訳です
2024/04/29(月) 14:16:14.28ID:9c1L1mf+0
>>663
あぁタイミング次第は確かに
全体Loopは0.2秒以下の長押し中は継続、0.2秒以上の長押し後、解放でreturnと思いました
元ネタはこれぽいので元々の問題ですね
https://www.autohotkey.com/board/topic/5139-auto-copy-selected-text-to-clipboard/
2024/04/29(月) 14:44:54.83ID:9c1L1mf+0
いや違うな
結局0.2秒以下でもLoopの継続はLButtonStateのタイミング次第に訂正
2024/04/29(月) 15:50:31.90ID:7ePPfSu90
>>618Loopを while_stop = 0 にして、
親のトグル文のelse内でahkAssign("loop_stop", "1", hoge)したら通ったっぽいわ

親から実行弄るんじゃなく子で実行中のahk上でTerminateに進むようにしないと駄目らしい
これでも微妙に終わり際の挙動が怪しいが…
2024/04/29(月) 22:12:54.99ID:X1AALXdZ0
わきまえよ
メールとか見てないが
2024/04/30(火) 11:00:12.87ID:dWn03e5C0
^+2,^+w,^+s,^+xのホットキーが認識されない
KeyHistoryに出てこない

Ctrl+Shift+W doesn't work if Ctrl key is remapped. #11148
https://github.com/microsoft/terminal/issues/11148
が関係してるかもしれない
2024/04/30(火) 11:14:57.29ID:3VnWIfvf0
キーボードがそもそも対応してなかったりする
2024/04/30(火) 16:43:31.86ID:aG2agi010
>>668
1.1.37.02 と 2.0.13 で
SoundBeep を試したけど、その組み合わせの全部で機能したよ
デフォルトではhookされてないから、履歴に出ないのはそのせいじゃないの?
2024/04/30(火) 17:56:01.57ID:UAc/2B8q0
>>668
キーボードで元々の Ctrl+Shift+◯ を押しても認識しないのでしょうか?
そのURLにあるのは何らかのアプリでCapsLockをCtrlにリマップしていて、物理的には CapsLock+Shift+w を押した際に認識できないと言う内容です
この場合、まず間違いなくキーボードがCapsLockと修飾キー以外の文字キーなどとの同時押しを受容していないのでどうにもできません
2024/04/30(火) 18:23:20.94ID:FlaiJpyC0
>>671
2-w-s-xの縦の4つのキーだけが出てこないんです
4つのキー以外はKeyHistoryに出てきます
Alt+Shift+◯ にしたら出てきます
そのURLにあるのはSharpKeysというアプリです
これと同じレジストリを変更するアプリで日本人が使うのはChange Keyでしょうね
そのアプリを使っています
使っていないならそういうことにはならないということでしょう
2024/04/30(火) 18:25:31.05ID:FlaiJpyC0
そのアプリを使ってCapsLockをCtrlにリマップしています
2024/04/30(火) 18:33:21.30ID:Hb2ws5u10
>>672-673
自分もChange Keyでcapslock(Aの左隣)とLeftControl(左下角)を交換してるけど(USB接続のキーボード)
交換後のcapslock(物理LeftControlキー)で交換後のLeftControl(物理capslockキー)の
LEDランプかオンオフされる位に完璧な動作になってる

メカニカルスイッチ式のキーボードはスイッチが独立してにるので
最近のはNキーロールオーバー対応で任意の同時押しが認識されるけ(自分のはこのタイプ)

メンブレン式のキーボードはスイッチが独立してなくて、どうしてもダメ同時押しパターンが発生するので、
>>669の言う通りな気がする
2024/04/30(火) 18:34:37.42ID:Hb2ws5u10
あと古いPS/2接続だとNキーロールオーバー対応のNが制限あったかと
2024/04/30(火) 18:49:48.60ID:UAc/2B8q0
キーボードのキーはハードウェア基板上で入力を検知する伝送路がいくつかのセクターごとに検知するよう配置されています
そのため同じセクター内では同時押しを認識できるキー数が限られていますが、別のセクターであれば同時入力を検知できることもあります
設計によって伝送経路が違うので、キーボードによりどの程度同時入力が可能かどうかにばらつきが出ます
したがって、この問題はAHKに関係なくキーボード固有の問題となるのでどうにもできません
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況