18
音ゲーコントローラと Linux Input Subsystem monochrojazz@東海道らぐ 2016/09/02

音ゲーコントローラとLinux Input Subsystem

Embed Size (px)

Citation preview

Page 1: 音ゲーコントローラとLinux Input Subsystem

音ゲーコントローラとLinux Input Subsystem

monochrojazz@東海道らぐ 2016/09/02

Page 2: 音ゲーコントローラとLinux Input Subsystem

自己紹介のようなもの● @monochrojazz(27)● セキュリティに興味 が、初心者● 致命的な音ゲーマー

音ゲーコントローラを自作アプリも自作(Android)

Page 3: 音ゲーコントローラとLinux Input Subsystem

ポップンコントローラ(旧版) ¥324

前回のあらすじ

● 拡張PS2コントローラをRaspberryPiにjoystickとして認識させてpythonで読み込んだ

● (京都OSCで)ゲームプレイ可能にした

Page 4: 音ゲーコントローラとLinux Input Subsystem

では、本題

Page 5: 音ゲーコントローラとLinux Input Subsystem

beatmania IIDX専用コントローラ プレミアムモデル

¥32,184

Page 6: 音ゲーコントローラとLinux Input Subsystem

これでゲームがしたい!

Page 7: 音ゲーコントローラとLinux Input Subsystem

しかし

Page 8: 音ゲーコントローラとLinux Input Subsystem

スクラッチに謎の不感地帯

ターンテーブルを動かしても

7fff-8001区間は反応しない

Page 9: 音ゲーコントローラとLinux Input Subsystem

!?音ゲーとしては致命傷

Page 10: 音ゲーコントローラとLinux Input Subsystem

このままでは¥32,148が無駄になってしまう

Windowsでは正常に動くっぽい

でもLinuxでjstestで確認してもやっぱり動作不良

え?何でLinuxで動かんの?

Page 11: 音ゲーコントローラとLinux Input Subsystem

ふと、/dev/input を ls

何これ?

コントローラのjoystickとしてのデバイスファイル

Page 12: 音ゲーコントローラとLinux Input Subsystem

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

Page 13: 音ゲーコントローラとLinux Input Subsystem

コントローラがjsだけでなくeventとしても認識されているようなので試す

イベントのデータ量はjsの4倍32バイト

(構造体は16バイト?)スクラッチ位置

今度は抜けなくスクラッチを認識

Page 14: 音ゲーコントローラとLinux Input Subsystem

ということは

Page 15: 音ゲーコントローラとLinux Input Subsystem

晴れてこのコントローラで音ゲー可能に!

Page 16: 音ゲーコントローラとLinux Input Subsystem

スクリプト作ったらあとは楽しむだけ

Page 17: 音ゲーコントローラとLinux Input Subsystem

欠点 : うるさい

集合住宅じゃ厳しい

Page 18: 音ゲーコントローラとLinux Input Subsystem

終了