Code: Select all
CONTROLLER_MAPPINGS = {
XINPUT_DEVSUBTYPE_GAMEPAD: {
VK_PAD_DPAD_UP : 'D-Pad.Up',
VK_PAD_DPAD_DOWN : 'D-Pad.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Button.A',
VK_PAD_B : 'Button.B',
VK_PAD_X : 'Button.X',
VK_PAD_Y : 'Button.Y',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'Shoulder.Left',
VK_PAD_RSHOULDER : 'Shoulder.Right',
VK_PAD_LTRIGGER : 'Trigger.Left',
VK_PAD_RTRIGGER : 'Trigger.Right',
VK_PAD_LTHUMB_UP : 'LeftStick.Up',
VK_PAD_LTHUMB_DOWN : 'LeftStick.Down',
VK_PAD_LTHUMB_LEFT : 'LeftStick.Left',
VK_PAD_LTHUMB_RIGHT : 'LeftStick.Right',
VK_PAD_LTHUMB_UPLEFT : 'LeftStick.UpLeft',
VK_PAD_LTHUMB_UPRIGHT : 'LeftStick.UpRight',
VK_PAD_LTHUMB_DOWNLEFT : 'LeftStick.DownLeft',
VK_PAD_LTHUMB_DOWNRIGHT: 'LeftStick.DownRight',
VK_PAD_LTHUMB_PRESS : 'LeftStick.Push',
VK_PAD_RTHUMB_UP : 'RightStick.Up',
VK_PAD_RTHUMB_DOWN : 'RightStick.Down',
VK_PAD_RTHUMB_LEFT : 'RightStick.Left',
VK_PAD_RTHUMB_RIGHT : 'RightStick.Right',
VK_PAD_RTHUMB_UPLEFT : 'RightStick.UpLeft',
VK_PAD_RTHUMB_UPRIGHT : 'RightStick.UpRight',
VK_PAD_RTHUMB_DOWNLEFT : 'RightStick.DownLeft',
VK_PAD_RTHUMB_DOWNRIGHT: 'RightStick.DownRight',
VK_PAD_RTHUMB_PRESS : 'RightStick.Push'
},
XINPUT_DEVSUBTYPE_WHEEL: {
VK_PAD_DPAD_UP : 'HatSwitch.Up',
VK_PAD_DPAD_DOWN : 'HatSwitch.Down',
VK_PAD_DPAD_LEFT : 'HatSwitch.Left',
VK_PAD_DPAD_RIGHT : 'HatSwitch.Right',
VK_PAD_A : 'A',
VK_PAD_B : 'B',
VK_PAD_X : 'X',
VK_PAD_Y : 'Y',
VK_PAD_START : 'START',
VK_PAD_BACK : 'BACK',
VK_PAD_LSHOULDER : 'LSHOULDER',
VK_PAD_RSHOULDER : 'RSHOULDER',
VK_PAD_LTRIGGER : 'LTRIGGER',
VK_PAD_RTRIGGER : 'RTRIGGER',
VK_PAD_LTHUMB_UP : 'LTHUMB_UP',
VK_PAD_LTHUMB_DOWN : 'LTHUMB_DOWN',
VK_PAD_LTHUMB_LEFT : 'Wheel.Left',
VK_PAD_LTHUMB_RIGHT : 'Wheel.Right',
VK_PAD_LTHUMB_UPLEFT : 'LTHUMB_UPLEFT',
VK_PAD_LTHUMB_UPRIGHT : 'LTHUMB_UPRIGHT',
VK_PAD_LTHUMB_DOWNLEFT : 'LTHUMB_DOWNLEFT',
VK_PAD_LTHUMB_DOWNRIGHT: 'LTHUMB_DOWNRIGHT',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'RTHUMB_UP',
VK_PAD_RTHUMB_DOWN : 'RTHUMB_DOWN',
VK_PAD_RTHUMB_LEFT : 'RTHUMB_LEFT',
VK_PAD_RTHUMB_RIGHT : 'RTHUMB_RIGHT',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_FLIGHT_STICK: {
VK_PAD_DPAD_UP : 'DPAD_UP',
VK_PAD_DPAD_DOWN : 'DPAD_DOWN',
VK_PAD_DPAD_LEFT : 'DPAD_LEFT',
VK_PAD_DPAD_RIGHT : 'DPAD_RIGHT',
VK_PAD_A : 'Weapon.Primary',
VK_PAD_B : 'Weapon.Secondary',
VK_PAD_X : 'X',
VK_PAD_Y : 'Y',
VK_PAD_START : 'START',
VK_PAD_BACK : 'BACK',
VK_PAD_LSHOULDER : 'LSHOULDER',
VK_PAD_RSHOULDER : 'RSHOULDER',
VK_PAD_LTRIGGER : 'Throttle.Up',
VK_PAD_RTRIGGER : 'Throttle.Down',
VK_PAD_LTHUMB_UP : 'Pitch.Down',
VK_PAD_LTHUMB_DOWN : 'Pitch.Up',
VK_PAD_LTHUMB_LEFT : 'Roll.Left',
VK_PAD_LTHUMB_RIGHT : 'Roll.Right',
VK_PAD_LTHUMB_UPLEFT : 'PitchDown.RollLeft',
VK_PAD_LTHUMB_UPRIGHT : 'PitchDown.RollRight',
VK_PAD_LTHUMB_DOWNLEFT : 'PitchUp.RollLeft',
VK_PAD_LTHUMB_DOWNRIGHT: 'PitchUp.RollRight',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'POVHat.Up',
VK_PAD_RTHUMB_DOWN : 'POVHat.Down',
VK_PAD_RTHUMB_LEFT : 'POVHat.Left',
VK_PAD_RTHUMB_RIGHT : 'POVHat.Right',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_GUITAR: {
VK_PAD_DPAD_UP : 'Strum.Up',
VK_PAD_DPAD_DOWN : 'Strum.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Fret.Green',
VK_PAD_B : 'Fret.Red',
VK_PAD_X : 'Fret.Blue',
VK_PAD_Y : 'Fret.Yellow',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'Fret.Orange',
VK_PAD_RSHOULDER : 'FretModifier.2',
VK_PAD_LTRIGGER : 'PickupSelector',
VK_PAD_RTRIGGER : 'FretModifier.1',
VK_PAD_LTHUMB_UP : 'Pitch.Down',
VK_PAD_LTHUMB_DOWN : 'Pitch.Up',
VK_PAD_LTHUMB_LEFT : 'Roll.Left',
VK_PAD_LTHUMB_RIGHT : 'Roll.Right',
VK_PAD_LTHUMB_UPLEFT : 'PitchDown.RollLeft',
VK_PAD_LTHUMB_UPRIGHT : 'PitchDown.RollRight',
VK_PAD_LTHUMB_DOWNLEFT : 'PitchUp.RollLeft',
VK_PAD_LTHUMB_DOWNRIGHT: 'PitchUp.RollRight',
VK_PAD_LTHUMB_PRESS : 'FretModifier.3',
VK_PAD_RTHUMB_UP : 'Orientation.Up',
VK_PAD_RTHUMB_DOWN : 'Orientation.Down',
VK_PAD_RTHUMB_LEFT : 'WhammyBar.Left',
VK_PAD_RTHUMB_RIGHT : 'WhammyBar.Right',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_DRUM_KIT: {
VK_PAD_DPAD_UP : 'D-Pad.Up',
VK_PAD_DPAD_DOWN : 'D-Pad.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Tom.Floor',
VK_PAD_B : 'Drum.Snare',
VK_PAD_X : 'Tom.Low',
VK_PAD_Y : 'Tom.High',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'Drum.Bass',
VK_PAD_RSHOULDER : 'RSHOULDER',
VK_PAD_LTRIGGER : 'LTRIGGER',
VK_PAD_RTRIGGER : 'RTRIGGER',
VK_PAD_LTHUMB_UP : 'LTHUMB_UP',
VK_PAD_LTHUMB_DOWN : 'LTHUMB_DOWN',
VK_PAD_LTHUMB_LEFT : 'LTHUMB_LEFT',
VK_PAD_LTHUMB_RIGHT : 'LTHUMB_RIGHT',
VK_PAD_LTHUMB_UPLEFT : 'LTHUMB_UPLEFT',
VK_PAD_LTHUMB_UPRIGHT : 'LTHUMB_UPRIGHT',
VK_PAD_LTHUMB_DOWNLEFT : 'LTHUMB_DOWNLEFT',
VK_PAD_LTHUMB_DOWNRIGHT: 'LTHUMB_DOWNRIGHT',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'RTHUMB_UP',
VK_PAD_RTHUMB_DOWN : 'RTHUMB_DOWN',
VK_PAD_RTHUMB_LEFT : 'RTHUMB_LEFT',
VK_PAD_RTHUMB_RIGHT : 'RTHUMB_RIGHT',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_DANCE_PAD: {
VK_PAD_DPAD_UP : 'D-Pad.Up',
VK_PAD_DPAD_DOWN : 'D-Pad.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Button.A',
VK_PAD_B : 'Button.B',
VK_PAD_X : 'Button.X',
VK_PAD_Y : 'Button.Y',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'LSHOULDER',
VK_PAD_RSHOULDER : 'RSHOULDER',
VK_PAD_LTRIGGER : 'LTRIGGER',
VK_PAD_RTRIGGER : 'RTRIGGER',
VK_PAD_LTHUMB_UP : 'LTHUMB_UP',
VK_PAD_LTHUMB_DOWN : 'LTHUMB_DOWN',
VK_PAD_LTHUMB_LEFT : 'LTHUMB_LEFT',
VK_PAD_LTHUMB_RIGHT : 'LTHUMB_RIGHT',
VK_PAD_LTHUMB_UPLEFT : 'LTHUMB_UPLEFT',
VK_PAD_LTHUMB_UPRIGHT : 'LTHUMB_UPRIGHT',
VK_PAD_LTHUMB_DOWNLEFT : 'LTHUMB_DOWNLEFT',
VK_PAD_LTHUMB_DOWNRIGHT: 'LTHUMB_DOWNRIGHT',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'RTHUMB_UP',
VK_PAD_RTHUMB_DOWN : 'RTHUMB_DOWN',
VK_PAD_RTHUMB_LEFT : 'RTHUMB_LEFT',
VK_PAD_RTHUMB_RIGHT : 'RTHUMB_RIGHT',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_ARCADE_STICK: {
VK_PAD_DPAD_UP : 'D-Pad.Up',
VK_PAD_DPAD_DOWN : 'D-Pad.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Button.A',
VK_PAD_B : 'Button.B',
VK_PAD_X : 'Button.X',
VK_PAD_Y : 'Button.Y',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'LSHOULDER',
VK_PAD_RSHOULDER : 'RSHOULDER',
VK_PAD_LTRIGGER : 'Trigger.Left',
VK_PAD_RTRIGGER : 'Trigger.Right',
VK_PAD_LTHUMB_UP : 'LTHUMB_UP',
VK_PAD_LTHUMB_DOWN : 'LTHUMB_DOWN',
VK_PAD_LTHUMB_LEFT : 'LTHUMB_LEFT',
VK_PAD_LTHUMB_RIGHT : 'LTHUMB_RIGHT',
VK_PAD_LTHUMB_UPLEFT : 'LTHUMB_UPLEFT',
VK_PAD_LTHUMB_UPRIGHT : 'LTHUMB_UPRIGHT',
VK_PAD_LTHUMB_DOWNLEFT : 'LTHUMB_DOWNLEFT',
VK_PAD_LTHUMB_DOWNRIGHT: 'LTHUMB_DOWNRIGHT',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'RTHUMB_UP',
VK_PAD_RTHUMB_DOWN : 'RTHUMB_DOWN',
VK_PAD_RTHUMB_LEFT : 'RTHUMB_LEFT',
VK_PAD_RTHUMB_RIGHT : 'RTHUMB_RIGHT',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
XINPUT_DEVSUBTYPE_ARCADE_PAD: {
VK_PAD_DPAD_UP : 'D-Pad.Up',
VK_PAD_DPAD_DOWN : 'D-Pad.Down',
VK_PAD_DPAD_LEFT : 'D-Pad.Left',
VK_PAD_DPAD_RIGHT : 'D-Pad.Right',
VK_PAD_A : 'Button.A',
VK_PAD_B : 'Button.B',
VK_PAD_X : 'Button.X',
VK_PAD_Y : 'Button.Y',
VK_PAD_START : 'Button.Start',
VK_PAD_BACK : 'Button.Back',
VK_PAD_LSHOULDER : 'Shoulder.Left',
VK_PAD_RSHOULDER : 'Shoulder.Right',
VK_PAD_LTRIGGER : 'Trigger.Left',
VK_PAD_RTRIGGER : 'Trigger.Right',
VK_PAD_LTHUMB_UP : 'LTHUMB_UP',
VK_PAD_LTHUMB_DOWN : 'LTHUMB_DOWN',
VK_PAD_LTHUMB_LEFT : 'LTHUMB_LEFT',
VK_PAD_LTHUMB_RIGHT : 'LTHUMB_RIGHT',
VK_PAD_LTHUMB_UPLEFT : 'LTHUMB_UPLEFT',
VK_PAD_LTHUMB_UPRIGHT : 'LTHUMB_UPRIGHT',
VK_PAD_LTHUMB_DOWNLEFT : 'LTHUMB_DOWNLEFT',
VK_PAD_LTHUMB_DOWNRIGHT: 'LTHUMB_DOWNRIGHT',
VK_PAD_LTHUMB_PRESS : 'LTHUMB_PRESS',
VK_PAD_RTHUMB_UP : 'RTHUMB_UP',
VK_PAD_RTHUMB_DOWN : 'RTHUMB_DOWN',
VK_PAD_RTHUMB_LEFT : 'RTHUMB_LEFT',
VK_PAD_RTHUMB_RIGHT : 'RTHUMB_RIGHT',
VK_PAD_RTHUMB_UPLEFT : 'RTHUMB_UPLEFT',
VK_PAD_RTHUMB_UPRIGHT : 'RTHUMB_UPRIGHT',
VK_PAD_RTHUMB_DOWNLEFT : 'RTHUMB_DOWNLEFT',
VK_PAD_RTHUMB_DOWNRIGHT: 'RTHUMB_DOWNRIGHT',
VK_PAD_RTHUMB_PRESS : 'RTHUMB_PRESS'
},
}
CONTROLLER_MAPPINGS[XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE] = (
CONTROLLER_MAPPINGS[XINPUT_DEVSUBTYPE_GUITAR]
)
CONTROLLER_MAPPINGS[XINPUT_DEVSUBTYPE_GUITAR_BASS] = (
CONTROLLER_MAPPINGS[XINPUT_DEVSUBTYPE_GUITAR]
)