Index: dmitry/drivers/usb/input/hid-input.c =================================================================== --- dmitry.orig/drivers/usb/input/hid-input.c 2005-07-05 16:25:55.000000000 +0200 +++ dmitry/drivers/usb/input/hid-input.c 2005-07-05 16:26:01.000000000 +0200 @@ -131,6 +131,15 @@ 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: dmitry/drivers/usb/input/hid-debug.h =================================================================== --- dmitry.orig/drivers/usb/input/hid-debug.h 2005-07-05 16:23:15.000000000 +0200 +++ dmitry/drivers/usb/input/hid-debug.h 2005-07-05 16:26:01.000000000 +0200 @@ -85,6 +85,23 @@ {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: dmitry/drivers/usb/input/hid.h =================================================================== --- dmitry.orig/drivers/usb/input/hid.h 2005-07-05 16:25:55.000000000 +0200 +++ dmitry/drivers/usb/input/hid.h 2005-07-05 16:26:01.000000000 +0200 @@ -173,6 +173,7 @@ #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