Upload
monochrojazz
View
1.081
Download
0
Embed Size (px)
Citation preview
音ゲーコントローラとLinux Input Subsystem
monochrojazz@東海道らぐ 2016/09/02
自己紹介のようなもの● @monochrojazz(27)● セキュリティに興味 が、初心者● 致命的な音ゲーマー
音ゲーコントローラを自作アプリも自作(Android)
ポップンコントローラ(旧版) ¥324
前回のあらすじ
● 拡張PS2コントローラをRaspberryPiにjoystickとして認識させてpythonで読み込んだ
● (京都OSCで)ゲームプレイ可能にした
では、本題
beatmania IIDX専用コントローラ プレミアムモデル
¥32,184
これでゲームがしたい!
しかし
スクラッチに謎の不感地帯
ターンテーブルを動かしても
7fff-8001区間は反応しない
!?音ゲーとしては致命傷
このままでは¥32,148が無駄になってしまう
Windowsでは正常に動くっぽい
でもLinuxでjstestで確認してもやっぱり動作不良
え?何でLinuxで動かんの?
ふと、/dev/input を ls
何これ?
コントローラのjoystickとしてのデバイスファイル
Linux Input Subsystem
● 「Input Subsystemとは、USBやPS/2などの低水準なドライバと、ユーザーの使うプログラムの橋渡しをするLinuxカーネルの一部です。」
● 「/dev/inputというディレクトリを見てみてください。event0とかevent1といったファイルがあるはずです。このファイルがInput Subsystemを使う上で中心となるイベントデバイスファイルです。」
● 要はevent0はマウスやキーボードを扱うためのデバイスファイル
http://www.tatapa.org/~takuo/input_subsystem/input_subsystem.html
コントローラがjsだけでなくeventとしても認識されているようなので試す
イベントのデータ量はjsの4倍32バイト
(構造体は16バイト?)スクラッチ位置
今度は抜けなくスクラッチを認識
ということは
晴れてこのコントローラで音ゲー可能に!
スクリプト作ったらあとは楽しむだけ
欠点 : うるさい
集合住宅じゃ厳しい
終了