From d9bfcce0de9d89f9c181234ae448b24f13ddb50e Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 7 Jul 2013 17:02:12 -0700 Subject: [PATCH] Switch to buttons instead of A/B/X/Y for dinput. This way people don't say "but my X button shows up as L1." --- Common/KeyMap.cpp | 16 ++++++++-------- Windows/DinputDevice.cpp | 29 ++++++++++++++++------------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp index c34b4e7266..d350842775 100644 --- a/Common/KeyMap.cpp +++ b/Common/KeyMap.cpp @@ -84,18 +84,18 @@ struct DefaultKeyMap { static KeyMapping defaultPadMap() { KeyMapping m; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_A)] = CTRL_CROSS; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_B)] = CTRL_CIRCLE; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_X)] = CTRL_SQUARE; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_Y)] = CTRL_TRIANGLE; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_2)] = CTRL_CROSS; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_3)] = CTRL_CIRCLE; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_4)] = CTRL_SQUARE; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_1)] = CTRL_TRIANGLE; m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_DPAD_UP)] = CTRL_UP; m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_DPAD_RIGHT)] = CTRL_RIGHT; m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_DPAD_DOWN)] = CTRL_DOWN; m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_DPAD_LEFT)] = CTRL_LEFT; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_START)] = CTRL_START; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BACK)] = CTRL_SELECT; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_L1)] = CTRL_LTRIGGER; - m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_R1)] = CTRL_RTRIGGER; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_10)] = CTRL_START; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_9)] = CTRL_SELECT; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_7)] = CTRL_LTRIGGER; + m[KeyDef(DEVICE_ID_PAD_0, KEYCODE_BUTTON_8)] = CTRL_RTRIGGER; m[AxisDef(DEVICE_ID_PAD_0, JOYSTICK_AXIS_X, -1)] = VIRTKEY_AXIS_X_MIN; m[AxisDef(DEVICE_ID_PAD_0, JOYSTICK_AXIS_X, +1)] = VIRTKEY_AXIS_X_MAX; m[AxisDef(DEVICE_ID_PAD_0, JOYSTICK_AXIS_Y, -1)] = VIRTKEY_AXIS_Y_MIN; diff --git a/Windows/DinputDevice.cpp b/Windows/DinputDevice.cpp index 4a95ca375f..7f6fd0f378 100644 --- a/Windows/DinputDevice.cpp +++ b/Windows/DinputDevice.cpp @@ -36,19 +36,22 @@ // In order from 0. There can be 128, but most controllers do not have that many. static const int dinput_buttons[] = { - KEYCODE_BUTTON_Y, - KEYCODE_BUTTON_A, - KEYCODE_BUTTON_B, - KEYCODE_BUTTON_X, - KEYCODE_BUTTON_L2, - KEYCODE_BUTTON_R2, - KEYCODE_BUTTON_L1, - KEYCODE_BUTTON_R1, - KEYCODE_BUTTON_SELECT, - KEYCODE_BUTTON_START, - KEYCODE_BUTTON_THUMBL, - KEYCODE_BUTTON_THUMBR, - KEYCODE_BUTTON_Z, + KEYCODE_BUTTON_1, + KEYCODE_BUTTON_2, + KEYCODE_BUTTON_3, + KEYCODE_BUTTON_4, + KEYCODE_BUTTON_5, + KEYCODE_BUTTON_6, + KEYCODE_BUTTON_7, + KEYCODE_BUTTON_8, + KEYCODE_BUTTON_9, + KEYCODE_BUTTON_10, + KEYCODE_BUTTON_11, + KEYCODE_BUTTON_12, + KEYCODE_BUTTON_13, + KEYCODE_BUTTON_14, + KEYCODE_BUTTON_15, + KEYCODE_BUTTON_16, }; static float NormalizedDeadzoneFilter(short value);