keytokey-dev.net Open in urlscan Pro
147.92.146.242  Public Scan

Submitted URL: http://keytokey-dev.net/
Effective URL: https://keytokey-dev.net/
Submission: On February 29 via api from US — Scanned from JP

Form analysis 0 forms found in the DOM

Text Content

ツール・ソフトウェアブログを書く2月29日話題の記事


KEYTOKEY開発ブログ

KeyToKeyはゲームなどで使うことを目的として開発されたユーティリティツールです。
キーボード、マウス、コントローラーにキーやマウスのボタン、マクロを割り当てることができます。最新のゲームなどでも動作可能です。

 * ダウンロード
 * 使用方法
 * 質問
 * 要望
 * 不具合報告
 * 寄付のお願い
 * プレビュー版

質問ページにおいてコメントが表示されないためページを新しく作りました。

KeyToKeyとは
KeyToKeyではキーボード/マウス/コントローラーを使用して様々な機能を実行できるユーティリティツールです。
ゲームで使うことを目的として開発しましたが作業の効率化等にも使用可能です!




何ができる?
 * キーの割り当て(複数割り当て、連射、押しっぱなしが可能)
 * C#スクリプト(マクロ)の割り当て
 * マウスジェスチャーでマクロを実行
 * 指定した時間にマクロを実行
 * 円形メニューからマクロを実行
 * マクロを使って画像認識
 * マクロを使って仮想コントローラーの操作
 * コントローラーの入力を仮想コントローラーにマッピング


など他にも色々と出来ます。



動作環境
動作確認済みOS:Windows11 64bit
必要なソフトウェア:.Net Framework4.8 以上
管理者権限が必要です。
※一部アプリでは正常に動作しないことがあります(特にゲームなど)
ダウンロード

最新版をダウンロード
KeyToKey.230805.zip
Githubからダウンロード
プレビュー版

実行時にウイルスとして検出されることがあるようです。対処法は質問を参照してください。

設定に関係するフォルダ/ファイル

ファイル名 種類 概要 Profiles フォルダ 個別の設定が「*.mcr」形式で保存されています。 Controllers フォルダ
コントローラーの設定ファイルが保存されています。 Scripts フォルダ C#スクリプト(マクロ)が保存されています。
ApplicationConfig.conf ファイル KeyToKey全体で共有する設定ファイル ScriptConfig.json ファイル
C#スクリプトの設定ファイル


更新履歴
https://x0oey6b8.github.io/KeyToKey-Web/update




最新コメント

