Skip to content

Commit 25b4b60

Browse files
authored
types(input): Add GamepadButton enum & set correct type for RegisterForControllerInputMessage (#125)
1 parent cf6572c commit 25b4b60

File tree

1 file changed

+55
-7
lines changed

1 file changed

+55
-7
lines changed

src/globals/steam-client/Input.ts

Lines changed: 55 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export interface Input {
130130
* @returns an object that can be used to unregister the callback.
131131
*/
132132
RegisterForControllerInputMessages(
133-
callback: (msgs: ControllerInputMessage[]) => void,
133+
callback: (controllerIndex: number, gamepadButton: ControllerInputGamepadButton, isButtonPressed: boolean) => void,
134134
): Unregisterable;
135135

136136
RegisterForControllerListChanges(callback: (controllerListChanges: ControllerInfo[]) => void): Unregisterable;
@@ -560,6 +560,60 @@ export enum EControllerRumbleSetting {
560560
On,
561561
}
562562

563+
export enum ControllerInputGamepadButton {
564+
GAMEPAD_BUTTON_A = 0,
565+
GAMEPAD_BUTTON_B = 1,
566+
GAMEPAD_BUTTON_X = 2,
567+
GAMEPAD_BUTTON_Y = 3,
568+
GAMEPAD_BUTTON_DPAD_UP = 4,
569+
GAMEPAD_BUTTON_DPAD_RIGHT = 5,
570+
GAMEPAD_BUTTON_DPAD_DOWN = 6,
571+
GAMEPAD_BUTTON_DPAD_LEFT = 7,
572+
GAMEPAD_BUTTON_MENU = 8,
573+
GAMEPAD_BUTTON_VIEW = 9,
574+
GAMEPAD_LEFTPAD_UP = 10,
575+
GAMEPAD_LEFTPAD_DOWN = 11,
576+
GAMEPAD_LEFTPAD_LEFT = 12,
577+
GAMEPAD_LEFTPAD_RIGHT = 13,
578+
GAMEPAD_LEFTPAD_ANALOG = 14,
579+
GAMEPAD_RIGHTPAD_UP = 15,
580+
GAMEPAD_RIGHTPAD_DOWN = 16,
581+
GAMEPAD_RIGHTPAD_LEFT = 17,
582+
GAMEPAD_RIGHTPAD_RIGHT = 18,
583+
GAMEPAD_RIGHTPAD_ANALOG = 19,
584+
GAMEPAD_LEFTSTICK_UP = 20,
585+
GAMEPAD_LEFTSTICK_DOWN = 21,
586+
GAMEPAD_LEFTSTICK_LEFT = 22,
587+
GAMEPAD_LEFTSTICK_RIGHT = 23,
588+
GAMEPAD_LEFTSTICK_ANALOG = 24,
589+
GAMEPAD_LEFTSTICK_CLICK = 25,
590+
GAMEPAD_LTRIGGER_ANALOG = 26,
591+
GAMEPAD_RTRIGGER_ANALOG = 27,
592+
GAMEPAD_BUTTON_LTRIGGER = 28,
593+
GAMEPAD_BUTTON_RTRIGGER = 29,
594+
GAMEPAD_BUTTON_LSHOULDER = 30,
595+
GAMEPAD_BUTTON_RSHOULDER = 31,
596+
GAMEPAD_BUTTON_LBACK = 32,
597+
GAMEPAD_BUTTON_RBACK = 33,
598+
GAMEPAD_BUTTON_GUIDE = 34,
599+
GAMEPAD_BUTTON_SELECT = 35,
600+
GAMEPAD_BUTTON_START = 36,
601+
GAMEPAD_BUTTON_LPAD_CLICKED = 37,
602+
GAMEPAD_BUTTON_LPAD_TOUCH = 38,
603+
GAMEPAD_BUTTON_RPAD_CLICKED = 39,
604+
GAMEPAD_BUTTON_RPAD_TOUCH = 40,
605+
GAMEPAD_RIGHTSTICK_CLICK = 41,
606+
GAMEPAD_RIGHTSTICK_TOUCH = 42,
607+
GAMEPAD_LEFTSTICK_TOUCH = 43,
608+
GAMEPAD_BUTTON_LBACK_UPPER = 44,
609+
GAMEPAD_BUTTON_RBACK_UPPER = 45,
610+
GAMEPAD_BUTTON_LAST = 46,
611+
GAMEPAD_ANALOG_SCROLL = 47,
612+
GAMEPAD_ANALOG_LEFT_KEYBOARD_CURSOR = 48,
613+
GAMEPAD_ANALOG_RIGHT_KEYBOARD_CURSOR = 49,
614+
GAMEPAD_ANALOG_LAST = 50
615+
}
616+
563617
// TODO: Not the actual name, but the enum is only represented in a dropdown
564618
// options vector, ty valve
565619
export enum EThirdPartyControllerConfiguration {
@@ -568,12 +622,6 @@ export enum EThirdPartyControllerConfiguration {
568622
On,
569623
}
570624

571-
export interface ControllerInputMessage {
572-
nA: number;
573-
bS: boolean;
574-
nC: number;
575-
}
576-
577625
export interface ActiveAccount {
578626
strActiveAccountID: string;
579627
strName: string;

0 commit comments

Comments
 (0)