SDL_Joystick

ビューポートで糞ハマってイライラしてその後悲しくなったのでジョイスティックに対応してみたりした。


http://www.tacoworks.jp/software/SDLdoc-jp/html/joystick.html


日本語のSDLオンラインリファレンスのトップぺージのリンクからだとジョイスティックなどの項目がみつからないんだけど。
こういうのは萎えるから勘弁してほしい。

SDL_Init( OTHER_INIT_FLAG | SDL_INIT_JOYSTICK );

if ( SDL_NumJoysticks() > 0 )
{
	SDL_JoystickEventState(SDL_ENABLE);
	m_pJoystick = SDL_JoystickOpen(0);
}

// 0番目のボタン.
if( SDL_JoystickGetButton( m_pJoystick, 0 ) )
{

}

// X軸値とY軸値を取得.
int x = SDL_JoystickGetAxis( m_pJoystick, 0 );
int y = SDL_JoystickGetAxis( m_pJoystick, 1 );


各ボタンをイベントドリブンでキーボードのキーにマップしてみたりしたんだけど使いづれぇ。


毎フレームポーリングするのが使いやすいね。
クローズはSDL_Quitで勝手にクローズされるらしい。


あと十字キーがハットスイッチとして扱われることもあるみたいなのでその辺はまぁ適切に。
ハットスイッチって何?