キーボードマニア専用コントローラの入力を取得する
2019-05-19 追記:JoyToKey Ver6.2 でホイール取れるようになってます。
通知で前のツイートRTされてて思い出したけど、キーマニの専コンのホイールJoyToKeyで取れるようになってるのよ!Ver6.2設定でボタン数増やすことができてButton33と34に割り当てられてる pic.twitter.com/eRojIcYMxy
— K-s (@skymonsters_Ks) 2019年5月19日
以前、ピスコラ動かしたときキーマニの専コン思い出してPCに繋いだら認識してるみたいで、楽しくなってちょっと遊んでた。
久々にピスコラ起動してMIDIキーボード使えるみたいだったから押入れにあるキーマニ専コンいけるか試してみたけどダメだった。予想はしてたけどゲームコントローラの扱いみたい。ptVoice+JoyToKeyならなんとか遊べた pic.twitter.com/B1jQtJzQqI
— K-s (@skymonsters_Ks) 2016年7月3日
セレクトとスタートボタンはButton20と27の妙なところに入ってる。そこにスコープの上下移動割り当て。Button1~6は押しっぱなし状態だった。ホイールにも何か割り当てたかったけど反応無し… pic.twitter.com/I34aMIyUdl
— K-s (@skymonsters_Ks) 2016年7月3日
ただホイールの入力が取れなくて、なんとか取得できないかと色々調べてたらUSBの入出力を直接扱うような方法で取ることができた。
それでモジュール作ったりソフトシンセ的なもの作っていたとき、win10の無料アップデート期間が過ぎかけていたから更新したら専コンが認識しなくなった…他のゲームパッドは認識してるのになんでや…
せっかく作ったモジュールやソフトシンセもったいなかったから、ソフトシンセは(PCの)キーボードで操作できるようにした (Mk-Synth)。モジュールも初めは公開しておこうと思ってたけど自分のPCでも動かないもの上げても…結局そのまま放置した。
しばらく忘れてたころ、windowsの更新で思い出してモジュール動かしてみたら認識した!?更新で不具合が解消されたのか、あのときはたまたま認識しなかっただけなのか…専コン繋げたままPCを再起動したりスリープ復帰すると接続が切れてるけど、繋ぎ直せば認識する。
ということでモジュールも公開。HSP使ってて専コン持ってる人が他にいるかとか考えない!
鍵盤とスタート・セレクトボタンだけならHSPに標準で入ってる mod_joystick.as(winmmのjoyGetPosEx)でも取得はできる。ホイール取得するためだけにこんな面倒なことしなくても、他の簡単な方法ありそうな気もする。
あとホイールはアナログ値じゃなくてデジタル。左右のホイールは共有してるから、左右別々には取れない。アナログだったら使い幅もっと広がりそうだったのが残念…
モジュール作る際に、HSPに付属の mod_usbio.as と USB for HSP | GHP(仮) は大変参考になりました。あと、ReadFile のオーバーラップ処理はほんと手こずった…入力に変更があるまで関数から帰ってこない現象に悩みまくってた。