From 01b805f801c466dfb8a3b7a5e56c8a1430193882 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sat, 23 Dec 2023 19:37:39 +0100 Subject: [PATCH] InputSystem: joystick deadzone indices and event input callback types Adjust iface accordingly. --- src/public/inputsystem/InputEnums.h | 8 +++++--- src/public/inputsystem/iinputsystem.h | 12 ++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/public/inputsystem/InputEnums.h b/src/public/inputsystem/InputEnums.h index 7f7c5f99..6895d74d 100644 --- a/src/public/inputsystem/InputEnums.h +++ b/src/public/inputsystem/InputEnums.h @@ -37,10 +37,12 @@ enum JoystickAxis_t MAX_JOYSTICK_AXES, }; -enum JoystickDeadzoneMode_t +enum JoystickDeadzoneIndex_t { - JOYSTICK_DEADZONE_CROSS = 0, - JOYSTICK_DEADZONE_SQUARE = 1, + JOYSTICK_DEADZONE_NONE = 0, + JOYSTICK_DEADZONE_XBOX360, + JOYSTICK_DEADZONE_XBOX1, + JOYSTICK_DEADZONE_OTHER }; //----------------------------------------------------------------------------- diff --git a/src/public/inputsystem/iinputsystem.h b/src/public/inputsystem/iinputsystem.h index 578ef757..29949574 100644 --- a/src/public/inputsystem/iinputsystem.h +++ b/src/public/inputsystem/iinputsystem.h @@ -16,6 +16,10 @@ DECLARE_POINTER_HANDLE( InputCursorHandle_t ); #define INPUT_CURSOR_HANDLE_INVALID ( (InputCursorHandle_t)0 ) +///----------------------------------------------------------------------------- +/// Input event callback +///----------------------------------------------------------------------------- +typedef void ( *InputEventCallback_t ) ( const InputEvent_t& eventCallback ); ///----------------------------------------------------------------------------- /// An enumeration describing well-known cursor icons @@ -67,17 +71,17 @@ public: /// Is a button down? "Buttons" are binary-state input devices (mouse buttons, keyboard keys). virtual bool IsButtonDown( const ButtonCode_t code ) const = 0; - /// Returns the tick at which the button was pressed and released + /// Returns the tick at which the button was pressed and released. virtual int GetButtonPressedTick( const ButtonCode_t code ) const = 0; - /// TODO[ AMOS ]: reverse this further ( returns an enum ? )... - virtual int GetJoystickDeadzoneIndex( ) const = 0; + /// Returns the joystick deadzone index for connected hardware. + virtual JoystickDeadzoneIndex_t GetJoystickDeadzoneIndex( ) const = 0; /// DoNothing; VFTable padding. virtual bool ReturnFalse( ) const = 0; /// Polls the current input state. - virtual void PollInputState( const void* const eventCallback ) = 0; + virtual void PollInputState( const InputEventCallback_t eventCallback ) = 0; /// Posts a user-defined event into the event queue; this is expected /// to be called in overridden wndprocs connected to the root panel.