@@ -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
565619export 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-
577625export interface ActiveAccount {
578626 strActiveAccountID : string ;
579627 strName : string ;
0 commit comments