joystick-ane is a native extension that provides a Joystick library. The library provides native support for working with joysticks and gamepads. Currently the it supports only Windows.

The extension dispatches several events that useful to check if a joystick was connected or disconnected, for instance. It’s possible to track the stick movement (including its raw value) and if a button was pressed/released.

Sample

var joystickManager:JoystickManager = new JoystickManager();
joystickManager.addEventListener( JoystickEvent.CONNECTED, ext_connectedHandler );
joystickManager.addEventListener( JoystickEvent.DISCONNECTED, ext_disconnectedHandler );
joystickManager.addEventListener( JoystickEvent.MOVE, ext_moveHandler );
joystickManager.addEventListener( JoystickEvent.PRESS, ext_pressHandler );
joystickManager.addEventListener( JoystickEvent.RELEASE, ext_releaseHandler );

private function ext_connectedHandler( event:JoystickEvent ):void {
  trace( "Joystick " + event.index + " connected" );
}

private function ext_disconnectedHandler( event:JoystickEvent ):void {
  trace( "Joystick " + event.index + " disconnected" );
}

private function ext_moveHandler( event:JoystickMoveEvent ):void {
  trace( "Axis " + event.axisIndex + " moved to value " + event.value + " (raw value: " + event.rawValue + ") on joystick " + event.index );
}

private function ext_pressHandler( event:JoystickButtonEvent ):void {
  trace("Button " + event.buttonIndex + " pressed on joystick " + event.index );
}

private function ext_releaseHandler( event:JoystickButtonEvent ):void {
  trace( "Button " + event.buttonIndex + " released on joystick " + event.index );
}
Air Native Extension, Windows. URL.