+-------------+ |DAO2KEY v1.0 | | programmed | | by DJ META | | 2016/09/30| +-------------+ 本プログラムはDAOコンをINFINITASで使用するためのキーボード変換プログラムです。 本プログラムについての質問、意見等は2ちゃんねる音ゲー板の「海外製コントローラ」スレッドか 「beatmania 家庭用総合」スレッドに書き込んでいただくとできる範囲で対応します。 ・対象コントローラ DJ DAO氏製作のbeatmaniaIIDX用コントローラシリーズ。 (未確認ですが、コントロールパネルのゲームコントローラでターンテーブルがY軸、7鍵がX軸-、1〜6鍵が4,7,3,8,2,5、START/SELECTが10,9なコントローラであればDAOコン以外でも使える可能性があります。) (未対応のコントローラに対応させる場合は後述「ソースを改造したい方へ」を参照。) ・使い方 1.DAO2KEYを起動する 2.コントローラの認識のためにボタンを押す   (シングル環境の場合は1Pを1〜2回、ダブル環境の場合は1P、2Pの順) 3.INFINITASを起動する 4.遊ぶ 5.INFINITASを終了する 6.DAO2KEYのウインドウ内で何かキー(キーボードか変換対象のコントローラ)を押して終了する ・高度な使い方 DAO2KEYに引数を与えることで、鍵盤や皿の反応をそれぞれ任意に遅延させることができます。 >DAO2KEY 10 ターンテーブルの反応を10ミリ秒遅らせます。 >DAO2KEY 0 100 鍵盤の反応を100ミリ秒遅らせます。 ただし、入力が遅延時間未満の場合は出力が発生しません。 いわゆるオンディレー動作ってやつです。 (厳密には判定処理+1ミリディレイの回数カウント指定です。) (環境によっては指定値の数倍の長さになる可能性がありますので、ほかの人に推奨値を聞くのは無意味だと思います。) ・キーの割り当てについて 1P側 皿 q/w 1 z 2 s 3 x 4 d 5 c 6 f 7 v START Enter SELECT Backspace 2P側 皿 o/p 1 b 2 h 3 n 4 j 5 m 6 k 7 , START Tab SELECT Escape 片手でFHS切り替えすることを念頭に上記の配置としています。 DP環境であればあとはテンキーを用意すれば数字1〜3やグラフの目標値が入力でき、 必要なキー網羅できることになります。 もちろん、2P→1Pの順で認識作業し、キーコンフィグを適切に設定すれば、 上記のスタセレ関係を入れ替えることができます。 ・同梱のLR2STYLEについて STARTを押しながら6,7鍵を押すことでターンテーブルを動かすことができます。 緑数字や白数字の微調整などに便利ですが、ギアチェンで6,7鍵が使えなくなります。 (皿チョンは可能) 選曲画面では使えませんが、いったんフォルダ閉じてからSTARTおしっぱにするとかで使えるかも? ・ソースを改造したい方へ 本プログラムは改造や転載、改造版の配布が可能な「自由なソフトウェア」として配布します。 一応IT系なんでC言語はたしなんでいますが、本業は下っ端PLC屋なのであくまでも趣味レベルです。 だいぶ関数分割とか返り値の扱いが雑です。 一応メモを残しておきます。  ・開発環境はVC++2010(win7x86) / テスト環境はDAORED2nd(win7x86)  ・KEYcheck関数の返り値(int)はLSBから順に1〜7,START,SELECTを9桁並べたもの  ・反応するキーを変更する場合はDAO2KEY.hを編集する。   キーによってはKeyDown、KeyUp関数のif文を編集し、   拡張キー設定をする必要があるかもしれない。詳しくは下記ページ参照。   「KEYBDINPUT構造体が持つdwFlagsのKEYEVENTF_EXTENDEDKEYについて」   http://pelolias.com/archives/1509  ・ボタン/軸とターンテーブル/鍵盤の対応づけはTTcheck関数とKEYcheck関数で行っている。   構造体変数JoyInfoEx(JoyInfoEx構造体)の値を参照してコントローラの状態を取得し、   ターンテーブルはTTstat2にUP/DOWN/CENTERのいずれかの値を設定、   鍵盤はkey[*]にtrue/falseを設定する。(bool key[9]は1→7鍵とSTART、SELECTの順番)   どのボタンを押したときにどの値がJoyInfoExに入るのかは下記ページを参考に値を表示するプログラムを書いて調べる。   「■ゲームパッド(ジョイパッドと言うらしい)を使ってみる」   http://7ujm.net/C++/joypad.html  ・LR2STYLEでコンパイルする場合はDAO2KEY.hの#define LR2STYLEのコメントアウトを消す