【過去ログ】質問1
自分のやりたいことや現在の設定など情報を詳細に記載してください。
マクロの質問について
現在のKeyToKeyには以下の3種類のマクロがあります。
- C#スクリプト
- ブロックマクロ
- アクションマクロ(非推奨)
マクロの質問をする際はどちらのマクロについて聞きたいのか書いてください。
※書いてない場合は返信は行いませんのでご了承下さい
返信について
返信はすべて最新バージョンの内容で書きます。
古いバージョンをご使用の方は事前に最新版へアップデートしてください。
よくある質問
Q. How can I switch the language in this app?
No you cannot.
It is supported only Japanese(language) and I have no plans to support English or else in the future.
Q. ウィンドウが表示されなくなった
ウィンドウが表示されないときの対処方法 を参照してください。
Q. アプリを非アクティブにしたままマクロやキー入力を実行できる?
できません。
マクロやキー入力等は最前面(アクティブ状態)のアプリに対してのみ動作します。
Q. 設定ファイルはどこにある?
設定ファイルはKeyToKeyのフォルダ内にあります。
設定に関係するフォルダやファイルはこちらを参照してください。
Q. マクロやキーの入力ができない
以下について確認してみてください。
設定の編集が保存できていない
正常に保存できている場合はメインウィンドウに設定内容が表示されます。
他のアプリで試す
特定のアプリで機能してないだけの可能性があります。メモ帳などを使って動作確認してみてください。
アプリの実行許可が正しくできない
環境設定からアプリの実行が正しく設定されているか確認してください
- アプリの実行許可リストに追加した項目を削除した上で動作確認する(何も設定されてない状態の場合すべてのアプリ上で動作します)
- アプリのプロセス名等の設定が正しいかどうか確認する
何かしらのキーやマウスの入力が影響している
キー入力が正しくできない場合、何かしらのキーやマウスが押されっぱなしになっていることによって正しく入力できない可能性がないか確認してみてください。
読み込みエラーが発生している
メインウィンドウのコンソールから読み込みエラーが出てないか確認してみてください。
他アプリの入力によってマクロを実行しようとしている
初期設定では、利便性の観点から、「アプリによる入力(キー/マウス)」によるマクロ等の実行がロックされています。
ここで言う「アプリによる入力」とは、以下のようなものを指します。
- KeyToKeyやJoyToKey等のマクロ系ツール
- キーボード/マウスメーカー製の割り当てツール(ただし物理デバイスかのように振る舞えるツールもあります)
- リモートデスクトップ系ツール
- 特殊なキーボード(テンキーのみキーボード、左手キーボードなど)は「アプリによる入力」を発生させることがあるようです。
■入力が「アプリによる入力」かどうかを調べるには、以下の手順を行います。
- メインウィンドウの「コンソール」からコンソールを表示させます。
- 同じく「コンソール」から「キー/マウスの入力情報を表示」にチェックを入れます。
するとキーやマウスのボタンを入力するたびにコンソールに入力パラメーター情報が表示されるので下記の項目を見ます。
| 名前 | 説明 |
|---|---|
| Key | 入力された要素の名前 |
| Status | Down(押された)Up(離された) |
| Injected | アプリによる入力かどうか。Trueの場合はアプリによる入力 |
Injectedの値がFalseの場合は物理デバイスからの入力です。マクロ等が実行可能です。
Trueの場合はアプリのよる入力です。マクロ等は実行することができません。
Trueの状態でマクロ等を実行するには実行ロックを解除する必要があります。
「割り当て設定(キー/マウス)」ページ上部にある「南京錠」のアイコンボタンからのロックを解除を行うことができます。
ゲームのセキュリティがキーの入力をブロックしている
申し訳ないですが対処方法はありません
KeyToKeyが行うキーの入力監視自体をブロックしている
環境設定からフックを無効にしたら実行できる可能性があります。
ただしフックを無効にするとトリガー等の入力キャンセルができなくなります。
おことわり
コメント欄に「特定のゲームで動かない、実行できない」等のコメントを書かれても残念ながら殆どの場合何も出来ません。
特にオンラインゲームやソーシャルゲーム等はセキュリティプログラムの関係でキー入力のシミュレーションやキーボード/マウスフックなどの処理がブロックされることが多いためです。
ウイルスとして検知された場合
お使いのアンチウイルスソフトでKeyToKeyをホワイトリストに追加してください。
Microsoft Defenderの場合
- 「Windows セキュリティの設定」を開きます。
- 「ウィルスと脅威の防止」をクリックします。
- 「現在の脅威」の検知した項目を「デバイスで許可」に設定し、「操作の開始」をクリックします。

