ウチツクシ

やったゲームのこと(大体STG)とか作ったゲームのこと

キーボードマニア専用コントローラの入力を取得する

以前、ピスコラ動かしたときキーマニの専コン思い出してPCに繋いだら認識してるみたいで、楽しくなってちょっと遊んでた。



ただホイールの入力が取れなくて、なんとか取得できないかと色々調べてたらUSBの入出力を直接扱うような方法で取ることができた。

それでモジュール作ったりソフトシンセ的なもの作っていたとき、win10の無料アップデート期間が過ぎかけていたから更新したら専コンが認識しなくなった…他のゲームパッドは認識してるのになんでや…

せっかく作ったモジュールやソフトシンセもったいなかったから、ソフトシンセは(PCの)キーボードで操作できるようにした (Mk-Synth)。モジュールも初めは公開しておこうと思ってたけど自分のPCでも動かないもの上げても…結局そのまま放置した。

しばらく忘れてたころ、windowsの更新で思い出してモジュール動かしてみたら認識した!?更新で不具合が解消されたのか、あのときはたまたま認識しなかっただけなのか…専コン繋げたままPCを再起動したりスリープ復帰すると接続が切れてるけど、繋ぎ直せば認識する。

ということでモジュールも公開。HSP使ってて専コン持ってる人が他にいるかとか考えない!

鍵盤とスタート・セレクトボタンだけならHSPに標準で入ってる mod_joystick.as(winmmのjoyGetPosEx)でも取得はできる。ホイール取得するためだけにこんな面倒なことしなくても、他の簡単な方法ありそうな気もする。

あとホイールはアナログ値じゃなくてデジタル。左右のホイールは共有してるから、左右別々には取れない。アナログだったら使い幅もっと広がりそうだったのが残念…

モジュール作る際に、HSPに付属の mod_usbio.as と USB for HSP | GHP(仮) は大変参考になりました。あと、ReadFile のオーバーラップ処理はほんと手こずった…入力に変更があるまで関数から帰ってこない現象に悩みまくってた。