【過去ログ】質問 2022年02月23日 【過去ログ】質問・要望・不具合報告 > こちらにはコメントを書き込まないでください。 コメント一覧 (925) 前のコメントを読み込むためにはJavaScriptを有効にしてください。 読み込み中 817. 名無しさん 2023年10月10日 21:45 >>815 githubでは説明が無いようですが、「メソッド」というものを使用します。 メソッド一覧は、 アクションマクロ編集状態 → アクションを追加する(A) → アクション追加ウィンドウ右上の「メソッド作成」 から見る事ができます。 メソッド作成ウィンドウのUIは少し癖が強いです。右上のチェックマークをクリックするとクリップボードにコピーされるので、そのコピーされた内容を、アクション追加ウィンドウや他のメソッド作成ウィンドウの的確な場所に、手動でペーストします。 >Eキーが押されている間ループする こんな感じになります。Input.GetKeyState()がメソッドです。 [ {"Name":"@While","Arguments":["Input.GetKeyState(Keys.E)"]}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 818. 名無しさん 2023年10月10日 22:03 >>817 ループ終了条件が複雑になる場合はこのような書き方をお勧めします。 https://github.com/x0oey6B8/KeyToKey-Web/wiki/アクションマクロ#変数aが10より大きいくて30より小さい場合 で紹介される演算子 && で結んで行けば@ループ<条件>1行で書けますが、編集やメンテナンスが大変ですし、フラグ変数を立てたりちょっとした処理をさせたり小回りが利きません。 [ {"Name":"Local.Assign","Arguments":["$timeEnd","GetTickCount()+10000"]}, {"Name":"@While","Arguments":["true"]}, {"Name":"@Break","Arguments":[" ! Input.GetKeyState(Keys.E)"]}, {"Name":"@Break","Arguments":["1 == 2"]}, {"Name":"@Break","Arguments":["GetTickCount() > $timeEnd"]}, {"Name":"//","Arguments":["ループの中身"]}, {"Name":"//","Arguments":["ループの中身"]}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 819. 名無しさん 2023年10月10日 22:17 >>818 ありがとうございます! メンテナンスのし易さは大切かもしれないですね 教えてもらったことを使って試行錯誤してみます! また分からないことがありましたら質問させていただくかもしれません… 0 key0x2key がしました 824. 名無しさん 2023年10月12日 17:05 wiiリモコンをbluetoothでつなげてGlovePieというソフトでボタンをrキーに割り当て、keytokeyの入力イベントのロックをはずし、キー割り当てでrが押されている間wheeldownを繰り返させることができたのですが、ボタンを押して0.5秒後ぐらいからwheeldownの連打が速くなってしまいます。 keytokeyを無効にしてから検索窓でボタンを押し続けたときも0.5秒後ぐらいからrが連打されるので、押し続けた際の連続的な入力がキャンセルされていないからだと思うのですが、なにか設定を変えることで解決できますか? トリガーとなるキーの最初の入力はキャンセルされていました。 0 key0x2key がしました 828. 名無しさん 2023年10月12日 21:00 >>824 GlovePieで、rキーでなく別のキーに割り当てる事は出来ますか? 具体的には、シフトキーやAltキー、F1~F12などの「キーリピートの発生しないキー」に割り当てられるとKeyToKeyで簡単に対応できます。 KeyToKeyの設定はこんな感じになるかと思います。 https://i.imgur.com/Q8qKQfA.png 0 key0x2key がしました 829. 名無しさん 2023年10月13日 16:39 >>828 リピートしなさそうなキーを色々試したのですが、なぜかどれも同じ結果になりました、、 0 key0x2key がしました 830. 名無しさん 2023年10月13日 18:05 >>828 マウス(右)とマウス(サイド1、2)はうまくいきました。ほかのも探せばなんとかなりそうです、ありがとうございます 0 key0x2key がしました 831. 名無しさん 2023年10月13日 20:48 >>830 GlovePieについて全く知らないのですが、それらの挙動を見るに、 ・キーリピートさせるべきでないキーも、他のキーと同様にリピートさせてしまっている ・キーリピートの方法が間違っていて、make----make-make-make-breakが正しい作法のところ、make----break-make-break-make-break と少し変わった方法を採っている ような気がしますね。 (全く使った事がないので、コメントからの想像だけですが) この2点を GlovePie の作者の方に連絡し、修正してもらった方が良いような気もします。 現在の GlovePie の挙動でもKeyToKeyでそれなりに動くマクロは書けますが、終了側の反応が鈍くなるので使い心地はあまり良くないと思います。 0 key0x2key がしました 832. 名無しさん 2023年10月14日 13:30 >>831 ずっと昔から更新されていないみたいなので、とりあえずリピートしないキーで使ってみます。 0 key0x2key がしました 833. 名無しさん 2023年10月16日 12:30 アクションマクロについて質問です スペースキーを押している間、スペースキーとFキーを連打するマクロを組んでいるのですが、スペースキーを押しながらFキーを押した場合、連打ではなく長押し(実際のFキーの入力を優先)させたい場合はどういうアクションや設定の追加が必要でしょうか? 難しければ諦めますので、面倒かどうかだけでもお教えいただけるとありがたいです 0 key0x2key がしました 834. 名無しさん 2023年10月16日 21:08 >>833 確認になります。 物理スペースキーのみ押されている場合 → 仮想スペースキーは連打、仮想Fキーは連打 物理スペースキーと物理Fキーが押されている場合 → 仮想スペースキーは???、仮想Fキーは長押し 物理Fーのみ押されている場合 → 仮想スペースキーは???、仮想Fキーは??? このあたり詳しくお願いします。 0 key0x2key がしました 835. 名無しさん 2023年10月16日 22:18 >>834 説明不足ですみません。 物理スペースキーのみ押されている場合 → 仮想スペースキーは連打、仮想Fキーは連打 物理スペースキーと物理Fキーが押されている場合 → 仮想スペースキーは連打、仮想Fキーは長押し 物理Fーのみ押されている場合 → 仮想スペースキーは入力なし、仮想Fキー長押し としたいです。 また、 物理スペースキーを押す(仮想F連打) ↓ 後から物理Fキーを押す(仮想F長押し) ↓ Fキーを離さずに物理スペースキーを離す(仮想F連打終了) この入力順だと、最後物理Fキーを押しっぱにも関わらずFキーの入力がない状態だと思うのですが、 長押しのまま処理を終えることも可能かどうかお教えいただきたいです。 あまりこういうことに詳しくないので的はずれなことを言っていたらすみません。 0 key0x2key がしました 836. 名無しさん 2023年10月16日 23:26 >>835 こんな感じになりそうです。 スペースキーにこのマクロを割り当てて下さい。 なお、ターゲットアプリによっては物理Fキーを押した状態ても仮想Fキーが連打されてしまうかも知れません。そのときはコメントお願いします。 また、このマクロでは数百回もしくは数千回に1度ぐらいの割合で(全ての物理キーを離した後も)仮想Fキーが押されっぱなしになるかも知れません。これもまたコメントお願いします。 >この入力順だと、最後物理Fキーを押しっぱにも関わらずFキーの入力がない状態だと思うのですが、 鋭いです。 マクロの書き方によってはそうなります。 [ {"Name":"Local.Assign","Arguments":["$親キー","Keys.Space"]}, {"Name":"Local.Assign","Arguments":["$子キー","Keys.F"]}, {"Name":"Local.Assign","Arguments":["$tick","17"]}, {"Name":"@While","Arguments":["Input.GetPhysicalState($親キー)"]}, {"Name":"Tap","Arguments":["$親キー","$tick"]}, {"Name":"@If","Arguments":["Input.GetPhysicalState($子キー)"]}, {"Name":"Down","Arguments":["$子キー","$tick"]}, {"Name":"@Else"}, {"Name":"Tap","Arguments":["$子キー","$tick"]}, {"Name":"@EndIf"}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 837. 名無しさん 2023年10月18日 05:49 >>836 本当にありがとうございます。直接マクロを教えていただけるとは思いませんでした。 今試してみたのですが、現状特何も不具合がないようなのでこのまま使わせてもらいます。 一点、コンソールという部分にバッジが付いており一件の読み込みエラーと表示されているのですが、これは無視してていいものでしょうか?(挙動に支障はなさそうなので問題ないようであれば放っておきます。) 0 key0x2key がしました 838. 名無しさん 2023年10月18日 22:09 >>837 対処しておくのがお勧めです。 KeyToKey → コンソール → 表示 からコンソール画面を表示すれば、どのような読み込みエラーのエラーメッセージが出ているのか確認できます。 大抵は、割り当てたマクロにエラーがあって割り当てに失敗しています。その場合はマクロ名でなく、割り当てたキーだけがコンソールに表示されるようです。必要であればマクロの修正、不必要であれば割り当ての削除、などで対処する事になります。 0 key0x2key がしました 839. 名無しさん 2023年10月21日 10:34 お世話になっております。 プロファイルの自働切り替え機能について質問があります。 プロファイル1とプロファイル2を作成し、 それぞれ別々のソフトでプロファイルが切り替わるように設定しました。 プロファイル1はソフトA実行時に、プロファイル2はソフトB実行時に有効になるように設定したのですが、 実際にソフトAを実行しているとプロファイル1のマクロと同時にプロファイル2のマクロまで実行されてしまします。 設定などあるのでしょうか? 0 key0x2key がしました 840. 開発者 2023年10月21日 19:35 >>839 >>実際にソフトAを実行しているとプロファイル1のマクロと同時にプロファイル2のマクロまで実行されてしまします。 プロファイルの切り替えはメインプロファイル(メインウィンドウ上部一番左側のタブ)のプロファイルをアプリによって切り替える機能です。 それが正しく動作しているとすればマクロが同時に実行されることはないはずです。 もしプロファイルを同時使用(メインウィンドウ上部タブで追加可能)しているのであれば、アプリの許可設定をしてみてください。 https://github.com/x0oey6B8/KeyToKey-Web/wiki/KeyToKeyが動作するアプリ(プロセス)を制限する また、自動切り替えでプロファイルが正しく切り替わっているのかどうかも確認してみてください。 指定のアプリをアクティブにした後、KeyToKeyのメインウィンドウを開き、プロファイルが変わっていることを確認してください。 0 key0x2key がしました 841. 名無しさん 2023年10月21日 21:00 >>840 開発者様 返信ありがとうございます。 勘違いしていました。 プロファイル一覧の上のプラスマークから2つのプロファイルを開いていたため、 ソフトにかかわらずマクロが同時に動作していました。 開いているプロファイルを1つにし、それぞれ対応するソフトを起動したところ、 対応したプロファイルに変わることが確認できました。 お騒がせいたしました。 0 key0x2key がしました 842. 名無しさん 2023年10月22日 10:46 アクションマクロについてです。 「画像認識で認識できた位置(座標)にマウスカーソルを移動させる」 といったマクロをアクションマクロで組みたい場合、どうしたらいいと思いますか? どなたかご存知の方いませんか。 0 key0x2key がしました 843. 開発者 2023年10月22日 12:24 >>842 アクションリストを右クリックして「テンプレートを追加する」->「画像認識:一つだけ探す」->「末尾に追加」をクリックします。 これで画像認識用のテンプレートアクションが追加されます。 テンプレートアクションは画像が見つかった場所にマウスを移動させます。 0 key0x2key がしました 844. 名無しさん 2023年10月22日 12:36 >>842 このようなアクションマクロを組むことになります。前後の [ ] も含めてコピーし、アクションマクロ編集エリアにペーストして下さい。 ただ、この変数名に関する情報は、githubのマニュアルにも、KeyToKey側のアクション作成ウィンドウにもメソッド作成ウィンドウにも明示されていないので、情報に辿り着くのはやや難しいかと思います。 アクションマクロ編集エリア → 右クリック → テンプレートを追加する → 画像認識:1つだけ探す からテンプレートを挿入するのが定石です。これで変数名を調べる・知る事ができます。 [ {"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"識別キー\")"]}, {"Name":"MouseMove","Arguments":["$MatchResultX","$MatchResultY"]}, {"Name":"@EndIf"}, ] 0 key0x2key がしました 845. 名無しさん 2023年10月26日 13:44 アクションマクロについてです。 KeyToKeyの起動時に一緒にマクロを実行するようにする為に、スタートアップマクロに登録しようとしてます。 その実行したいマクロの質問になります。 外部exeを起動するようにマクロに登録することは可能なのでしょうか? 0 key0x2key がしました 846. 開発者 2023年10月26日 17:27 >>845 「プロセスを実行」アクションを使用することでexeファイルを起動させることができます。 「プロセス名」にはexeファイルのパスを指定してください。 例:「@"C:\windows\system32\calc.exe"」 0 key0x2key がしました 847. 名無しさん 2023年10月26日 20:34 >>846 例にある形式で組んだのですが、起動しても指定のアプリが起動されませんでした。 起動できないexeファイルがあったりしますでしょうか… 0 key0x2key がしました 848. 開発者 2023年10月27日 01:50 >>847 起動用の引数や作業用フォルダのパスを設定する必要のあるアプリもあります。 起動用の引数はアクションの2つ目の項目に設定することができますが、作業用フォルダのパスについてはアクションでは設定することができません。 また、起動できない原因としてパスが正しくない場合もあります。 ファイルをクリックしてパスをコピーし、アクションの設定に貼り付けてみてください。 ■コピー方法 Windows11:ファイルを右クリックすることでメニューからパスをコピー。 Windows10:ファイルをShift+右クリックでメニューからパスをコピー。 ■パス指定方法の注意点 「@"C:\Folder\Exe.exe"」のようにパスは「@マーク+二重引用符」を使う必要があることに注意してください。 また、パスや記号はすべて半角英数字で入力してください。 0 key0x2key がしました 849. 名無しさん 2023年10月28日 19:18 アクションマクロについて質問です。 現在以下のようなマクロをキーボード・マウスで使用しています。 [ {"IsDisabled":false,"Name":"UseHighPrecisionWait","Arguments":["True"]}, {"IsDisabled":false,"Name":"Local.Assign","Arguments":["$連打キー","Keys.A"]}, {"IsDisabled":false,"Name":"@While","Arguments":["Input.GetPhysicalState($連打キー)"]}, {"IsDisabled":false,"Name":"@If","Arguments":["Input.GetKeyState(Keys.XButton2)"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["$連打キー","10","10","True"]}, {"IsDisabled":false,"Name":"@Else","Arguments":[]}, {"IsDisabled":false,"Name":"Down","Arguments":["$連打キー","50"]}, {"IsDisabled":false,"Name":"@EndIf","Arguments":[]}, {"IsDisabled":false,"Name":"@EndWhile","Arguments":[]}, {"IsDisabled":false,"Name":"Up","Arguments":["$連打キー"]} ] 簡単に説明すると、マウスのサイドボタンを押している間にAキーが入力されると Aキーが連打入力になり、それ以外はAキーが通常の入力になります。 このマクロをAキーに割り当てて使用しています。 上記ののマクロをコントローラーと合体させたいと思っています。 PS4コントローラーを使用しているのですが、 コントローラーの〇ボタンが押されている間に左スティックの左が入力されたら Aキーが連打され、それ以外はAキーが通常の入力になるようにすることは可能でしょうか? 0 key0x2key がしました 850. 名無しさん 2023年10月28日 22:35 >>849 まず DUALSHOCK 4 をKeyToKeyで選択・セットアップして下さい。 それが済めば、恐らくこんな感じのマクロを〇ボタンに割り当てれば可能だと思います。 [ {"Name":"UseHighPrecisionWait","Arguments":["True"]}, {"Name":"Local.Assign","Arguments":["$連打キー","Keys.A"]}, {"Name":"@While","Arguments":["Input.GetPhysicalState($連打キー)"]}, {"Name":"@If","Arguments":["Input.GetControllerButtonState(\"LeftStickLeft\")"]}, {"Name":"Tap","Arguments":["$連打キー","10","10","True"]}, {"Name":"@Else"}, {"Name":"Down","Arguments":["$連打キー","50"]}, {"Name":"@EndIf"}, {"Name":"@EndWhile"}, {"Name":"Up","Arguments":["$連打キー"]}, ] 0 key0x2key がしました 851. 名無しさん 2023年10月29日 07:49 >>850 ありがとうございます。 https://github.com/x0oey6B8/KeyToKey-Web/wiki/%E3%82%AD%E3%83%BC%E3%81%A8%E3%83%9E%E3%82%A6%E3%82%B9%E3%81%AE%E5%80%A4%E4%B8%80%E8%A6%A7 上のページみたいに 左スティックの左=LeftStickLeft のような対応表ってどこかに載っていたりしますか? 0 key0x2key がしました 852. 名無しさん 2023年10月29日 08:59 >>850 上のマクロを試してみましたが、うまくいきませんでした。 トリガーに設定したボタンを押すと一瞬だけステータスが実行中に変わりますが、 Aキーが入力されることはありませんでした。 0 key0x2key がしました 853. 名無しさん 2023年10月29日 11:28 >>851 その対応表の在処はわかりません。 「左スティックの左=LeftStickLeft」の発見手順を以下に記します。 https://i.imgur.com/uHfip8V.png この手順の後で、クリップボードの中身を適当な箇所にペーストします。 これらの文字列には何らかの雛形があるかも知れませんが、(XInputとDirectInputの融和や8方向への対応などを経て)KeyToKeyオリジナルだと思います。 >>852 大変失礼しました。3行目が前回のキーボード入力のままでした。 [ {"Name":"UseHighPrecisionWait","Arguments":["True"]}, {"Name":"Local.Assign","Arguments":["$連打キー","Keys.A"]}, {"Name":"@While","Arguments":["Input.GetTriggerState()"]}, {"Name":"@If","Arguments":["Input.GetControllerButtonState(\"LeftStickLeft\")"]}, {"Name":"Tap","Arguments":["$連打キー","10","10","True"]}, {"Name":"@Else"}, {"Name":"Down","Arguments":["$連打キー","50"]}, {"Name":"@EndIf"}, {"Name":"@EndWhile"}, {"Name":"Up","Arguments":["$連打キー"]}, ] 0 key0x2key がしました 854. 名無しさん 2023年10月29日 12:33 >>853 おかげさまで無事動作確認できました。 ボタンの発見手順まで教えていただいてありがとうございます。 もう一つ教えていただきたいのですが、 連打するキーをキーボードのAキーから コントローラーのR1ボタンに変更したい場合は どのように書き換えたらよいのでしょうか? 0 key0x2key がしました 855. 名無しさん 2023年10月29日 13:23 >>854 仮想ゲームパッドのドライバ(ScpVBusかViGMeかvJoy)は使用中ですか? 「マッピング」は使用中ですか? マクロによる仮想ゲームパッドの操作と物理ゲームパッドの操作を混在させてターゲットアプリに伝える予定はありますか? これらの質問がさっぱりわからない場合は、 https://github.com/x0oey6B8/KeyToKey-Web/wiki/仮想コントローラーとマッピングに関する設定や注意事項 の前半を熟読し、後半に軽く目を通す事をお勧めします。 0 key0x2key がしました 857. 名無しさん 2023年10月29日 16:37 >>855 >仮想ゲームパッドのドライバ(ScpVBusかViGMeかvJoy)は使用中ですか? 仮想ゲームパッドドライバはインストール済みです。 >「マッピング」は使用中ですか? 現在Xinputコントローラーにマッピングして使用しております。 >マクロによる仮想ゲームパッドの操作と物理ゲームパッドの操作を混在させてターゲットアプリに伝える予定はありますか? >>854の内容がこれに該当すると思っているのですが、認識が間違っていますでしょうか? 0 key0x2key がしました 858. 名無しさん 2023年10月29日 20:36 >>857 > >>854の内容がこれに該当すると思っているのですが、認識が間違っていますでしょうか? マッピングを利用しない、つまり、 「 物理ゲームパッドの操作はマクロが読み取るのみで、ターゲットアプリには読み取らせない。 仮想ゲームパッドは全てマクロが制御し、それをターゲットアプリに読み取らせる。 」 という場合は>>854であっても操作が混在しません。 既にマッピングを使用しているのであれば、混在させるのが自然な利用法になるかと思います。 マクロはこんな感じになりそうです。 押し放し側の時間をやや短くしてあります。これは1msなど極端に短くしても正しく動作するはずです。それにより操作の反映がわずかながら速くなる可能性もあります。 キーボードに対しては上手く行かなかった経験があるので、キーボードでは長めに待機時間を取りました。 [ {"Name":"UseHighPrecisionWait","Arguments":["True"]}, {"Name":"Local.Assign","Arguments":["$id","0"]}, {"Name":"Local.Assign","Arguments":["$連打ボタン","\"RB\""]}, {"Name":"XInput.SuspendMapping","Arguments":["$id","$連打ボタン"]}, {"Name":"@While","Arguments":["Input.GetTriggerState()"]}, {"Name":"@If","Arguments":["Input.GetControllerButtonState(\"LeftStickLeft\")"]}, {"Name":"XInput.Tap","Arguments":["$id","$連打ボタン","10","10"]}, {"Name":"@Else"}, {"Name":"XInput.Down","Arguments":["$id","$連打ボタン","20"]}, {"Name":"@EndIf"}, {"Name":"@EndWhile"}, {"Name":"XInput.ResumeMapping","Arguments":["$id","$連打ボタン"]}, ] 0 key0x2key がしました 861. 名無しさん 2023年10月29日 21:32 >>858 私の理解が追いついておらず、申し訳ありません。 丁寧に教えていただきありがとうございます。 >>マッピングを利用しない、つまり、 「物理ゲームパッドの操作はマクロが読み取るのみで、ターゲットアプリには読み取らせない。 仮想ゲームパッドは全てマクロが制御し、それをターゲットアプリに読み取らせる。」 例えば マッピングを利用する場合、 コントローラーで物理的にR1を入力→マクロでR1入力時、スペースキー連打 とした場合、コントローラーで入力したR1とスペースキーが同時に対象アプリ側に 入力されてしまうということでしょうか? マッピングを利用しないことでコントローラーからの入力をkeytokeyで遮断し、 対象アプリにはコントローラーの入力は反映されずkeytokeyの出力のみ反映されるということであれば、 keytokeyの設定自体を見直すことになりそうですが、私的にはマッピングを利用しない方が希望と合致しています。 0 key0x2key がしました 862. 名無しさん 2023年10月29日 22:02 >>861 >コントローラーで物理的にR1を入力→マクロでR1入力時、スペースキー連打 >とした場合、コントローラーで入力したR1とスペースキーが同時に対象アプリ側に >入力されてしまうということでしょうか? その通りです。 キーボードやマウスのイベントは容易に遮断できますし、KeyToKeyのデフォルトで遮断されるようになっていますが、ゲームパッドに関しては違います。 ゲームパッドを物理から仮想へマッピングしていると基本的に全ての操作が貫通します。 ただ、マッピングは丸ごとON/OFFもできますし、1つ1つのボタン、1つ1つのスティック毎にマッピングのON/OFFを切り替える事もできます。 プロファイルの設定(つまり手動・静的)も可能ですし、マクロから動的に変更する事も可能です。 858のアクションマクロではR1のマッピングのみを一時的にOFFにして、最後で再びONにしています。 部分的にマッピングをOFFする設定は以下を参照してください。 https://i.imgur.com/UMdOvsV.png 0 key0x2key がしました 863. 名無しさん 2023年10月30日 19:07 >>862 すべてのマッピングをOFFにする場合は、 割り当て設定(コントローラー)→仮想コントローラー及びvJoyにマッピングするのチェックを全て外す で大丈夫でしょうか? [ {"IsDisabled":false,"Name":"UseHighPrecisionWait","Arguments":["True"]}, {"IsDisabled":false,"Name":"Local.Assign","Arguments":["$連打キー","Keys.space"]}, {"IsDisabled":false,"Name":"@While","Arguments":["Input.GetTriggerState()"]}, {"IsDisabled":false,"Name":"@If","Arguments":["Input.GetControllerButtonState(\"B\")"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["$連打キー","50","50","True"]}, {"IsDisabled":false,"Name":"@Else","Arguments":[]}, {"IsDisabled":false,"Name":"Down","Arguments":["$連打キー","50"]}, {"IsDisabled":false,"Name":"@EndIf","Arguments":[]}, {"IsDisabled":false,"Name":"@EndWhile","Arguments":[]}, {"IsDisabled":false,"Name":"Up","Arguments":["$連打キー","0","True"]} ] 上記のマクロをR1ボタンに割り当て使用していますが、 R1ボタンの入力とspaceキーの両方がアプリに入力されてしまっているようです。 0 key0x2key がしました 864. 名無しさん 2023年10月30日 21:58 >>863 マッピングのOFFは、XInput4か所、DualShock1か所、vJoy1か所のチェックが外れていればOKです。 ただし、アプリ(またはゲームプラットフォーム)が、物理DualShockを読んでいる場合はマッピングをOFFしても改善されないはずです。 この点を気を付けて下さい。 0 key0x2key がしました 866. 名無しさん 2023年10月30日 22:31 >>864 まさにそのせいでした。 steamで使用していたのですが、steamでコントローラーの入力を読み込んでいたようです。 steamのコントローラー入力をOFFにしたら、コントローラー本体の入力が遮断されました。 お手数をおかけいたしました。 大変助かりました。 0 key0x2key がしました 856. 名無しさん 2023年10月29日 16:37 C#スクリプトについて質問です! 右クリックが離れたら。という条件を組むことはできるのでしょうか? 右クリックが離れたら左クリックを押す というマクロをC#スクリプトで作成したいです。 アクションマクロではできたのですが、C#スクリプトでも作ってみたいので教えていただけたら助かります! 0 key0x2key がしました 859. 名無しさん 2023年10月29日 20:51 >>856 KeyToKeyを活用するなら、 Tap(Keys.LButton); という1行のC#スクリプトを、マウス(右)に「マクロを割り当てる(離したら)」で割り当てる事になります。 何かC#スクリプトの実行中にそれをするのでしたら、 WaitForInput(Keys.RButton, whenDown: false); Tap(Keys.LButton); の2行になります。 もっと根源的な方法はこちらです。 //一旦押されるまで待機 while(! IsPressed(Keys.RButton)){ } //離されるまで待機 while(IsPressed(Keys.RButton)){ } //離されたのでタップ Tap(Keys.LButton); 0 key0x2key がしました 860. 名無しさん 2023年10月29日 20:54 >>859 CPUの負荷軽減のため Wait() を入れた方が良い気がしました。 //一旦押されるまで待機 while(! IsPressed(Keys.RButton)){ Wait(17); } //離されるまで待機 while(IsPressed(Keys.RButton)){ Wait(17); } //離されたのでタップ Tap(Keys.LButton); 0 key0x2key がしました 865. 名無しさん 2023年10月30日 22:26 アクションマクロについて質問があります。 現在コントローラーをつないでマクロ機能を使用しているのですが、 右スティックと左スティックを入れ替えてゲーム側に出力することは可能でしょうか? 物理コントローラーの左スティックを入力すると、ゲーム側で右スティックで入力されたと認識させたいです。 逆も同じです。 0 key0x2key がしました 868. 名無しさん 2023年10月31日 20:41 >>865 既にマッピングは使っていますか? 0 key0x2key がしました 870. 名無しさん 2023年10月31日 20:59 >>868 現在、仮想Xinputコントローラーにマッピングしております。 0 key0x2key がしました 871. 名無しさん 2023年10月31日 21:33 >>870 ゲームの設定やゲームプラットフォームの設定で頑張った方が楽な気もします。 特に、仮想Xinputドライバは、XInputだけでなくDirectInputの出力も持っていますので、こちらをゲーム若しくはゲームプラットフォームで読み込めば、必ずスティックの設定が伴いますのでそこで逆転できます。 マクロで入れ替えるならこうなります。 プロファイルロード時に実行される「スタートアップマクロ」に登録するのが良いと思います。 (何かのキーやボタンに割り当てて、KeyToKeyのトグルでオン・オフしようとすると、オフした後のマッピングが壊れているはずです。つまりオフに未対応のマクロなので気を付けて下さい) [ {"Name":"Local.Assign","Arguments":["$id","0"]}, {"Name":"XInput.SuspendMapping","Arguments":["$id","\"LeftStickX\"","\"LeftStickY\"","\"RightStickX\"","\"RightStickY\""]}, {"Name":"@While","Arguments":["True"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickX\"","+Controller.GetStick(\"LeftStickX\")","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickY\"","-Controller.GetStick(\"LeftStickY\")","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickX\"","+Controller.GetStick(\"RightStickX\")","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickY\"","-Controller.GetStick(\"RightStickY\")","0"]}, {"Name":"Wait","Arguments":["17"]}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 872. 名無しさん 2023年11月01日 19:14 >>871 ありがとうございます。 動作確認できました。 0 key0x2key がしました 867. 名無しさん 2023年10月31日 20:06 お世話になってます。 アクションマクロについて質問です。 コントローラーを使用して、仮想Xinputコントローラーにマッピングしております。 十字ボタン下を1回押すとマクロが有効になる。 マクロ有効中は左スティックの上下左右がそれぞれキーボードのWSADに切り替わる。 もう一度十字キー下を押すとマクロが無効化される。 上記のようなマクロを作ってみようと思いましたが、なかなかうまくいきません。 試しに作ったコードを張ろうと思ったのですが、文字数が多くて貼り付けられませんでした。 有識者の方、ご助力をお願いいたします。 0 key0x2key がしました 869. 名無しさん 2023年10月31日 20:52 >>867 こんな要領になりそうです。 [ {"Name":"Local.Assign","Arguments":["$id","0"]}, {"Name":"@While","Arguments":["Input.GetTriggerState()"]}, {"Name":"@EndWhile"}, {"Name":"XInput.SuspendMapping","Arguments":["$id","\"LeftStickY\"","\"LeftStickX\""]}, {"Name":"@While","Arguments":[" ! Input.GetTriggerState()"]}, {"Name":"@If","Arguments":["Input.GetControllerButtonState(\"LeftStickLeft\")"]}, {"Name":"Down","Arguments":["Keys.W"]}, {"Name":"@Else"}, {"Name":"Up","Arguments":["Keys.W"]}, {"Name":"@EndIf"}, {"Name":"@If","Arguments":["Input.GetControllerButtonState(\"LeftStickDown\")"]}, {"Name":"Down","Arguments":["Keys.S"]}, {"Name":"@Else"}, {"Name":"Up","Arguments":["Keys.S"]}, {"Name":"@EndIf"}, {"Name":"Wait","Arguments":["17"]}, {"Name":"@EndWhile"}, {"Name":"Up","Arguments":["Keys.W"]}, {"Name":"Up","Arguments":["Keys.S"]}, {"Name":"Up","Arguments":["Keys.A"]}, {"Name":"Up","Arguments":["Keys.D"]}, {"Name":"XInput.ResumeMapping","Arguments":["$id","\"LeftStickY\"","\"LeftStickX\""]}, ] 0 key0x2key がしました 873. 名無しさん 2023年11月04日 18:09 >>869 ありがとうございます。 多少修正してイメージ通りの動作を確認できました。 ここにプラスして、右スティックをマウスの動作に対応させることは可能でしょうか? 0 key0x2key がしました 874. 名無しさん 2023年11月04日 21:55 >>873 >ここにプラスして、右スティックをマウスの動作に対応させることは可能でしょうか? その機能をオン・オフさせないのであれば、 割り当て設定(コントローラー) のゲームパッド図の下にある「カーソルの割り当て」が手っ取り早いです。 十字ボタン下などでオン・オフさせる流れでの話でしたら、以下のマクロを869のマクロと統合させると良いかと思います。 [ {"Name":"Local.Assign","Arguments":["$tick","17"]}, {"Name":"Local.Assign","Arguments":["$不感","100"]}, {"Name":"Local.Assign","Arguments":["$感度","$tick*0.00006"]}, {"Name":"@While","Arguments":["true"]}, {"Name":"Local.Assign","Arguments":["$x","Controller.GetStick(\"RightStickX\")"]}, {"Name":"Local.Assign","Arguments":["$y","Controller.GetStick(\"RightStickY\")"]}, {"Name":"@If","Arguments":["$x*$x+$y*$y>$不感*$不感"]}, {"Name":"MouseMove","Arguments":["Input.GetCursorX()+$x*$感度","Input.GetCursorY()+$y*$感度","0"]}, {"Name":"@EndIf"}, {"Name":"Wait","Arguments":["$tick"]}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 875. 名無しさん 2023年11月05日 11:45 >>874 ありがとうございます。 十字ボタン下をトグルモードで使用させていただきます。 度々申し訳ないのですが、マクロのオフ条件に〇ボタンを押下を追加することは可能でしょうか? オンにするときは十字ボタン下のみで、 オフにするときはもう一度十字ボタン下を押すor〇ボタンを押す というような感じにしたいです。 0 key0x2key がしました 876. 名無しさん 2023年11月05日 13:08 >>875 ループ条件の変更で対応できそうです。 [ {"Name":"Local.Assign","Arguments":["$tick","17"]}, {"Name":"@While","Arguments":["!Input.GetTriggerState() && !Input.GetControllerButtonState(\"B\")"]}, {"Name":"//","Arguments":["メインループの中身"]}, {"Name":"Wait","Arguments":["$tick"]}, {"Name":"@EndWhile"}, ] 0 key0x2key がしました 877. 名無しさん 2023年11月07日 18:50 >>876 返事遅れてすみません。 ただいま動作の方確認できました。 何から何までありがとうございました。 0 key0x2key がしました 878. 名無しさん 2023年11月08日 15:12 アクションマクロについての質問です。 画像認識を使用して、認識した場所を一度だけクリックさせたいのですが、現状認識範囲内にその画像がある限り連続でクリックし続けてしまいます。 特定の動作を一度だけ行わせて次の動作に移行させたい場合、どのような処理をさせればよいのでしょうか? 初歩的な質問で申し訳ありませんがよろしくお願いします。 0 key0x2key がしました 879. 名無しさん 2023年11月08日 21:03 >>878 確認になります。 画像認識で画像が見つからなかった場合はどんな動作をさせる予定ですか? 0 key0x2key がしました 880. 名無しさん 2023年11月08日 21:58 >>879 >画像認識で画像が見つからなかった場合はどんな動作をさせる予定ですか? 説明不足ですみません。画像が見つからなかった場合、その画像が認識されるまで動作を待機させたいと考えています。 画像Aが認識されるまで待機 ↓ 画像Aを認識したら一連の動作A´を一度だけ行わせ、画像Bを認識するまで待機 ↓ 画像Bを認識したら一連の動作B´を…… というように画像が認識されるごとに一つずつ段階を進め、最後の動作が終わったら再び画像Aを認識するまで待機する、といったマクロを作ろうとしています。現在の設定ではトグルモードと繰り返しを併用しています。 0 key0x2key がしました 881. 名無しさん 2023年11月08日 22:45 >>880 このようなマクロでいけそうです。 [ {"Name":"@While","Arguments":[" ! TemplateMatching.TryMatch(\"画像A\")"]}, {"Name":"Wait","Arguments":["100"]}, {"Name":"@EndWhile"}, {"Name":"//","Arguments":["画像Aを認識した後の動作"]}, {"Name":"//","Arguments":["画像Aを認識した後の動作"]}, {"Name":"@While","Arguments":[" ! TemplateMatching.TryMatch(\"画像B\")"]}, {"Name":"Wait","Arguments":["100"]}, {"Name":"@EndWhile"}, {"Name":"//","Arguments":["画像Bを認識した後の動作"]}, {"Name":"//","Arguments":["画像Bを認識した後の動作"]}, ] 0 key0x2key がしました 882. 名無しさん 2023年11月09日 00:08 >>881 ありがとうございます。問題なく動作することを確認しました。 今までは、"テンプレートを追加する"から画像認識のテンプレートアクションを追加し、動作部分のみ編集してそのまま使っていたため最初に書き込んだような挙動になってしまっていたようです。 ループの条件に画像認識を使用することを教えて頂けたので、今まで使っていたマクロも改善できそうです。素早い対応でとても助かりました。ありがとうございました。 0 key0x2key がしました 883. 名無しさん 2023年11月14日 03:31 アクションマクロについて質問です。 下記のマクロで画像認識Aと画像認識Bの間に待機30秒を入れているのですが これを画像認識Aの後 30秒間 画像認識Bを監視し画像Bが表示され次第 Bの内容を実行する事はできますか? 良かったら教えてください、宜しくお願い致します。 [ {"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"A\") == False"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["Keys.Escape","100","100","True"]}, {"IsDisabled":false,"Name":"@EndIf","Arguments":[]}, {"IsDisabled":false,"Name":"WaitSeconds","Arguments":["30"]}, {"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"B\") == True"]}, {"IsDisabled":false,"Name":"MouseMoveBySteps","Arguments":["500","600","100","1","True","True"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["Keys.LButton","100","100","True"]}, {"IsDisabled":false,"Name":"@EndIf","Arguments":[]}, {"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"C\") == True"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["Keys.B","100","100","True"]}, {"IsDisabled":false,"Name":"@EndIf","Arguments":[]} ] 0 key0x2key がしました 884. 開発者 2023年11月14日 19:44 >>883 条件ループを使って画像が見つかるまで待機するのはどうでしょう? [ {"IsDisabled":false,"Name":"//","Arguments":["画像認識の結果がFalse(見つからなかった)の間ループする"]}, {"IsDisabled":false,"Name":"@While","Arguments":["TemplateMatching.TryMatch(\"B\") == False"]}, {"IsDisabled":false,"Name":"WaitSeconds","Arguments":["5"]}, {"IsDisabled":false,"Name":"@EndWhile","Arguments":[]}, {"IsDisabled":false,"Name":"//","Arguments":["見つかったらループが終了し次のアクションが実行される"]}, {"IsDisabled":false,"Name":"MouseMoveBySteps","Arguments":["500","600","100","1","True","True"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["Keys.LButton","100","100","True"]} ] 0 key0x2key がしました 885. 名無しさん 2023年11月14日 23:12 >>883 開発者さんが示されたマクロで充分実用的と思いますが、30秒経過後までに画像Bが表示されなかったら処理を諦めるマクロを書いてみました。 4行目で30秒の監視時間を指定しています。 [ {"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"A\") == False"]}, {"Name":"Tap","Arguments":["Keys.Escape","100","100"]}, {"Name":"@EndIf"}, {"Name":"Local.Assign","Arguments":["$timeEnd","GetTickCount()+30000"]}, {"Name":"@While","Arguments":["true"]}, {"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"B\") == True"]}, {"Name":"MouseMoveBySteps","Arguments":["500","600","100","1","True"]}, {"Name":"Tap","Arguments":["Keys.LButton","100","100"]}, {"Name":"@Break"}, {"Name":"@EndIf"}, {"Name":"@If","Arguments":["GetTickCount()>$timeEnd"]}, {"Name":"@Break"}, {"Name":"@EndIf"}, {"Name":"Wait","Arguments":["500"]}, {"Name":"@EndWhile"}, {"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"C\") == True"]}, {"Name":"Tap","Arguments":["Keys.B","100","100"]}, {"Name":"@EndIf"}, ] 0 key0x2key がしました 886. 名無しさん 2023年11月15日 02:05 >>883 >>884 >>885 やりたいことが出来ました! 本当に助かりました、ありがとうございます。 0 key0x2key がしました 887. 名無しさん 2023年11月15日 16:29 質問です。左クリックを押したときと離したときに左クリックを入力させるにはどのような設定をすればいいですか 0 key0x2key がしました 888. 開発者 2023年11月15日 22:05 >>887 はじめに左クリックを行うマクロを作成します。 次にマクロをマウス左ボタンに割り当てます。 割り当てる際には「マクロを割り当てる(押したとき、離したとき)」を選択します。 選択画面が二回表示されるので作ったマクロをそれぞれ割り当てます。 0 key0x2key がしました 889. 名無しさん 2023年11月15日 22:09 >>887 マクロが必要となります。 C#スクリプト(マクロ)とアクションマクロ、どちらかに慣れていますか? 0 key0x2key がしました 890. 名無しさん 2023年11月16日 15:31 >>889 アクションマクロのほうが慣れています。 0 key0x2key がしました 891. 名無しさん 2023年11月16日 20:56 >>890 開発者さんとダブってしまいすみません。 マクロの作成は問題無いと思いますが、一応念のためマクロ例です。 [ {"Name":"Tap","Arguments":["Keys.LButton","17","0"]}, ] 後から割り当ての中身を確認すると、 「離したとき」「離されたら」 に割り当てたはずのマクロが 「マクロが停止した時」 に割り当てられていますがそれで正常に動作します。 0 key0x2key がしました 892. 名無しさん 2023年11月18日 09:35 >>891 ありがとうございます。 0 key0x2key がしました 893. 最小化さん 2023年11月26日 12:19 いつもKeyToKeyにお世話になっています。 タスクスケジューラで起動時に実行するようにしたのですが、ツール本体の最小化ができません。dat→vbsから最小化を試みてもKeyToKey側のDOS窓が最小化されるだけで緑色のツール本体は最小化できないないです...なにか解決策があれば返信を貰えると助かります 0 key0x2key がしました 894. 名無しさん 2023年11月26日 21:33 >>893 最小化に拘る場合、 DOS窓のウィンドウタイトルが「KeyToKey - Console / 非表示:Ctrl + C」で、 メインウィンドウのタイトルが「C:\fullpath\fullpath\fullpath\KeyToKey.exe:KeyToKey」という感じなので、 タイトルでウィンドウを探してみると良いかと思います。 最小化ではありませんが手っ取り早い方法として、 DOS窓の方は、DOS窓にフォーカスを合わせた状態で Ctrl + C を押せば以降非表示となり、 メインウィンドウの方は、タイトルバー右方面にある「非表示」のエリアを左クリックすれば非表示となるはずです。 非表示後はタスクトレイ/通知領域から操作可能です。 0 key0x2key がしました 896. 開発者 2023年11月27日 15:26 >>893 コメント894さんがおっしゃるように「非表示」を使用してみてください。 どうしても最小化を行いたい場合は最小化を行うスクリプトをKeyToKeyで書いてKeyToKey起動時に実行するように設定するといいかもしれません。 ただし、この方法はプロファイルの読み込みを待つ必要があるので最小化されるまで少し時間がかかるかもしれません。 ■設定手順 1.最小化を行うプロファイルを作成します。 2.編集ウィンドウを開き、マクロの作成設定画面を開きます。 3.左側にあるC#スクリプトタブを選択し、ファイルツリーから作成したプロファイルの名前のフォルダを探します(Scripts -> プロファイルの名前) 4.プロファイルの名前のフォルダを右クリックして「新しいスクリプト」をクリックします。 5.下記のスクリプトを貼り付けてCtrl+Sで保存します。 6.環境設定へ移動し、スタートアップスクリプトから「マクロを追加」を選択し作ったスクリプトを指定します。 7.編集を保存します。 8.メインウィンドウの上部プロファイルの名前の横にある+ボタンを押します。 9.タブが追加されるので最小化を実行するプロファイルを選択します。 これでメインウィンドウが起動しプロファイルの読み込みが完了するとスクリプトが実行されメインウィンドウが最小化されるはずです。 ■スクリプト var window = FindWindow("KeyToKey"); if (window.Exists) { window.Minimize(); } 0 key0x2key がしました 895. 名無しさん 2023年11月27日 12:13 いつもお世話になっております。 先程まで問題なく使用できていたのですが、マクロ作成等行うメイン画面だけが急に開かなくなりました。 --------------------------------------------------------- 設定:画像認識の設定 メッセージ:1番目の設定の識別キーが設定されていません。 --------------------------------------------------------- 上記のエラー?が出て開けない状況です。 お忙しいところ恐縮ですがアドバイス頂けますと幸いです。 0 key0x2key がしました 897. 開発者 2023年11月27日 15:46 >>895 そのエラーはプロファイルの読み込みエラーなのでおそらく編集ウィンドウが開かない問題とは関係がないと思われます。 メインウィンドウの「設定編集」をクリックしたとき、他にエラーは出てませんか? あと稀にですが編集ウィンドウは開かれるものの画面に出てこない場合があります。 タスクバーに表示されていないか確認してみてください。 0 key0x2key がしました 898. 名無しさん 2023年11月28日 09:15 >>897 迅速なご返信誠に有難うございます! ご指摘頂いた通り設定編集は開いており枠外に存在しておりました。 お騒がせし申し訳ございませんでした。 これからも愛用させて頂きます! 0 key0x2key がしました 899. 名無しさん 2023年12月11日 08:47 いつも便利に使用させて頂いております! 質問なのですが、 「A」というアプリがアクティブなら「B」をアクティブにする 「B」というアプリがアクティブなら「A」をアクティブにする という事をやりたいのですが、できますでしょうか? 条件分岐の機能でできそうに見えるのですが、アクティブにする、というアクションを設定すればいいのか 分かりませんでした。 アクションマクロだと助かりますが、C#でも構いません。 よろしくいおねがいしますm(_ _)m 0 key0x2key がしました 900. 名無しさん 2023年12月12日 00:09 >>899 とりあえず第一弾として挙げておきますが、手元の環境ではあまり上手く動きません。 これがお手元で上手く動くか教えていただけると幸いです。 第二段があるとしたら C# になると思います。 [ {"Name":"Local.Assign","Arguments":["$a","\"chrome\""]}, {"Name":"Local.Assign","Arguments":["$b","\"brave\""]}, {"Name":"Local.Assign","Arguments":["$now","Window.GetActiveProcessName()"]}, {"Name":"@If","Arguments":["$now==$a"]}, {"Name":"Window.Activate","Arguments":["$b","true"]}, {"Name":"Macro.Abort"}, {"Name":"@EndIf"}, {"Name":"@If","Arguments":["$now==$b"]}, {"Name":"Window.Activate","Arguments":["$a","true"]}, {"Name":"Macro.Abort"}, {"Name":"@EndIf"}, ] 0 key0x2key がしました 901. 開発者 2023年12月12日 06:38 >>899 C#スクリプトで行う方法を下記のページに書きました。 https://gist.github.com/x0oey6B8/0c89122f88bf3f7082cd40671d341467 0 key0x2key がしました 908. 名無しさん 2023年12月17日 10:58 >>901 ありがとうございます C#の方でやってみたのですが、なぜか動きませんでした。 Gitの方には上手くいかなかったときの対応も書かれていたのですが「グローバル変数に格納」などの 用語が分からず、断念することにしました。 せっかくページまで作って頂いたのにすみませんm(_ _)m 0 key0x2key がしました 902. 名無しさん 2023年12月12日 08:33 いつも便利に使わせていただいております。 「トグルで押しっぱなし」をしたいのですがうまくできなくて困っています。 アクションマクロの話なのですが、 ・コントローラーのRTにRT設定かつトグルモード(押しっぱなし)オン ・コントローラーのRBにRT設定かつトグルモード(押しっぱなし)オン ・コントローラーのLBに(キーボードの)W設定かつトグルモード(押しっぱなし)オン 3つのどれを設定しても、「1回は押されるが押しっぱなしにならない」という状況になっています。 (ソフトのウィンドウ上では「実行中」と表示されています) 少なくともキーボードの件についてはメモ帳においても試したので、ゲームとの相性の問題ではなさそうです。 どうすれば「トグルで押しっぱなし」に設定できますでしょうか、よろしくお願いします。 0 key0x2key がしました 903. 開発者 2023年12月12日 18:57 >>902 仮想コントローラーのマッピング機能を使用していませんか? マッピングの機能が仮想コントローラーの入力状態を上書きしているせいでRTが離された状態になるのではないかと思います。 RTを押す処理の前に以下のアクションを使ってマッピングの停止処理を追加してみてください。 仮想XInputコントローラーの場合:「XInput.マッピングの一時停止」 仮想DualShock4コントローラーの場合:「DirectInput.マッピングの一時停止」 また、RTを離したあとはマッピングの再開処理を追加するようにしてください。 ■サンプル 仮想XInputであれば下記のような感じになると思います。 [ から ] までをコピーしてアクションリストに貼り付けてください。 なお、このアクションはマクロ割り当ての設定にあるトグルモードをオフにして使ってください。 [ {"IsDisabled":false,"Name":"//","Arguments":["RTを押す前にマッピングを停止"]}, {"IsDisabled":false,"Name":"XInput.SuspendMapping","Arguments":["0","\"RT\""]}, {"IsDisabled":false,"Name":"//","Arguments":["RTを押す"]}, {"IsDisabled":false,"Name":"XInput.SetTriggerValue","Arguments":["0","\"RT\"","255","0"]}, {"IsDisabled":false,"Name":"//","Arguments":["RTが押されるまで待機"]}, {"IsDisabled":false,"Name":"WaitForControllerInput1","Arguments":["\"RT\"","True"]}, {"IsDisabled":false,"Name":"//","Arguments":["RTを離す"]}, {"IsDisabled":false,"Name":"XInput.SetTriggerValue","Arguments":["0","\"RT\"","0","0"]}, {"IsDisabled":false,"Name":"//","Arguments":["マッピング再開"]}, {"IsDisabled":false,"Name":"XInput.ResumeMapping","Arguments":["0","\"RT\""]} ] 0 key0x2key がしました 904. 開発者 2023年12月12日 19:01 >>903 それかマッピングの設定でRTのマッピングを無効にするのが手軽でいいかもしれません。 0 key0x2key がしました 905. 名無しさん 2023年12月12日 20:40 アクションマクロについての質問です。 やりたいことは画像処理でBの画像を探す。Bがでるまでループ画像処理、出たら次の処理に進む。その中で最初にAの画像がでたら処理をスキップしたいです。(Aのほうを優先して処理したいと思っています。) 現在このようなマクロを作成したのですがこれだと動作しませんでしたので修正点などあればご教授ください。 [ {"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"A\")"]}, {"IsDisabled":false,"Name":"Wait","Arguments":["300"]}, {"IsDisabled":false,"Name":"@Else","Arguments":[]}, {"IsDisabled":false,"Name":"Wait","Arguments":["2000"]}, {"IsDisabled":false,"Name":"@While","Arguments":["TemplateMatching.TryMatch(\"B\") == False"]}, {"IsDisabled":false,"Name":"Wait","Arguments":["2000"]}, {"IsDisabled":false,"Name":"Tap","Arguments":["Keys.D9","100","100","True"]}, {"IsDisabled":false,"Name":"@EndWhile","Arguments":[]}, {"IsDisabled":false,"Name":"//","Arguments":["処理"]}, {"IsDisabled":false,"Name":"@EndWhile","Arguments":[]} ] 0 key0x2key がしました 906. 名無しさん 2023年12月12日 22:39 >>905 上記マクロがコピーミスでないとすると、最後が@条件分岐<終了>でなく@ループ<条件>終了になっているため、プロファイルを保存した時点でコンソールにエラーが表示されているはずです。メインウィンドウにも赤い①の表示が出ます。 最終行を変更してみて下さい。 [ {"Name":"@EndIf"}, ] 0 key0x2key がしました 907. 名無しさん 2023年12月12日 23:52 >>906 ありがとうございます。解決致しました。 0 key0x2key がしました 909. 名無しさん 2023年12月19日 22:22 お世話になっております。 キー割り当てについて質問させてください。 キーボードのLを押した時 ①L ➁0,5秒空ける ③→ ④0,5秒空ける 上のループを100連続で行うように設定したいのですが、やり方をご存じの方がいらっしゃいましたら、教えていただけないでしょうか? よろしくお願いいたします。 0 key0x2key がしました 910. 名無しさん 2023年12月20日 21:50 >>909 キー割り当てだけで実現するのは(ギリギリで)難しそうです。 マクロを使えば簡単です。C#スクリプトとアクションマクロのどちらに慣れていますか? 0 key0x2key がしました 911. 名無しさん 2023年12月20日 21:52 >>910 返信して下さりありがとうございます。 アクションマクロの方が慣れています 0 key0x2key がしました 912. 名無しさん 2023年12月20日 22:31 >>911 こんな感じでしょうか。 [ {"Name":"@EasyFor","Arguments":["100"]}, {"Name":"Tap","Arguments":["Keys.L","50","450"]}, {"Name":"Tap","Arguments":["Keys.Right","50","450"]}, {"Name":"@EndFor"}, ] 0 key0x2key がしました 913. 名無しさん 2023年12月20日 23:26 >>912 ありがとうございます。 ただ、申し訳ないのですが、アクションマクロの基礎的な部分しかわからないので、できれば具体的な設定方法を教えていただけないでしょうか? お手数ですがよろしくお願いします 0 key0x2key がしました 914. 名無しさん 2023年12月21日 21:46 >>913 適当な名前で新規にアクションマクロを作成し、912のマクロを前後の [ ] を含めてコピーし、アクションマクロ編集エリアにペーストして下さい。 キーへのマクロの割り当ては以下が参考になります。 https://github.com/x0oey6B8/KeyToKey-Web/wiki/割り当て設定 https://i.imgur.com/PAiJoD6.png 0 key0x2key がしました 915. 名無しさん 2023年12月22日 00:39 >>914 おかげさまで無事に解決いたしました。 ありがとうございました。 0 key0x2key がしました 916. 名無しさん 2023年12月28日 20:12 お世話になっています。 アクションマクロにおいて、現在のマウスカーソル座標X.Yをそれぞれ、ローカル変数X・ローカル変数Yに代入したいのですが、 どのような方法で取得できますか? 0 key0x2key がしました 917. 名無しさん 2023年12月28日 23:44 >>916 以下に示すマクロで取得できます。 なお、Input.GetCrusorX() などはメソッドと呼ばれるものです。 「アクションを追加する(A)」のアクションマクロ選択ウィンドウの右上に「メソッド作成」というボタンがあります。 こちらを押すと、メソッドの一覧を眺められます。 [ {"Name":"Local.Assign","Arguments":["$X","Input.GetCursorX()"]}, {"Name":"Local.Assign","Arguments":["$Y","Input.GetCursorY()"]}, ] 0 key0x2key がしました 918. 名無しさん 2023年12月29日 12:46 アクションマクロについて質問があります。 マウスの右クリックを押している間、 W:コントローラー左スティック↑ A:コントローラー左スティック← S:コントローラー左スティック↓ D:コントローラー左スティック→ spaceキー:コントローラRBボタン マウス移動:コントローラー右スティック のように入力を切り替えることは可能でしょうか? 0 key0x2key がしました 919. 名無しさん 2023年12月29日 22:02 >>918 仮想ゲームパッドのドライバ(ScpVBusかViGMeかvJoy)は使用中ですか? 「マッピング」は使用中ですか? マクロによる仮想ゲームパッドの操作と物理ゲームパッドの操作を混在させてターゲットアプリに伝える予定はありますか? これらの質問がさっぱりわからない場合は、 https://github.com/x0oey6B8/KeyToKey-Web/wiki/仮想コントローラーとマッピングに関する設定や注意事項 の前半を熟読し、後半に軽く目を通す事をお勧めします。 0 key0x2key がしました 920. 名無しさん 2023年12月30日 08:04 >>919 >>仮想ゲームパッドのドライバ(ScpVBusかViGMeかvJoy)は使用中ですか? インストール済みです。 >>「マッピング」は使用中ですか? 現在使用しておりません。 >>マクロによる仮想ゲームパッドの操作と物理ゲームパッドの操作を混在させてターゲットアプリに伝える予定はありますか? 物理ゲームパッドを使用する予定はありません。 0 key0x2key がしました 921. 名無しさん 2023年12月30日 10:59 >>920 ではこんな感じになります。 [ {"Name":"Local.Assign","Arguments":["$id","0"]}, {"Name":"Local.Assign","Arguments":["$tick","17"]}, {"Name":"Local.Assign","Arguments":["$感度","6000.0/$tick"]}, {"Name":"Local.Assign","Arguments":["$中心X","300"]}, {"Name":"Local.Assign","Arguments":["$中心Y","300"]}, {"Name":"Local.Assign","Arguments":["$初期X","Input.GetCursorX()"]}, {"Name":"Local.Assign","Arguments":["$初期Y","Input.GetCursorY()"]}, {"Name":"@While","Arguments":["Input.GetTriggerState()"]}, {"Name":"MouseMove","Arguments":["$中心X","$中心Y"]}, {"Name":"Wait","Arguments":["$tick"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickX\"","Input.GetPhysicalState(Keys.D)?32767:(Input.GetPhysicalState(Keys.A)?-32768:0","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickY\"","Input.GetPhysicalState(Keys.W)?32767:(Input.GetPhysicalState(Keys.S)?-32768:0","0"]}, {"Name":"@If","Arguments":["Input.GetPhysicalState(Keys.Space)"]}, {"Name":"XInput.Down","Arguments":["$id","\"RB\"","0"]}, {"Name":"@Else"}, {"Name":"XInput.Up","Arguments":["$id","\"RB\"","0"]}, {"Name":"@EndIf"}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickX\"","+(Input.GetCursorX()-$中心X)*$感度","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickY\"","-(Input.GetCursorY()-$中心Y)*$感度","0"]}, {"Name":"@EndWhile"}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickX\"","0","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"LeftStickY\"","0","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickX\"","0","0"]}, {"Name":"XInput.SetStickValue","Arguments":["$id","\"RightStickY\"","0","0"]}, {"Name":"XInput.Up","Arguments":["$id","\"RB\"","0"]}, {"Name":"MouseMove","Arguments":["$初期X","$初期Y"]}, ] 0 key0x2key がしました 922. 名無しさん 2023年12月30日 13:13 >>921 ありがとうございます。 そのままコピーしてみましたが、マウスの右クリックを押した際、 コントローラーの右スティックがずっと左下に入力されたままの状態になってしまいます。 0 key0x2key がしました 923. 名無しさん 2023年12月30日 15:20 >>922 手元では右スティックを含め全機能がそれなりに動作しています。 右スティックに関する2行+2行を「選択中のアクションを無効にする(D)」した場合に、他の機能は動作していますか? マウスカーソルを制限・固定するようなアプリ・マクロが他に走っていませんか? 300, 300 の周辺にはターゲットアプリのウィンドウが表示されていて、そこにマウスカーソルを手動で合わせられますか? ソフトウェア(=チートツール)によるマウスカーソルの移動をターゲットアプリが制限している場合も考えられます。 その場合はちょっと簡単には解決できません。 以下がアンチ・チートツールのテストマクロになります。 [ {"Name":"@EasyFor","Arguments":["600","$i"]}, {"Name":"MouseMove","Arguments":["$i","$i"]}, {"Name":"Wait","Arguments":["6"]}, {"Name":"@EndFor"}, ] 0 key0x2key がしました コメントフォーム 名前 コメント 記事の評価 リセット リセット 顔 星 情報を記憶 コメントを投稿する
コメント一覧 (925)
keytokeyを無効にしてから検索窓でボタンを押し続けたときも0.5秒後ぐらいからrが連打されるので、押し続けた際の連続的な入力がキャンセルされていないからだと思うのですが、なにか設定を変えることで解決できますか?
トリガーとなるキーの最初の入力はキャンセルされていました。
key0x2key
がしました
スペースキーを押している間、スペースキーとFキーを連打するマクロを組んでいるのですが、スペースキーを押しながらFキーを押した場合、連打ではなく長押し(実際のFキーの入力を優先)させたい場合はどういうアクションや設定の追加が必要でしょうか?
難しければ諦めますので、面倒かどうかだけでもお教えいただけるとありがたいです
key0x2key
がしました
プロファイルの自働切り替え機能について質問があります。
プロファイル1とプロファイル2を作成し、
それぞれ別々のソフトでプロファイルが切り替わるように設定しました。
プロファイル1はソフトA実行時に、プロファイル2はソフトB実行時に有効になるように設定したのですが、
実際にソフトAを実行しているとプロファイル1のマクロと同時にプロファイル2のマクロまで実行されてしまします。
設定などあるのでしょうか?
key0x2key
がしました
「画像認識で認識できた位置(座標)にマウスカーソルを移動させる」
といったマクロをアクションマクロで組みたい場合、どうしたらいいと思いますか?
どなたかご存知の方いませんか。
key0x2key
がしました
KeyToKeyの起動時に一緒にマクロを実行するようにする為に、スタートアップマクロに登録しようとしてます。
その実行したいマクロの質問になります。
外部exeを起動するようにマクロに登録することは可能なのでしょうか?
key0x2key
がしました
現在以下のようなマクロをキーボード・マウスで使用しています。
[
{"IsDisabled":false,"Name":"UseHighPrecisionWait","Arguments":["True"]},
{"IsDisabled":false,"Name":"Local.Assign","Arguments":["$連打キー","Keys.A"]},
{"IsDisabled":false,"Name":"@While","Arguments":["Input.GetPhysicalState($連打キー)"]},
{"IsDisabled":false,"Name":"@If","Arguments":["Input.GetKeyState(Keys.XButton2)"]},
{"IsDisabled":false,"Name":"Tap","Arguments":["$連打キー","10","10","True"]},
{"IsDisabled":false,"Name":"@Else","Arguments":[]},
{"IsDisabled":false,"Name":"Down","Arguments":["$連打キー","50"]},
{"IsDisabled":false,"Name":"@EndIf","Arguments":[]},
{"IsDisabled":false,"Name":"@EndWhile","Arguments":[]},
{"IsDisabled":false,"Name":"Up","Arguments":["$連打キー"]}
]
簡単に説明すると、マウスのサイドボタンを押している間にAキーが入力されると
Aキーが連打入力になり、それ以外はAキーが通常の入力になります。
このマクロをAキーに割り当てて使用しています。
上記ののマクロをコントローラーと合体させたいと思っています。
PS4コントローラーを使用しているのですが、
コントローラーの〇ボタンが押されている間に左スティックの左が入力されたら
Aキーが連打され、それ以外はAキーが通常の入力になるようにすることは可能でしょうか?
key0x2key
がしました
右クリックが離れたら。という条件を組むことはできるのでしょうか?
右クリックが離れたら左クリックを押す
というマクロをC#スクリプトで作成したいです。
アクションマクロではできたのですが、C#スクリプトでも作ってみたいので教えていただけたら助かります!
key0x2key
がしました
現在コントローラーをつないでマクロ機能を使用しているのですが、
右スティックと左スティックを入れ替えてゲーム側に出力することは可能でしょうか?
物理コントローラーの左スティックを入力すると、ゲーム側で右スティックで入力されたと認識させたいです。
逆も同じです。
key0x2key
がしました
アクションマクロについて質問です。
コントローラーを使用して、仮想Xinputコントローラーにマッピングしております。
十字ボタン下を1回押すとマクロが有効になる。
マクロ有効中は左スティックの上下左右がそれぞれキーボードのWSADに切り替わる。
もう一度十字キー下を押すとマクロが無効化される。
上記のようなマクロを作ってみようと思いましたが、なかなかうまくいきません。
試しに作ったコードを張ろうと思ったのですが、文字数が多くて貼り付けられませんでした。
有識者の方、ご助力をお願いいたします。
key0x2key
がしました
画像認識を使用して、認識した場所を一度だけクリックさせたいのですが、現状認識範囲内にその画像がある限り連続でクリックし続けてしまいます。
特定の動作を一度だけ行わせて次の動作に移行させたい場合、どのような処理をさせればよいのでしょうか?
初歩的な質問で申し訳ありませんがよろしくお願いします。
key0x2key
がしました
下記のマクロで画像認識Aと画像認識Bの間に待機30秒を入れているのですが
これを画像認識Aの後 30秒間 画像認識Bを監視し画像Bが表示され次第 Bの内容を実行する事はできますか?
良かったら教えてください、宜しくお願い致します。
[
{"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"A\") == False"]},
{"IsDisabled":false,"Name":"Tap","Arguments":["Keys.Escape","100","100","True"]},
{"IsDisabled":false,"Name":"@EndIf","Arguments":[]},
{"IsDisabled":false,"Name":"WaitSeconds","Arguments":["30"]},
{"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"B\") == True"]},
{"IsDisabled":false,"Name":"MouseMoveBySteps","Arguments":["500","600","100","1","True","True"]},
{"IsDisabled":false,"Name":"Tap","Arguments":["Keys.LButton","100","100","True"]},
{"IsDisabled":false,"Name":"@EndIf","Arguments":[]},
{"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"C\") == True"]},
{"IsDisabled":false,"Name":"Tap","Arguments":["Keys.B","100","100","True"]},
{"IsDisabled":false,"Name":"@EndIf","Arguments":[]}
]
key0x2key
がしました
key0x2key
がしました
タスクスケジューラで起動時に実行するようにしたのですが、ツール本体の最小化ができません。dat→vbsから最小化を試みてもKeyToKey側のDOS窓が最小化されるだけで緑色のツール本体は最小化できないないです...なにか解決策があれば返信を貰えると助かります
key0x2key
がしました
先程まで問題なく使用できていたのですが、マクロ作成等行うメイン画面だけが急に開かなくなりました。
---------------------------------------------------------
設定:画像認識の設定
メッセージ:1番目の設定の識別キーが設定されていません。
---------------------------------------------------------
上記のエラー?が出て開けない状況です。
お忙しいところ恐縮ですがアドバイス頂けますと幸いです。
key0x2key
がしました
質問なのですが、
「A」というアプリがアクティブなら「B」をアクティブにする
「B」というアプリがアクティブなら「A」をアクティブにする
という事をやりたいのですが、できますでしょうか?
条件分岐の機能でできそうに見えるのですが、アクティブにする、というアクションを設定すればいいのか
分かりませんでした。
アクションマクロだと助かりますが、C#でも構いません。
よろしくいおねがいしますm(_ _)m
key0x2key
がしました
「トグルで押しっぱなし」をしたいのですがうまくできなくて困っています。
アクションマクロの話なのですが、
・コントローラーのRTにRT設定かつトグルモード(押しっぱなし)オン
・コントローラーのRBにRT設定かつトグルモード(押しっぱなし)オン
・コントローラーのLBに(キーボードの)W設定かつトグルモード(押しっぱなし)オン
3つのどれを設定しても、「1回は押されるが押しっぱなしにならない」という状況になっています。
(ソフトのウィンドウ上では「実行中」と表示されています)
少なくともキーボードの件についてはメモ帳においても試したので、ゲームとの相性の問題ではなさそうです。
どうすれば「トグルで押しっぱなし」に設定できますでしょうか、よろしくお願いします。
key0x2key
がしました
やりたいことは画像処理でBの画像を探す。Bがでるまでループ画像処理、出たら次の処理に進む。その中で最初にAの画像がでたら処理をスキップしたいです。(Aのほうを優先して処理したいと思っています。)
現在このようなマクロを作成したのですがこれだと動作しませんでしたので修正点などあればご教授ください。
[
{"IsDisabled":false,"Name":"@If","Arguments":["TemplateMatching.TryMatch(\"A\")"]},
{"IsDisabled":false,"Name":"Wait","Arguments":["300"]},
{"IsDisabled":false,"Name":"@Else","Arguments":[]},
{"IsDisabled":false,"Name":"Wait","Arguments":["2000"]},
{"IsDisabled":false,"Name":"@While","Arguments":["TemplateMatching.TryMatch(\"B\") == False"]},
{"IsDisabled":false,"Name":"Wait","Arguments":["2000"]},
{"IsDisabled":false,"Name":"Tap","Arguments":["Keys.D9","100","100","True"]},
{"IsDisabled":false,"Name":"@EndWhile","Arguments":[]},
{"IsDisabled":false,"Name":"//","Arguments":["処理"]},
{"IsDisabled":false,"Name":"@EndWhile","Arguments":[]}
]
key0x2key
がしました
キー割り当てについて質問させてください。
キーボードのLを押した時
①L
➁0,5秒空ける
③→
④0,5秒空ける
上のループを100連続で行うように設定したいのですが、やり方をご存じの方がいらっしゃいましたら、教えていただけないでしょうか?
よろしくお願いいたします。
key0x2key
がしました
アクションマクロにおいて、現在のマウスカーソル座標X.Yをそれぞれ、ローカル変数X・ローカル変数Yに代入したいのですが、
どのような方法で取得できますか?
key0x2key
がしました
マウスの右クリックを押している間、
W:コントローラー左スティック↑
A:コントローラー左スティック←
S:コントローラー左スティック↓
D:コントローラー左スティック→
spaceキー:コントローラRBボタン
マウス移動:コントローラー右スティック
のように入力を切り替えることは可能でしょうか?
key0x2key
がしました