「現在の脅威」に項目が表示されない場合
「現在の脅威」にある「保護の履歴」に表示される項目から許可することができます。
フォルダを検知対象外にする
「ウィルスと脅威の防止」に戻り「ウィルスと脅威の防止の設定」にある「設定の管理」をクリックしてください。
「除外」の「除外の追加または削除」からフォルダを除外できます。
問い合わせ
問い合わせ用メールアドレス:dev.key2key@gmail.com
問い合わせによる質問について
KeyToKeyの利用方法に関する質問は以下のような場合を除き、このページのコメント欄を使用してください。
- 文字数制限などがありここに書くことができない。
- 添付ファイルがある
- どうしても知られたくないプライベートな情報がある。
コメント一覧 (576)
ViGEm Bus Driver 1.21.442
DirectInputのゲームパッドを使用
ブロックマクロで質問です
仮想コントローラーのマッピングの一時停止と再開にて
mapping.suspend("XINPUT0", ["RT", "LT", "B", "LeftStickX"]);
とすると
スクリプトエンジンエラー:
Error: 要求された値 'RT' が見つかりませんでした。
at Script:1135:51 -> const mappingSources = inputs.map(name => toEnum(type, name)).toClrArray(clr.KeyToKey.Enums.MappingSources);
at _setState (Script:1135:39)
at suspend (Script:1126:14)
at _E3_81_93_E3_81_93_E3_81_8B_E3_82_89_E5_AE_9F_E8_A1_8C (Script [3]:6:11)
at Script [4]:1:1
このエラーになります。
また "RT" を外すと "LT" でも同様のエラーになります。
どうすれば "RT" と "LT" の一時停止・再開が可能でしょうか?
ちなみにマッピングを手動で外せば
virtualXInput0.tap("RT", 1000, 10);
virtualXInput0.tap("LT", 1000, 10);
こちらは正常に機能します。
よろしくお願いいたします。
key0x2key
が
しました
しかし引数をうまく取得できないようです。Githubのリファレンスから下記コードを記述。
現状デフォルトの引数は($n=1, $repeat=1)に設定。
しかしマクロを実行してもFor文を通らない。
【質問】
1. 引数の値の取得方法を知りたい
2. 値確認の方法が知りたい(コンソールウィンドウやアラートなど)
int n = (int)LocalVariables["$n"];
int repeat = (int)LocalVariables["$repeat"];
for (int r = 0; r < repeat; r++)
{
Tap(Keys.K, 80, 300, true);
}
key0x2key
が
しました
アクションマクロについてお聞きしたいです。
以下質問内容
0.1秒~3秒の中でランダムに操作待機を行う。といった処理があれば教えていただきたいです。
例:A操作実行→0.3秒待機→B操作実行→0.7秒待機→C操作実行
よろしくお願いいたします。
key0x2key
が
しました
〇やりたいこと
画像認識と条件分岐、ループ
1.Aという画像をみつけたら、そこをクリックしてF1(仮)入力
2.AがなかったらBを検索、あったらそこをクリックしてF2(仮)入力
3.AもBも見つからなかったら、Cという画像をクリック
1~3をループさせたいのですが、
仮に1でAが見つかってキー入力を終えたら、再び1の手順からスタート
1のAが見つからず、2に進んだ時にBが見つかりキー入力を終えたら、再び1から
3まで進んだら再び1から というようなループを作りたいのですが、
自分でやったところ1でAが見つかっり手順を終えた後、2が始まってしまう という状態です。
ブロックマクロの構造をうまく理解できていない私の勉強不足ですが、
ご教示いただけますと幸いです。よろしくお願いいたします。
key0x2key
が
しました
条件分岐の並列実行にて待機キーを2つ使用しています、それぞれの待機キーを押す前の待機中に
画面上にて表示できないでしょうか
例えば、待機キーAを押せばこれ。待機キーBを押せばこれになるみたいな表示です
以上よろしくお願いいたします。
key0x2key
が
しました
画像を認識後、その画像をクリックのやり方をお教え頂けますと幸いです。
お手数おかけいたしますが宜しくお願いいたします
key0x2key
が
しました
コントローラーの設定で1つのボタンを押した時に、いくつかのボタンを押した事にしたいのですが適応されません。
以下は私がやった事です。
・同時押しの設定の追加、同時押しにするキーの入力
・設定したキーが押されている時の画面でボタンの指定(トリガー)
・キー割り当ての画面で割り上げる入力の追加
・追加後に保存
ステータスを見るとトリガーは設定されているようですが
ツールの入力の可視化で見ても実際のゲームでも同時押しにならず困っています。
何か操作を間違っていますでしょうか?
key0x2key
が
しました
key0x2key
が
しました
「トリガー」をコントローラーの軸の入力割合にすることはできますか。
例
「RBボタンが95%未満から95%以上になったとき」
「RBボタンが70%以上から70%未満になったとき」
「右スティックが95%以上傾いている間」
それとも、こういったことを実現するにはマクロを使う必要がありますか?
key0x2key
が
しました
コントローラーの一つのボタンに対して、複数のマクロを割り当てることはできませんか。
■やりたいこと
RTが押されたら下記の2つのマクロが同時に起動するようにしたいです。
・マクロA
RTが100%になったら9キーを押す
※この後↓でLTキーを押すまでに再度RT100%になっても9キーを押さない
LTが0%超になったら9キーを押す
・マクロB
RTが0%超になったらNum+をプレス
RTが0%になったらNum+をリリース
マクロAとBはすでにブロックマクロで作成できていますが、
C#拡張でないと実現できないならそちらで作り直す形でも大丈夫です。
key0x2key
が
しました
アプリ上で見られるC#スクリプトのヘルプを生成AIに食わせたく、
同じ内容の資料が食わせやすい形式であると助かるのですが、
Webページだったり、テキストファイルだったりで何処かにありませんかね・・・?
key0x2key
が
しました
とある3Dゲームの釣り機能で、魚がかかった時に特定の位置に表示されるアイコンを画像として読み取ってフッキングのアクション(例えば1キー)を押すというシンプルなマクロを作成したいのですが、
こういう場合の画像認識の精度はどの程度なんでしょうか?
例えばゲーム側の背景やエフェクトによってFPSにブレがあった場合に精度が下がってしまうようなことはあるんでしょうか?
key0x2key
が
しました
動作としては無変換キーを押すごとに「a」「b」「a」...と出ていてこちらは期待通りです。
もう一つ期待しているのは無変換キーを長押ししている間は「aaaaa...」のようにaキーを長押ししているのと同じ振る舞いをしてほしいのですが、無変換キーを長押ししても単押ししたように一回aとしか入力されません。
改善策ありましたらご教示お願いいたします。
https://imgur.com/a/9Cs6YR7
key0x2key
が
しました
日ごろからウルティマオンラインと言うゲームで大変重宝させて頂いております。
以下のような事が出来るのか?また行う場合にはどのようなものを作成すればよいのか?をお教えください。
(当方Cスクリプトなどが分からない為、常にアクションマクロにて組んでおります)
■マクロ種類:アクションマクロ(でよいのでしょうか?)
■行いたいこと
ゲーム画面を常時監視し、特定の文字や画像などが出た場合特定の動作を行う
■例
画面に「特定の文字が出る」
↓
文字が出たことを判断し、個別のディスコードに文字を書き込む
↓
ディスコードに書き込まれる事で離れた位置でもゲーム上で特定の文字が出たことが分かる
私がやろうとしていることがどの程度のレベル、負荷なのかガわからず恐縮ですが、返答いただけると幸いです。
よろしくお願い致します。
key0x2key
が
しました
トリガー発動後最初のマクロ起動→次マクロは指定時間までループ→時間後次のマクロ移行 を作りたいのですが可能ですか?
この動作を一つのマクロ内で組み込むまたは同じトリガーで順番に上記マクロを起動したいです
最終的にはこの一連の動作がキャンセルするまで無限ループする形を作りたいです
できそうならわかる方どういう設定をすればいいか詳しく教えて下さい
key0x2key
が
しました
今イナズマイレブンのオフライン(cpu対戦)のモードを自動で周回しようと考えています。
画像認識で8個ほど取り込み、ブロックマクロを作成し実行したところ、マウスカーソルは移動するもののクリックしてくれない状態になっています。カーソルがボタンの上に乗る時に色が変わってしまうのがいけないのかな?と思い、色が変わった状態の写真も取り込んだのですが、変わらず。
マクロの共有方法がわからないため外部サイトでのスクショを貼りますと
https://i.gyazo.com/44ff8a1663a6e7fd4089fffbe01cfe7e.png
これを何個もズラッと並べています(知識がなく、見よう見まねで作っているので足りない関数があるかも?)
また、そのうちのひとつはマウス左クリックではなく、Uキーを押すものですが、これも実行しません
https://i.gyazo.com/b3d50e0d042d4fb48a3bdeb00343b161.png
専門知識0での浅はかな質問で大変恐縮ですが、
画像認識を用いた自動化の例をご教示いただけますと幸いです。
key0x2key
が
しました
インデックス付きのピクセル形式を持つイメージからグラフィックス オブジェクトを作成することはできません
というエラーが出ます。対処法等が知りたいです。
key0x2key
が
しました
作成したマクロを他のヒトに共有し、取り込むだけですぐ使えるようになる配布方法などはありますでしょうか。
key0x2key
が
しました
私はMMOでマクロを使用しています。
同時押し機能を使い、「2」を押している間、同時押しモードに切り替わり「5」や「R」を追加入力することでマクロが起動できるようになっています。
本題は、同時押しに切り替える「2」を離した後も0.5秒ほど押している判定にして次のキー入力に余裕を持たせたいです。
同時押しではキーの押し込み具合などで上手く機能しないこともありますが、トグルや切り替えでは使用したくない場面で誤操作を起こす可能性があるため、一瞬だけ同時押しの判定が残るようにしたいです。
マクロで2回入力にするや、キーの設定で押した後、離した後の待機時間を延ばすなど試しましたが、上手くいきませんでした。
どうにか伸ばす方法はないでしょうか。
key0x2key
が
しました
イナズマイレブンというゲームで使えるマクロをブロックマクロで作っているのですが、問題が2点ありました。
https://pastebin.com/pLsTY023 今現在のブロックマクロです。
https://narrow-crimson-1wcc5bevlo-6ca88rj5kg.edgeone.dev/ ゲーム画面のスクリーンショットをまとめたファイルです。
一つ目の問題点は、画像の自チーム→敵チーム→試合開始という流れになるのですが、敵チームの画面で止まってしまいます。
次に進むための操作は、Enterもしくは左クリックです。
マクロ内では、画像認識の設定29の部分です。ニックネームという部分を画像認識に使用しています。
画像認識を【次へ】という部分に変更、進むための操作をEnterと左クリックのどちらも試しましたが、動きませんでした。
二つ目は、試合終了後のリザルト画面で止まってしまいます。マクロでは画像認識10の部分です。
リザルト1、リザルト2の順で進み、一番最初の対戦相手を選択する画面に戻ります。
画像認識は左上のリザルトという文字の部分です。次に進むための操作は、Enterもしくは左クリックです。
こちらも一点目同様に認識画像、操作の変更を試しましたが、リザルト1から動きませんでした。
解決策を教えて頂けますと幸いです。
key0x2key
が
しました
アクションマクロについての質問なのですが、実行中のマクロを急に強制的に中止したい場合ってどうしたらいいんでしょうか。
特殊アクションの中の「マクロを強制終了」かと思ったんですが、このアクションだけを入れたマクロを作成して割り当てても、別のマクロが強制終了するわけではないみたいで…
Aのマクロが実行途中に、別に割り当てているキーを押すとAのマクロが強制終了するような設定は可能でしょうか?
key0x2key
が
しました
画像認識の設定を作成し、識別キーを”next”と設定しました。
テストとしてテンプレートの画像認識:単体(識別キーを選択)から"next"を選択しスクリプトを実行したのですが
識別キーが存在しませんでした と表示されます。
なにか設定を間違えているのか自分では解決できなかったため
ご教示いただけますと幸いです。
Console画像
https://imgur.com/a/5ka1fiZ
key0x2key
が
しました
マクロは動いたのでDiscordのwebhookを使用して、特定の条件を満たしたときにDiscordに通知を送るようにしたいと考ました。
そこで情報を送信するようなメソッドを探したのですが、見つけることができませんでした。
そもそもkey to keyにそのようなメソッドはないのか、ある場合はなんというメソッド名なのか知りたいです。
あまりマクロに慣れておらず、支離滅裂なことを言っていたら申し訳ございません。
key0x2key
が
しました
待機ブロックの「100ミリ秒待つ」の秒数を100~1000のようにランダムにする方法はありますか?
key0x2key
が
しました
ゲーム上での画像認識を用いたマクロを制作しています。
例をあげると
1.成功例
画面に【A】のアイコンがあり、それをクリックします。→準備完了
画面が変わり、【B】のアイコンが新しく表示され、クリックします
これをやりたいのですが、時々失敗します。理由は以下の通りです
2.失敗例
画面に【A】のアイコンがあり、それをクリックします。
パーティ参加者がエラーを吐き、退出します。→パーティが準備完了を押せず画面が変わらない
→永遠と画面が変わらず、目視で気づくまで、一生準備完了の状態のロビーのままになる
→画面が変わらず次のマクロに進まない
そこで、
画面に【A】のアイコンがあり、それをクリックします。
30秒経っても画面が変わらない場合、【(なんらかの操作で)前の画面に戻る】マクロを組み込みたいのです。
前の画面に戻す方法はわかるのですが、
このもし【A】のアイコンをクリックしてからしばらく画面が変わらない(→マクロが次に進まない)場合にのみ〇〇の操作をする。というマクロが、現在の自分の知識量だと出来ない状態にあります。
そこで、
①まず、上記のような「○○の場合のみ○○の操作を行う」というような条件付けはkeytokeyでは可能であるか
②可能である場合、どうすれば出来るか
の2点をお伺いしたいです。
よろしくお願いいたします。
key0x2key
が
しました
ある画像が表示されている間enterを押し続け、表示されなくなったら次の処理に移るという行為は実装できるのでしょうか。
出来るのであれば作例をいただければ幸いです。
よろしくお願いします。
key0x2key
が
しました
初歩的な事ですみません。
各種マクロを繰り返し設定する場合(トグル&繰り返す)ですが、起動キーを○キーを押すとかであれば繰り返されますが、○キーをWクリックや○キーを長押しするなどでは繰り返されません。
又に多様な質問ですが、起動させるためのキーをCTR+○キー等の組み合わせなどは可能なのでしょうか?
無知で申し訳ありませんが回答いただけると幸いです。
key0x2key
が
しました