Input: add HID simulation mappings
authorVojtech Pavlik <vojtech@suse.cz>
Mon, 5 Sep 2005 05:07:59 +0000 (00:07 -0500)
committerDmitry Torokhov <dtor_core@ameritech.net>
Mon, 5 Sep 2005 05:07:59 +0000 (00:07 -0500)
Add simulation usage page mappings to hid-input.c to support
a new crop of joysticks using them to designate Rudder and
Throttle controls.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/usb/input/hid-debug.h
drivers/usb/input/hid-input.c
drivers/usb/input/hid.h

index 52437e5..789df80 100644 (file)
@@ -85,6 +85,23 @@ static const struct hid_usage_entry hid_usage_table[] = {
       {0, 0x91, "D-PadDown"},
       {0, 0x92, "D-PadRight"},
       {0, 0x93, "D-PadLeft"},
+  {  2, 0, "Simulation" },
+      {0, 0xb0, "Aileron"},
+      {0, 0xb1, "AileronTrim"},
+      {0, 0xb2, "Anti-Torque"},
+      {0, 0xb3, "Autopilot"},
+      {0, 0xb4, "Chaff"},
+      {0, 0xb5, "Collective"},
+      {0, 0xb6, "DiveBrake"},
+      {0, 0xb7, "ElectronicCountermeasures"},
+      {0, 0xb8, "Elevator"},
+      {0, 0xb9, "ElevatorTrim"},
+      {0, 0xba, "Rudder"},
+      {0, 0xbb, "Throttle"},
+      {0, 0xbc, "FlightCommunications"},
+      {0, 0xbd, "FlareRelease"},
+      {0, 0xbe, "LandingGear"},
+      {0, 0xbf, "ToeBrake"},
   {  7, 0, "Keyboard" },
   {  8, 0, "LED" },
       {0, 0x01, "NumLock"},
index 3b162a1..fa4f79d 100644 (file)
@@ -131,6 +131,15 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                        map_key(code);
                        break;
 
+
+               case HID_UP_SIMULATION:
+
+                       switch (usage->hid & 0xffff) {
+                               case 0xba: map_abs(ABS_RUDDER); break;
+                               case 0xbb: map_abs(ABS_THROTTLE); break;
+                       }
+                       break;
+
                case HID_UP_GENDESK:
 
                        if ((usage->hid & 0xf0) == 0x80) {      /* SystemControl */
index f3b85a0..cea5cf3 100644 (file)
@@ -173,6 +173,7 @@ struct hid_item {
 
 #define HID_UP_UNDEFINED       0x00000000
 #define HID_UP_GENDESK         0x00010000
+#define HID_UP_SIMULATION      0x00020000
 #define HID_UP_KEYBOARD                0x00070000
 #define HID_UP_LED             0x00080000
 #define HID_UP_BUTTON          0x00090000