質問・要望・不具合報告はこちらへお願いします。
KeyToKeyに関する質問や要望であれば、どんな些細なことでもお気軽にどうぞ。
※ 要望を出したからといって必ずしもそれが反映されるわけではありません。技術的、知識的に無理なこともあるのでご理解ください。
※ 要望を出したからといって必ずしもそれが反映されるわけではありません。技術的、知識的に無理なこともあるのでご理解ください。
コメントするにあたってのお願い
曖昧であったり投げやりな質問や要望はおやめください。
自分のやりたいことや現在の状況など情報を詳細に記載してください。
返信について
返信はすべて最新バージョンの内容で書きます。古いバージョンをご使用の方は事前に最新版へアップデートしてください。
マクロの質問について
現在のKeyToKeyにはC#スクリプト(マクロ)とアクションマクロの二種類のマクロがあります。
マクロの質問をする際はどちらのマクロについて聞きたいのか書いてください。
不具合について
不具合の報告をする際は可能な限りで構いませんので発生した状況や設定について詳細に報告していただけると助かります。
自分のやりたいことや現在の状況など情報を詳細に記載してください。
返信について
返信はすべて最新バージョンの内容で書きます。古いバージョンをご使用の方は事前に最新版へアップデートしてください。
マクロの質問について
現在のKeyToKeyにはC#スクリプト(マクロ)とアクションマクロの二種類のマクロがあります。
マクロの質問をする際はどちらのマクロについて聞きたいのか書いてください。
不具合について
不具合の報告をする際は可能な限りで構いませんので発生した状況や設定について詳細に報告していただけると助かります。
よくある質問
Q.他のアプリの入力で各種割り当て(マクロ等)を実行したい
初期設定では利便性を考慮してアプリからのキー入力によってキー割り当てやマクロ割り当てなどが実行されないようロックされています。
このロックを解除するには割り当て設定(キー/マウス)の上部にある南京錠のアイコンから入力イベントのロックを解除すると実行できるようになります。
Q.特定のゲームにおいてマクロやキー入力が正常に動かない(他のアプリでは動く)
考えられること:
特にオンラインゲームやソーシャルゲーム等はセキュリティプログラムの関係でキー入力のシミュレーションやキーボード/マウスフックなどの処理がブロックされることが多いからです。
初期設定では利便性を考慮してアプリからのキー入力によってキー割り当てやマクロ割り当てなどが実行されないようロックされています。
このロックを解除するには割り当て設定(キー/マウス)の上部にある南京錠のアイコンから入力イベントのロックを解除すると実行できるようになります。
Q.特定のゲームにおいてマクロやキー入力が正常に動かない(他のアプリでは動く)
考えられること:
アプリで実行が許可されていない
環境設定からアプリの実行が許可されているか確認してください
ゲームのセキュリティがキーの入力をブロックしている
この場合、申し訳ないですが対処方法はありません
KeyToKeyが行うキーの入力監視自体をブロックしている
環境設定からフックを無効にしたら実行できる可能性があります。
ここのコメント欄に「ゲームで動かない、実行できない」等のコメントを書かれても残念ながら殆どの場合何も出来ません。環境設定からアプリの実行が許可されているか確認してください
ゲームのセキュリティがキーの入力をブロックしている
この場合、申し訳ないですが対処方法はありません
KeyToKeyが行うキーの入力監視自体をブロックしている
環境設定からフックを無効にしたら実行できる可能性があります。
特にオンラインゲームやソーシャルゲーム等はセキュリティプログラムの関係でキー入力のシミュレーションやキーボード/マウスフックなどの処理がブロックされることが多いからです。
今後のアクションマクロのサポートについて
バージョン200824よりC#スクリプトをマクロとして扱える機能を実装しました。
これにより今まで以上に複雑なマクロを作成することが可能となりました。
今後はC#スクリプトを使用したマクロをメインにサポート(新しい機能の実装、使用方法の記述)していきたいと考えています。
アクションマクロ自体は廃止したりせず今まで通り使用可能ですがサポート(機能の追加、使用方法の記述)はしない方向で考えています。
もちろんアクションマクロについて質問をしていただければ返答はするつもりです。
これにより今まで以上に複雑なマクロを作成することが可能となりました。
今後はC#スクリプトを使用したマクロをメインにサポート(新しい機能の実装、使用方法の記述)していきたいと考えています。
アクションマクロ自体は廃止したりせず今まで通り使用可能ですがサポート(機能の追加、使用方法の記述)はしない方向で考えています。
もちろんアクションマクロについて質問をしていただければ返答はするつもりです。
支援のお願い
連絡先
コメント一覧 (984)
入力の可視化以下の「PS4ゲームパッド」や「アーケード」が表示されず
> System.InvalidOperationException: シーケンスに複数の一致する要素が含まれています
系統のエラーが出ています。
昨日オートでアップデートして以降添付画像のように『現在表示されているウィンドウでは実行できません』といった旨が表示され入力を受け付けなくなり対処がわかりません、これはどういう状況でしょうか。
https://imgur.com/j5quq6Z.png
対象アプリをアクティブにすると『KeyToKey - 有効』と今まで通りには戻ったのですがkeytokeyのウィンドウサイズが添付した画像の大きいものに変わったままでした。本アプリの有効・無効を間違えないよう画面隅の空いたスペースに置いて確認していたのですが、従来の小さいサイズにどこを設定すれば戻せるのでしょうか。よろしくおねがいします。
入力の監視方法をフック、ポーリングどちらにしても変わってないと思います。
[
{"IsDisabled": false,"Name": "@EasyFor","Arguments": ["10"]},
{"IsDisabled": false,"Name": "Console.WriteLine","Arguments": ["\"Input.GetKeyState(Keys.Space):{0}\"","Input.GetKeyState(Keys.Space)"]},
{"IsDisabled": false,"Name": "Console.WriteLine","Arguments": ["\"Input.GetKeyState(Keys.XButton1):{0}\"","Input.GetKeyState(Keys.XButton1)"]},
{"IsDisabled": false,"Name": "Console.WriteLine","Arguments": ["\"Input.GetKeyState(Keys.XButton2):{0}\"","Input.GetKeyState(Keys.XButton2)"]},
{"IsDisabled": false,"Name": "Console.WriteLine","Arguments": ["\"Input.GetKeyState(Keys.LButton):{0}\"","Input.GetKeyState(Keys.LButton)"]},
{"IsDisabled": false,"Name": "Wait","Arguments": ["1000"]},
{"IsDisabled": false,"Name": "@EndFor","Arguments": []}
]
画像Aを見つけたらQキーを押す複数ある画像Bを見つける
画像Bにカーソルを合わせて画像Cを1つ見つけたら右クリック
画像Cが2つなら次の画像Bにカーソルを合わせ、
また画像Cを1つ見つけたら右クリック、画像Cが2つなら次の画像B
といったC#スクリプトを作りたいのですが上手く出来ませんでした。
良かったらサンプルお願いします。
よろしくお願いします。
「24bit深さのpngファイルをテンプレート画像として使うとうまくマッチングできません」が不具合報告で、
「もし可能であれば24bit深さのpngファイルも許容する流れになると嬉しいです」が要望になります。
以前は24bit深さのテンプレート画像が使えていましたが、ver2021/01/27もしくは27.1から32bit深さでないと上手く動かなくなったようです。(調査足りずで、こちらの勘違いの可能性もあります。)
32bit深さのpngファイルを試したところ、現在でも上手く動いています。
手元のテンプレート画像が24bit深さなのは以下の理由によります。
・テンプレート範囲と検索範囲を厳密に一致させて走査域を1x1に限定し、高速化を意図した
・KeyToKeyのテンプレート画像保存UIでは数値入力・数値確認ができないので外部のお絵描きソフトが必要だった
・そのお絵描きソフトの自動検出によって24bit深さで保存された
要望が一つあります。
トリガーになるキーですが、ハードウェアのデバイスIDを設定することはできないでしょうか。
というのも、普通のUSBテンキーをトリガーとして使いたいのですが、通常使うキーボードのテンキーは普通に使いたいと思っています。
それができると、複数のUSBテンキーに異なるマクロを設定でき、キートップにシールを張った、特定のアプリ専用のマクロキーができてありがたいなと。
言うは易く行うは難しなのは存じております。ご検討宜しくお願い致します。
ソフトウェアの更新(Ver.210127.1)をしたら起動するたびにポップアップで下記の文章が出るようになりました。
「KeyToKey.DirectInput.dll : ファイルまたはアセンブリ 'file:///C:\Users\steds\Desktop\KeyToKey\Plugins\KeyToKey.DirectInput.dll'、またはその依存関係の 1 つが読み込めませんでした。操作はサポートされません。 (HRESULT からの例外:0x80131515)」
一応自分が使ってる範囲では問題ないのですが、毎回出るのも煩わしいので対処法を教えてください。
宜しくお願い致します。
特定の画像をクリックしてほしいのですが判別が上手くいく時と、いかない時があり実用するにあたって不安定です。
※指定している画像と画面に表示される画像は完全に一致しているものです。KeyToKeyは最新版を使用(KeyToKey.210202)
原因は画面に似たような画像がいくつか表示されてる場合と指定している画像しかない場合では目当ての画像のテスト結果が変化するからです。
また、目当ての画像が表示される位置は固定ではないので似たような画像を範囲外に設定することは不可能です。
周りの状況に影響されず、安定して画像を見分ける策はありますか?
また何かほかに良い案はありますか?
トリガーを押下してから連打が開始されるまでのディレイ設定(ミリ秒)が欲しいです。
ディレイ設定経過までは連打無し、ディレイ設定の経過後は既存の設定に従い連打するといった感じです。
実装を検討して頂ければ幸いです。
デスクトップにあるショートカット(.lnk)を直接開く方法ありますか?
アイコンまでカーソル移動→ダブルクリック、カーソル移動→右クリック→Oキーの2つを試したのですが20回に1回開かない時があって直接開く方法があれば知りたいです。
もしなければコマンドプロンプトを開いておいてクリップボードから貼り付けで直接開きたいのですが
アクションにある クリップボードに貼り付ける で
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory="Profile 3"
の場合\が消えたり最後の”がうまくコピーできません。
よかったら教えてください、Cスクリプトとアクションのどちらも知りたいです。
よろしくお願いします。
最近、アップデート後、自作マクロが動かなくなり困ってしまいました。
907さんの事例が思い当たり、画像を透過pngで保存したところ再び動くようになりました。
画像認識の設定のページで、使用できる画像フォーマットについての記述があった方がいいんじゃないでしょうか。
蛇足ですが、仕事関係でRPAの勉強会があったのですが、説明を聞いて、KeyToKeyもRPAツールと言えるのかなぁと思ったところでした。
ver2021/02/11をインストールしたところ、(オレンジ色に分類される)KeyToKey主導の連射が効かなくなったように思います。
トリガーはDirectInputの物理ゲームパッドで、対象は仮想ゲームパッドのボタンなどになります。
新機能の一部範囲繰り返し/全体繰り返しに関わらず、ボタンが押されっぱなしになっているようです。
テストが少ないため、こちらの勘違い・使い方の間違いかも知れませんがご確認お願いします。
古いバージョンのものを(19.03.18)使い続けていたのですが処理スピードの遅さが気になってきたので、現在のバージョンへ移行しようとしているのですが、以前のマクロ(アクションマクロ)がうまく作動しません
現在、最初に接続した二つのコントローラーしか認識しないゲーム上で3つ目のコントローラーを使用するためにコントローラーの入力を一旦、別ソフトであるJoyToKeyでキーボードの入力へ直した後、そのキー入力をKeyToKeyのマクロの実行へ使っています。
しかし、今回の移行に伴いJoyToKeyからのキー入力が反映されていないのかマクロが実行されなくなりました。
いちおう、キーボードから直接入力すれば実行できる状況です。
今思うと自分でもなぜ間にJoyToKeyを挟む必要があったのかは覚えていないのですが、その当時のKeyToKeyにない機能の代わりをさせていたような気がします。
どういった原因でうまく入力が反映されていないのでしょうか?
またKeyToKeyで完結させる方法はありますでしょうか?
気づけませんでした
とりあえず無事従来通りの方法で実行されるようになりました
KeyToKeyに直接コントローラーを割り当てるやり方も、メニューをちらっと見た感じ全てのコントローラーごとに認識されているようで、今なら簡単にKeyToKey一本でやっていけそうです。
簡単な案件に時間を取らせてしまいすみません。ありがとうございました!
メインウィンドウの「コンソール」ボタンに、コンソール窓を開く機能に加えて、コンソール窓を最前面まで持ってくる機能と、コンソール窓を最小化する機能を、良い感じに盛り込めないでしょうか。
他のボタンにはそういった機能が付いていないので少し異端に感じますが、とても便利になる気がします。
マクロの待機時間(処理スピード?)の倍率を設定一つでツール全体的に変更できるようにならないでしょうか。
例えば、
現在、アクションマクロにおいてボタンを押したり離したりする時間をms単位で細かく設定しているのですが、その時々のパソコンの状態や日によって微妙に待機時間が早くなったり遅くなったりしている気がします。
その度に全てのマクロのそれぞれの待機時間を修正しているのですが、これをまとめて割合的に変えられないでしょうか。
もしくは、ツールの安定性を高める方法はありますでしょうか?
また、入力の記録も各種キー入力の認識が遅延したり、押してから離すまでの時間が実際よりも長くなったりします。
起動後に設定の編集画面を開かなければ、両方とも問題なく動作することは確認しております。
これらの事象について、KeyToKeyのプログラム、もしくは、設定による影響は考えられるでしょうか。
{
Tap(Keys.A, 200, 100);
Tap(Keys.F6, 200, 100);
Tap(Keys.F7, 200, 100);
Tap(Keys.F8, 200, 100);
}
Tap(Keys.R, 200, 200);
こちらのマクロを10回ループしても画像が見つからなかった場合も次の処理に進むようにすることはできますか?
if(Match("画像", out var result)){
break;
}
Tap(Keys.A, 200, 100);
Tap(Keys.F6, 200, 100);
Tap(Keys.F7, 200, 100);
Tap(Keys.F8, 200, 100);
}
Tap(Keys.R, 200, 200);
を試してみて下さい。