  */
 class GamepadSensitiveBinding extends GamepadBinding {
 
-	// Properties
-	public var minValue:Number;
-	public var maxValue:Number;
-
 	// ================================================================================================================
 	// CONSTRUCTOR ----------------------------------------------------------------------------------------------------
 
-	public function GamepadSensitiveBinding(__controlId:String, __gamepadIndex:uint, __minValue:Number, __maxValue:Number) {
+	public function GamepadSensitiveBinding(__controlId:String, __gamepadIndex:uint) {
 		super(__controlId, __gamepadIndex);
-
-		minValue = __minValue;
-		maxValue = __maxValue;
-	}
-}+	}
+}
+
+/**
+ * Information on platforms that are automatically mapped
+ */
+class AutoPlatformInfo {
+
+	// Properties
+	public var id:String;
+
+	public var manufacturerFilter:String;		// Filter for Capabilities.manufacturer
+	public var osFilter:String;					// Filter for Capabilities.os
+	public var versionFilter:String;			// Filter for Capabilities.version
+
+	public var gamepads:Vector.<AutoGamepadInfo>;
+
+
+	// ================================================================================================================
+	// CONSTRUCTOR ----------------------------------------------------------------------------------------------------
+
+	public function AutoPlatformInfo() {
+		gamepads = new Vector.<AutoGamepadInfo>();
+	}
+}
+
+/**
+ * Information on gamepads that are automatically mapped
+ */
+class AutoGamepadInfo {
+
+	// Properties
+	public var id:String;
+
+	public var nameFilter:String;				// Filter for device.name
+
+	public var controls:Object;					// AutoGamepadControlInfo, key is the control.id
+
+
+	// ================================================================================================================
+	// CONSTRUCTOR ----------------------------------------------------------------------------------------------------
+
+	public function AutoGamepadInfo() {
+		controls = {};
+	}
+}
+
+/**
+ * Information on gamepads controls that are automatically mapped
+ */
+class AutoGamepadControlInfo {
+
+	// Properties
+	public var id:String;
+	public var min:Number;
+	public var max:Number;
+
+
+	// ================================================================================================================
+	// CONSTRUCTOR ----------------------------------------------------------------------------------------------------
+
+	public function AutoGamepadControlInfo() {
+	}
+}
+

	import flash.events.Event;
	import flash.events.GameInputEvent;
	import flash.events.KeyboardEvent;
	import flash.ui.GameInput;
	import flash.ui.GameInputControl;
	import flash.ui.GameInputDevice;

		// Constants
		public static const VERSION:String = "1.0.0";

		// List of all auto-configurable gamepads
		private static var knownGamepadPlatforms:Vector.<AutoPlatformInfo>;

		private static var stage:Stage;

		// Properties
