// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Config.h" // The maximum amount of supported gamepads connected at once. #define MAX_GAMEPADS 8 /// /// Hardware mouse cursor behavior. /// API_ENUM() enum class CursorLockMode { /// /// The default mode. /// None = 0, /// /// Cursor position is locked to the center of the game window. /// Locked = 1, /// /// Cursor position is confined to the bounds of the game window. /// Clipped = 2, }; /// /// Mouse buttons types. /// API_ENUM() enum class MouseButton { /// /// No button. /// None = 0, /// /// Left button. /// Left = 1, /// /// Middle button. /// Middle = 2, /// /// Right button. /// Right = 3, /// /// Extended button 1 (or XButton1). /// Extended1 = 4, /// /// Extended button 2 (or XButton2). /// Extended2 = 5, MAX }; /// /// Axis for gamepad. /// API_ENUM() enum class GamepadAxis { /// /// No axis. /// None = 0, /// /// The X-Axis of the left thumb stick. /// LeftStickX = 1, /// /// The Y-Axis of the left thumb stick. /// LeftStickY = 2, /// /// The X-Axis of the right thumb stick. /// RightStickX = 3, /// /// The Y-Axis of the right thumb stick. /// RightStickY = 4, /// /// The left trigger. /// LeftTrigger = 5, /// /// The right trigger. /// RightTrigger = 6, MAX }; /// /// Buttons for gamepad. /// API_ENUM() enum class GamepadButton { /// /// No buttons. /// None = 0, /// /// PadUp button (DPad / Directional Pad). /// DPadUp = 1, /// /// PadDown button (DPad / Directional Pad). /// DPadDown = 2, /// /// PadLeft button (DPad / Directional Pad). /// DPadLeft = 3, /// /// PadRight button (DPad / Directional Pad). /// DPadRight = 4, /// /// Start button. /// Start = 5, /// /// Back button. /// Back = 6, /// /// Left thumbstick button. /// LeftThumb = 7, /// /// Right thumbstick button. /// RightThumb = 8, /// /// Left shoulder button. /// LeftShoulder = 9, /// /// Right shoulder button. /// RightShoulder = 10, /// /// Left trigger button. /// LeftTrigger = 11, /// /// Right trigger button. /// RightTrigger = 12, /// /// A (face button down). /// A = 13, /// /// B (face button right). /// B = 14, /// /// X (face button left). /// X = 15, /// /// Y (face button up). /// Y = 16, /// /// The left stick up. /// LeftStickUp = 17, /// /// The left stick down. /// LeftStickDown = 18, /// /// The left stick left. /// LeftStickLeft = 19, /// /// The left stick right. /// LeftStickRight = 20, /// /// The right stick up. /// RightStickUp = 21, /// /// The right stick down. /// RightStickDown = 22, /// /// The right stick left. /// RightStickLeft = 23, /// /// The right stick right. /// RightStickRight = 24, MAX }; /// /// The input action event trigger modes. /// API_ENUM() enum class InputActionMode { /// /// User is pressing the key/button. /// Pressing = 0, /// /// User pressed the key/button (but wasn't pressing it in the previous frame). /// Press = 1, /// /// User released the key/button (was pressing it in the previous frame). /// Release = 2, }; /// /// The input action event phases. /// API_ENUM() enum class InputActionState { /// /// The key/button is not assigned. /// None = 0, /// /// The key/button is waiting for input. /// Waiting = 1, /// /// User is pressing the key/button. /// Pressing = 2, /// /// User pressed the key/button (but wasn't pressing it in the previous frame). /// Press = 3, /// /// User released the key/button (was pressing it in the previous frame). /// Release = 4, }; /// /// The input gamepad index. /// API_ENUM() enum class InputGamepadIndex { /// /// All detected gamepads. /// All = -1, /// /// The gamepad no. 0. /// Gamepad0 = 0, /// /// The gamepad no. 1. /// Gamepad1 = 1, /// /// The gamepad no. 2. /// Gamepad2 = 2, /// /// The gamepad no. 3. /// Gamepad3 = 3, /// /// The gamepad no. 4. /// Gamepad4 = 4, /// /// The gamepad no. 5. /// Gamepad5 = 5, }; /// /// The input axes types. /// API_ENUM() enum class InputAxisType { /// /// The mouse X-Axis (mouse delta position scaled by the sensitivity). /// MouseX = 0, /// /// The mouse Y-Axis (mouse delta position scaled by the sensitivity). /// MouseY = 1, /// /// The mouse wheel (mouse wheel delta scaled by the sensitivity). /// MouseWheel = 2, /// /// The gamepad X-Axis of the left thumb stick. /// GamepadLeftStickX = 3, /// /// The gamepad Y-Axis of the left thumb stick. /// GamepadLeftStickY = 4, /// /// The gamepad X-Axis of the right thumb stick. /// GamepadRightStickX = 5, /// /// The gamepad Y-Axis of the right thumb stick. /// GamepadRightStickY = 6, /// /// The gamepad left trigger. /// GamepadLeftTrigger = 7, /// /// The gamepad right trigger. /// GamepadRightTrigger = 8, /// /// The keyboard only mode. For key inputs. /// KeyboardOnly = 9, /// /// Pad X axis - left/right (DPad / Directional Pad). /// GamepadDPadX = 10, /// /// Pad Y axis - up/down (DPad / Directional Pad). /// GamepadDPadY = 11, };