Calamity Engine 1.0.0
A cross-platform 2D game engine written in C++ and SDL3.
Loading...
Searching...
No Matches
input.hpp File Reference
#include <SDL3/SDL.h>
#include "../../core/definitions.hpp"
#include "keycode.hpp"
#include <map>
#include <optional>
#include "../../core/node/components.hpp"

Go to the source code of this file.

Classes

class  InputEvent
 
class  InputEventAction
 
class  InputEventWithModifiers
 
class  InputEventKey
 
class  InputEventMouse
 
class  InputEventMouseButton
 
class  InputEventMouseMotion
 
class  InputEventControllerButton
 
class  InputEventControllerStatus
 
class  InputEventControllerMotion
 
struct  InputRegistryAction
 
class  InputRegistry
 
class  Input
 

Enumerations

enum class  ControllerButton {
  INVALID = -1 , SOUTH , EAST , WEST ,
  NORTH , BACK , GUIDE , START ,
  LEFT_STICK , RIGHT_STICK , LEFT_SHOULDER , RIGHT_SHOULDER ,
  DPAD_UP , DPAD_DOWN , DPAD_LEFT , DPAD_RIGHT ,
  MISC1 , RIGHT_PADDLE1 , LEFT_PADDLE1 , RIGHT_PADDLE2 ,
  LEFT_PADDLE2 , TOUCHPAD , COUNT
}
 
enum class  ControllerAxis {
  INVALID = -1 , LEFT_X , LEFT_Y , RIGHT_X ,
  RIGHT_Y , TRIGGER_LEFT , TRIGGER_RIGHT , SDL_MAX
}
 
enum class  MouseButton {
  NONE , LEFT , MIDDLE , RIGHT ,
  XBUTTON1 , XBUTTON2 , WHEEL_UP , WHEEL_DOWN ,
  WHEEL_LEFT , WHEEL_RIGHT
}
 

Enumeration Type Documentation

◆ ControllerAxis

enum class ControllerAxis
strong
Enumerator
INVALID 
LEFT_X 
LEFT_Y 
RIGHT_X 
RIGHT_Y 
TRIGGER_LEFT 
TRIGGER_RIGHT 
SDL_MAX 

◆ ControllerButton

enum class ControllerButton
strong
Enumerator
INVALID 
SOUTH 

Bottom face button (e.g. Xbox A button)

EAST 

Right face button (e.g. Xbox B button)

WEST 

Left face button (e.g. Xbox X button)

NORTH 

Top face button (e.g. Xbox Y button)

BACK 
GUIDE 
START 
LEFT_STICK 
RIGHT_STICK 
LEFT_SHOULDER 
RIGHT_SHOULDER 
DPAD_UP 
DPAD_DOWN 
DPAD_LEFT 
DPAD_RIGHT 
MISC1 

Additional button (e.g. Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button, Google Stadia capture button)

RIGHT_PADDLE1 

Upper or primary paddle, under your right hand (e.g. Xbox Elite paddle P1, DualSense Edge RB button, Right Joy-Con SR button)

LEFT_PADDLE1 

Upper or primary paddle, under your left hand (e.g. Xbox Elite paddle P3, DualSense Edge LB button, Left Joy-Con SL button)

RIGHT_PADDLE2 

Lower or secondary paddle, under your right hand (e.g. Xbox Elite paddle P2, DualSense Edge right Fn button, Right Joy-Con SL button)

LEFT_PADDLE2 

Lower or secondary paddle, under your left hand (e.g. Xbox Elite paddle P4, DualSense Edge left Fn button, Left Joy-Con SR button)

TOUCHPAD 

PS4/PS5 touchpad button

COUNT 

◆ MouseButton

enum class MouseButton
strong
Enumerator
NONE 
LEFT 
MIDDLE 
RIGHT 
XBUTTON1 
XBUTTON2 
WHEEL_UP 
WHEEL_DOWN 
WHEEL_LEFT 
WHEEL_RIGHT