不具合報告
>>1561.の方のテストマクロになります。割り当てなどによる実行では綺麗な値が出力されます。一方、スタートアップマクロによる実行では一部の値が乱れます。プロファイル読み込み時はいろいろと処理が立て込んで当然ですので、現状のまま放置で問題無いと思います。WaitConfig.Wait.HighPrecision
= true;//WaitConfig.Wait.HighPrecision = false;var freq=Stopwatch.Frequency;var
count=10;var timeList=new long[count];for(var i=0;i<count;i++){
timeList[i]=Stopwatch.GetTimestamp(); Wait(2);}for(var i=0;i<count-1;i++){ var
time=(timeList[i+1]-timeList[i])*10000/Stopwatch.Frequency/10.0;
Console.WriteLine($"{time:f1}");}
名無しさん
質問
>>33C#スクリプトの方を試してみました。狙い通りの動作をしてくれました。ありがとうございます。
名無しさん
質問
>>30C#スクリプト(マクロ)の使い方を説明します。https://github.com/x0oey6B8/KeyToKey-Web/wiki/C%23スクリプト用のUIのページを参考にして下さい。1.「マクロの作成/設定」画面までたどりついて下さい。2.左上のタブ「C#スクリプト(マクロ)を選択して下さい。(デフォルトだと初めから選択されているようです)3.その直下の「Scripts」をダブルクリックするか「>」をシングルクリックしてフォルダを展開表示して下さい。4.その直下の「お使いのプロファイル名(現在選択中)をダブルクリックするか「>」をシングルクリックしてフォルダを展開表示して下さい。5.「お使いのプロファイル名(現在選択中)」を右クリックして「新しいスクリプト」を選んでください。5.お好きな名前でスクリプトファイルを作成して下さい。ここでは例として「サイドボタンでA連打.csx」にします。6.右側の広い編集エリア内部を1度シングルクリックしてフォーカスを移動させて下さい。7.以下のC#スクリプトをコピペした後に保存してください。マウスで保存するには右クリック→「コンパイルテスト」などの操作が必要です。キーボードで保存するにはCtrl-Sです。8.編集エリアの左上が「サイドボタンでA連打.csx *」でなく、「サイドボタンでA連打.csx」と、アスタリスクマーク「*」が表示されていない事を再度確認して下さい。アスタリスクがあると未保存です。ここから先は、アクションマクロの割り当てと同じです。https://i.imgur.com/ZJbrPqr.png//以下がC#スクリプトです。この行はコピペに含めても含めなくても大丈夫です。WaitConfig.Wait.HighPrecision
= true;var 連打キー=Keys.A;while(PhysicalStatus[連打キー]){
if(IsPressed(Keys.XButton1)){ Tap(連打キー,17,17); }else{ Down(連打キー,34);
}}Up(連打キー,34);
名無しさん
質問
>>30アクションマクロの使い方を説明します。https://github.com/x0oey6B8/KeyToKey-Web/wiki/アクションマクロのページで「2.マクロの設定を開く」「3.各UIの説明」「4.マクロを作成」を熟読の上、新しいアクションマクロを作成して下さい。ここではマクロの名前を「サイドボタンでA連打」とします。最後に示したマクロを前後の
[ ]
も含めてコピーし、アクションマクロ編集エリア(アクションリスト)にペーストして下さい。次に、編集ウィンドウ→割り当て設定(キーボード/マウス)の設定画面で、「XButton1
が押されてる時」に割り当てたAキーの割り当てを消去して下さい。【これは必ず消去して下さい】https://i.imgur.com/u7BgtdG.png修飾キーの設定「何も押されていない時」に切り替えて下さい。Aキーの表示をクリックし、「マクロを割り当てる(押したら)」を選んでください。次のマクロ選択画面で、「サイドボタンでA連打」マクロを割り当てて下さい。次の画面でマクロ割り当てに関する詳細の設定が出来ます。ここでは全てデフォルトのまま、左側の暗い部分を左クリックして閉じて下さい。プロファイルを保存したら動作すると思います。なお、マクロ側でサイドボタンを検出していますので、KeyToKey側での修飾キー(同時押し)の設定は不要です。[{"Name":"UseHighPrecisionWait","Arguments":["True"]},{"Name":"Local.Assign","Arguments":["$連打キー","Keys.A"]},{"Name":"@While","Arguments":["Input.GetPhysicalState($連打キー)"]},{"Name":"@If","Arguments":["Input.GetKeyState(Keys.XButton1)"]},{"Name":"Tap","Arguments":["$連打キー","17","17","True"]},{"Name":"@Else"},{"Name":"Down","Arguments":["$連打キー","34"]},{"Name":"@EndIf"},{"Name":"@EndWhile"},{"Name":"Up","Arguments":["$連打キー"]},]
名無しさん
不具合報告
軽微な不具合報告2件です。1.プロファイル読み込み直後(手元の環境では4ms経過~70ms?経過)に Wait() を実行すると、Wait(1)のように短い
Wait()であっても、70msほどのウェイトがかかるようです。これは、WaitConfig.Wait.HighPrecision = true;
の元でも起きてしまうようでした。スタートアップマクロの冒頭ぐらいにしか影響が出ないので、現状のままでも問題なさそうと思いました。2.画像認識で SAD
に設定すると、Match() メソッドの戻り値が常に True
になってしまうようです。設定中の画像認識テストでは上手く動いていて、マクロから呼ぶと挙動がおかしいように見えました。 Vector
target=(map[up].screen+map[down].screen)/2; var b=new
Bounds(target.x-4,target.y-4, 8, 8); _globals.Match("link1_1",b,out var
result);このオーバーロードで確認しました。result.X 、result.Y 、result.Score
には正しい値が入っていたので、実用上は問題ありません。
名無しさん
質問
>>23こちら少し調べてみました。https://keytokey-dev.net/archives/32198998.html#comment-117の方の調査結果どおりで、2分(正確には、プロファイル読み込みから丁度100秒)経過するとガクンと精度が落ちるようです。100秒経過の前と後の様子をグラフ化してみました。https://i.imgur.com/6GktEfS.pngこのグラフに何か見覚えがあるなと思ったら、IGlobals.WaitConfig
が導入される以前の Wait(); の挙動そのままですね。現在は WaitConfig.Wait.HighPrecision = true;
で簡単に解決できるので便利になりました。改めまして感謝致します。
名無しさん
質問
>>29どちらも使ったことありません。
名無しさん
質問
>>27割り当て設定だけでは難しそうですが、マクロを使えば解決できそうです。C#スクリプトかアクションマクロかを使った事はありますか?
名無しさん
質問
>>26後者の方法を試したところ解決しました。継承無しの他クラス内では、IGlobals
クラスのメンバー関数の実行に一手間必要と理解しました。ありがとうございました。
名無しさん
質問
よろしくお願いします。マクロの質問ではないのですが、割り当て設定(キー/マウス)→マウスのサイドボタンが押されているときトリガーキー:A 割り当てるキー:A 繰り返し有効 とし、サイドボタンが押されている間にAキーが入力されたら連打されるようしています。連打動作はうまくいっているのですが、①:マウスサイドボタン入力②:Aキー入力(ここでAキーが連打状態になる。)③:マウスサイドボタン離す(Aキーは入力状態のまま)とした場合、サイドボタンを離しても、Aキーを押したままだとAキーの連打状態が維持されてしまいます。サイドボタンを離したらAキーを連打状態ではなく、長押し状態に戻すことは可能でしょうか?
名無しさん


 * 

↑このページのトップヘ

Powered by ライブドアブログ