Unravel Engine C++ Reference
Loading...
Searching...
No Matches
input Namespace Reference

Classes

class  action_map
 
class  bimap
 
class  button_state_map
 
struct  coord
 
class  gamepad
 
struct  gamepad_360
 
class  gamepad_action_map
 
class  input_device
 
class  input_manager
 
struct  input_reference_size
 
class  key_state_map
 
class  keyboard
 
class  keyboard_action_map
 
class  mouse
 
class  mouse_action_map
 
class  os_gamepad
 
class  os_input_manager
 
class  os_keyboard
 
class  os_mouse
 
struct  point
 
struct  zone
 

Typedefs

typedef std::string action_id_t
 
using deadzone_float_filter = std::function<float(const float, const float)>
 
using deadzone_point_filter = std::function<point(const float, const float, const float)>
 

Enumerations

enum class  axis_range { full , positive , negative }
 
enum class  button_state { up , pressed , down , released }
 
enum class  device_type { gamepad , keyboard , mouse }
 
enum class  gamepad_axis {
  left_x , left_y , right_x , right_y ,
  left_trigger , right_trigger , count
}
 
enum class  gamepad_button {
  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 , misc2 , misc3 , misc4 ,
  misc5 , misc6 , count
}
 
enum class  input_type { axis , button , key }
 
enum class  key_code : int32_t {
  unknown , a , b , c ,
  d , e , f , g ,
  h , i , j , k ,
  l , m , n , o ,
  p , q , r , s ,
  t , u , v , w ,
  x , y , z , digit1 ,
  digit2 , digit3 , digit4 , digit5 ,
  digit6 , digit7 , digit8 , digit9 ,
  digit0 , enter , escape , backspace ,
  tab , space , minus , equals ,
  leftbracket , rightbracket , backslash , nonushash ,
  semicolon , apostrophe , grave , comma ,
  period , slash , capslock , f1 ,
  f2 , f3 , f4 , f5 ,
  f6 , f7 , f8 , f9 ,
  f10 , f11 , f12 , printscreen ,
  scrolllock , pause , insert , home ,
  pageup , del , end , pagedown ,
  right , left , down , up ,
  numlockclear , kp_divide , kp_multiply , kp_minus ,
  kp_plus , kp_enter , kp_digit1 , kp_digit2 ,
  kp_digit3 , kp_digit4 , kp_digit5 , kp_digit6 ,
  kp_digit7 , kp_digit8 , kp_digit9 , kp_digit0 ,
  kp_period , nonusbackslash , application , power ,
  kp_equals , f13 , f14 , f15 ,
  f16 , f17 , f18 , f19 ,
  f20 , f21 , f22 , f23 ,
  f24 , execute , help , menu ,
  select , stop , again , undo ,
  cut , copy , paste , find ,
  mute , volumeup , volumedown , kp_comma ,
  kp_equalsas400 , international1 , international2 , international3 ,
  international4 , international5 , international6 , international7 ,
  international8 , international9 , lang1 , lang2 ,
  lang3 , lang4 , lang5 , lang6 ,
  lang7 , lang8 , lang9 , alterase ,
  sysreq , cancel , clear , prior ,
  return2 , separator , out , oper ,
  clearagain , crsel , exsel , kp_digit00 ,
  kp_digit000 , thousandsseparator , decimalseparator , currencyunit ,
  currencysubunit , kp_leftparen , kp_rightparen , kp_leftbrace ,
  kp_rightbrace , kp_tab , kp_backspace , kp_a ,
  kp_b , kp_c , kp_d , kp_e ,
  kp_f , kp_xor , kp_power , kp_percent ,
  kp_less , kp_greater , kp_ampersand , kp_dblampersand ,
  kp_verticalbar , kp_dblverticalbar , kp_colon , kp_hash ,
  kp_space , kp_at , kp_exclam , kp_memstore ,
  kp_memrecall , kp_memclear , kp_memadd , kp_memsubtract ,
  kp_memmultiply , kp_memdivide , kp_plusminus , kp_clear ,
  kp_clearentry , kp_binary , kp_octal , kp_decimal ,
  kp_hexadecimal , lctrl , lshift , lalt ,
  lgui , rctrl , rshift , ralt ,
  rgui , mode , media_play , media_pause ,
  media_record , media_fast_forward , media_rewind , media_next ,
  media_prev , media_stop , media_eject , media_play_pause ,
  media_select , ac_new , ac_open , ac_close ,
  ac_exit , ac_save , ac_print , ac_properties ,
  ac_search , ac_home , ac_back , ac_forward ,
  ac_stop , ac_refresh , ac_bookmarks , sleep ,
  count
}
 
enum class  key_state { up , pressed , down , released }
 
enum class  mouse_axis { x , y , scroll }
 
enum class  mouse_button : int32_t {
  left_button , right_button , middle_button , button4 ,
  button5 , button6 , button7 , button8 ,
  button9 , button10 , button11 , button12 ,
  button13 , button14 , button15 , button16 ,
  count
}
 

Functions

auto button_state_to_analog_value (const button_state state) -> float
 
auto button_state_to_digital_value (const button_state state) -> bool
 
auto operator== (const coord &p1, const coord &p2) -> bool
 
auto operator!= (const coord &p1, const coord &p2) -> bool
 
void initialize_os_key_map (bimap< key_code, int > &key_map)
 
auto epsilon_not_equal (float x, float y) -> bool
 
auto key_state_to_analog_value (const key_state state) -> float
 
auto key_state_to_digital_value (const key_state state) -> bool
 
auto operator== (const point &p1, const point &p2) -> bool
 
auto operator!= (const point &p1, const point &p2) -> bool
 
auto to_string (axis_range range) -> const std::string &
 
auto to_string (input_type type) -> const std::string &
 
auto to_string (const coord &coord) -> std::string
 
auto to_string (const gamepad_axis axis) -> std::string
 
auto to_string (gamepad_button button) -> std::string
 
auto get_description (gamepad_button button) -> std::string
 
auto to_string (const key_state state) -> std::string
 
auto to_string (const point &p) -> std::string
 
auto to_string (mouse_button button) -> std::string
 
auto to_string (mouse_axis axis) -> const std::string &
 
 REFLECT (action_map)
 
 SAVE_INLINE (mouse_action_map::mouse_entry)
 
 LOAD_INLINE (mouse_action_map::mouse_entry)
 
 SAVE (mouse_action_map)
 
 SAVE_INSTANTIATE (mouse_action_map, ser20::oarchive_associative_t)
 
 SAVE_INSTANTIATE (mouse_action_map, ser20::oarchive_binary_t)
 
 LOAD (mouse_action_map)
 
 LOAD_INSTANTIATE (mouse_action_map, ser20::iarchive_associative_t)
 
 LOAD_INSTANTIATE (mouse_action_map, ser20::iarchive_binary_t)
 
 SAVE_INLINE (gamepad_action_map::gamepad_entry)
 
 LOAD_INLINE (gamepad_action_map::gamepad_entry)
 
 SAVE (gamepad_action_map)
 
 SAVE_INSTANTIATE (gamepad_action_map, ser20::oarchive_associative_t)
 
 SAVE_INSTANTIATE (gamepad_action_map, ser20::oarchive_binary_t)
 
 LOAD (gamepad_action_map)
 
 LOAD_INSTANTIATE (gamepad_action_map, ser20::iarchive_associative_t)
 
 LOAD_INSTANTIATE (gamepad_action_map, ser20::iarchive_binary_t)
 
 SAVE_INLINE (keyboard_action_map::key_entry)
 
 LOAD_INLINE (keyboard_action_map::key_entry)
 
 SAVE (keyboard_action_map)
 
 SAVE_INSTANTIATE (keyboard_action_map, ser20::oarchive_associative_t)
 
 SAVE_INSTANTIATE (keyboard_action_map, ser20::oarchive_binary_t)
 
 LOAD (keyboard_action_map)
 
 LOAD_INSTANTIATE (keyboard_action_map, ser20::iarchive_associative_t)
 
 LOAD_INSTANTIATE (keyboard_action_map, ser20::iarchive_binary_t)
 
 SAVE (action_map)
 
 SAVE_INSTANTIATE (action_map, ser20::oarchive_associative_t)
 
 SAVE_INSTANTIATE (action_map, ser20::oarchive_binary_t)
 
 LOAD (action_map)
 
 LOAD_INSTANTIATE (action_map, ser20::iarchive_associative_t)
 
 LOAD_INSTANTIATE (action_map, ser20::iarchive_binary_t)
 
 SAVE_EXTERN (mouse_action_map)
 
 LOAD_EXTERN (mouse_action_map)
 
 SAVE_EXTERN (keyboard_action_map)
 
 LOAD_EXTERN (keyboard_action_map)
 
 SAVE_EXTERN (gamepad_action_map)
 
 LOAD_EXTERN (gamepad_action_map)
 
 SAVE_EXTERN (action_map)
 
 LOAD_EXTERN (action_map)
 
 REFLECT_EXTERN (action_map)
 

Typedef Documentation

◆ action_id_t

typedef std::string input::action_id_t

Definition at line 6 of file action_id.hpp.

◆ deadzone_float_filter

using input::deadzone_float_filter = std::function<float(const float, const float)>

Definition at line 10 of file deadzone.hpp.

◆ deadzone_point_filter

using input::deadzone_point_filter = std::function<point(const float, const float, const float)>

Definition at line 13 of file deadzone.hpp.

Enumeration Type Documentation

◆ axis_range

enum class input::axis_range
strong
Enumerator
full 
positive 
negative 

Definition at line 5 of file axis_range.hpp.

◆ button_state

enum class input::button_state
strong
Enumerator
up 
pressed 
down 
released 

Definition at line 5 of file button_state.hpp.

◆ device_type

enum class input::device_type
strong
Enumerator
gamepad 
keyboard 
mouse 

Definition at line 5 of file device_type.hpp.

◆ gamepad_axis

enum class input::gamepad_axis
strong
Enumerator
left_x 
left_y 
right_x 
right_y 
left_trigger 
right_trigger 
count 

Definition at line 5 of file gamepad_axis.hpp.

◆ gamepad_button

enum class input::gamepad_button
strong
Enumerator
south 

Bottom face button (e.g. Xbox A button, PS Cross button)

east 

Right face button (e.g. Xbox B button, PS Circle button)

west 

Left face button (e.g. Xbox X button, PS Square button)

north 

Top face button (e.g. Xbox Y button, PS Triangle 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)

left_paddle1 

Upper or primary paddle, under your left hand (e.g. Xbox Elite paddle P3)

right_paddle2 

Lower or secondary paddle, under your right hand (e.g. Xbox Elite paddle P2)

left_paddle2 

Lower or secondary paddle, under your left hand (e.g. Xbox Elite paddle P4)

touchpad 

PS4/PS5 touchpad button

misc2 

Additional button

misc3 

Additional button

misc4 

Additional button

misc5 

Additional button

misc6 

Additional button

count 

Definition at line 5 of file gamepad_button.hpp.

◆ input_type

enum class input::input_type
strong
Enumerator
axis 
button 
key 

Definition at line 6 of file input_type.hpp.

◆ key_code

enum class input::key_code : int32_t
strong
Enumerator
unknown 
digit1 
digit2 
digit3 
digit4 
digit5 
digit6 
digit7 
digit8 
digit9 
digit0 
enter 
escape 
backspace 
tab 
space 
minus 
equals 
leftbracket 
rightbracket 
backslash 
nonushash 
semicolon 
apostrophe 
grave 
comma 
period 
slash 
capslock 
f1 
f2 
f3 
f4 
f5 
f6 
f7 
f8 
f9 
f10 
f11 
f12 
printscreen 
scrolllock 
pause 
insert 
home 
pageup 
del 
end 
pagedown 
right 
left 
down 
up 
numlockclear 
kp_divide 
kp_multiply 
kp_minus 
kp_plus 
kp_enter 
kp_digit1 
kp_digit2 
kp_digit3 
kp_digit4 
kp_digit5 
kp_digit6 
kp_digit7 
kp_digit8 
kp_digit9 
kp_digit0 
kp_period 
nonusbackslash 
application 
power 
kp_equals 
f13 
f14 
f15 
f16 
f17 
f18 
f19 
f20 
f21 
f22 
f23 
f24 
execute 
help 
menu 
select 
stop 
again 
undo 
cut 
copy 
paste 
find 
mute 
volumeup 
volumedown 
kp_comma 
kp_equalsas400 
international1 
international2 
international3 
international4 
international5 
international6 
international7 
international8 
international9 
lang1 
lang2 
lang3 
lang4 
lang5 
lang6 
lang7 
lang8 
lang9 
alterase 
sysreq 
cancel 
clear 
prior 
return2 
separator 
out 
oper 
clearagain 
crsel 
exsel 
kp_digit00 
kp_digit000 
thousandsseparator 
decimalseparator 
currencyunit 
currencysubunit 
kp_leftparen 
kp_rightparen 
kp_leftbrace 
kp_rightbrace 
kp_tab 
kp_backspace 
kp_a 
kp_b 
kp_c 
kp_d 
kp_e 
kp_f 
kp_xor 
kp_power 
kp_percent 
kp_less 
kp_greater 
kp_ampersand 
kp_dblampersand 
kp_verticalbar 
kp_dblverticalbar 
kp_colon 
kp_hash 
kp_space 
kp_at 
kp_exclam 
kp_memstore 
kp_memrecall 
kp_memclear 
kp_memadd 
kp_memsubtract 
kp_memmultiply 
kp_memdivide 
kp_plusminus 
kp_clear 
kp_clearentry 
kp_binary 
kp_octal 
kp_decimal 
kp_hexadecimal 
lctrl 
lshift 
lalt 
lgui 
rctrl 
rshift 
ralt 
rgui 
mode 
media_play 
media_pause 
media_record 
media_fast_forward 
media_rewind 
media_next 
media_prev 
media_stop 
media_eject 
media_play_pause 
media_select 
ac_new 
ac_open 
ac_close 
ac_exit 
ac_save 
ac_print 
ac_properties 
ac_search 
ac_home 
ac_back 
ac_forward 
ac_stop 
ac_refresh 
ac_bookmarks 
sleep 
count 

Definition at line 5 of file key.hpp.

◆ key_state

enum class input::key_state
strong
Enumerator
up 
pressed 
down 
released 

Definition at line 5 of file key_state.hpp.

◆ mouse_axis

enum class input::mouse_axis
strong
Enumerator
scroll 

Definition at line 14 of file mouse_action_map.hpp.

◆ mouse_button

enum class input::mouse_button : int32_t
strong
Enumerator
left_button 
right_button 
middle_button 
button4 
button5 
button6 
button7 
button8 
button9 
button10 
button11 
button12 
button13 
button14 
button15 
button16 
count 

Definition at line 5 of file mouse_button.hpp.

Function Documentation

◆ button_state_to_analog_value()

auto input::button_state_to_analog_value ( const button_state state) -> float
inline

Definition at line 14 of file button_state.hpp.

◆ button_state_to_digital_value()

auto input::button_state_to_digital_value ( const button_state state) -> bool
inline

Definition at line 30 of file button_state.hpp.

◆ epsilon_not_equal()

auto input::epsilon_not_equal ( float x,
float y ) -> bool
inline

Definition at line 13 of file input_type.hpp.

◆ get_description()

auto input::get_description ( gamepad_button button) -> std::string
inline

Definition at line 156 of file to_string.hpp.

◆ initialize_os_key_map()

void input::initialize_os_key_map ( bimap< key_code, int > & key_map)

Definition at line 7 of file os_key_map.cpp.

◆ key_state_to_analog_value()

auto input::key_state_to_analog_value ( const key_state state) -> float
inline

Definition at line 14 of file key_state.hpp.

◆ key_state_to_digital_value()

auto input::key_state_to_digital_value ( const key_state state) -> bool
inline

Definition at line 30 of file key_state.hpp.

◆ LOAD() [1/4]

input::LOAD ( action_map )

Definition at line 120 of file input.cpp.

◆ LOAD() [2/4]

input::LOAD ( gamepad_action_map )

Definition at line 76 of file input.cpp.

◆ LOAD() [3/4]

input::LOAD ( keyboard_action_map )

Definition at line 104 of file input.cpp.

◆ LOAD() [4/4]

input::LOAD ( mouse_action_map )

Definition at line 44 of file input.cpp.

◆ LOAD_EXTERN() [1/4]

input::LOAD_EXTERN ( action_map )

◆ LOAD_EXTERN() [2/4]

input::LOAD_EXTERN ( gamepad_action_map )

◆ LOAD_EXTERN() [3/4]

input::LOAD_EXTERN ( keyboard_action_map )

◆ LOAD_EXTERN() [4/4]

input::LOAD_EXTERN ( mouse_action_map )

◆ LOAD_INLINE() [1/3]

input::LOAD_INLINE ( gamepad_action_map::gamepad_entry )

Definition at line 60 of file input.cpp.

◆ LOAD_INLINE() [2/3]

input::LOAD_INLINE ( keyboard_action_map::key_entry )

Definition at line 90 of file input.cpp.

◆ LOAD_INLINE() [3/3]

input::LOAD_INLINE ( mouse_action_map::mouse_entry )

Definition at line 30 of file input.cpp.

◆ LOAD_INSTANTIATE() [1/8]

input::LOAD_INSTANTIATE ( action_map ,
ser20::iarchive_associative_t  )

◆ LOAD_INSTANTIATE() [2/8]

input::LOAD_INSTANTIATE ( action_map ,
ser20::iarchive_binary_t  )

◆ LOAD_INSTANTIATE() [3/8]

input::LOAD_INSTANTIATE ( gamepad_action_map ,
ser20::iarchive_associative_t  )

◆ LOAD_INSTANTIATE() [4/8]

input::LOAD_INSTANTIATE ( gamepad_action_map ,
ser20::iarchive_binary_t  )

◆ LOAD_INSTANTIATE() [5/8]

input::LOAD_INSTANTIATE ( keyboard_action_map ,
ser20::iarchive_associative_t  )

◆ LOAD_INSTANTIATE() [6/8]

input::LOAD_INSTANTIATE ( keyboard_action_map ,
ser20::iarchive_binary_t  )

◆ LOAD_INSTANTIATE() [7/8]

input::LOAD_INSTANTIATE ( mouse_action_map ,
ser20::iarchive_associative_t  )

◆ LOAD_INSTANTIATE() [8/8]

input::LOAD_INSTANTIATE ( mouse_action_map ,
ser20::iarchive_binary_t  )

◆ operator!=() [1/2]

auto input::operator!= ( const coord & p1,
const coord & p2 ) -> bool
inline

Definition at line 20 of file coord.hpp.

◆ operator!=() [2/2]

auto input::operator!= ( const point & p1,
const point & p2 ) -> bool
inline

Definition at line 20 of file point.hpp.

◆ operator==() [1/2]

auto input::operator== ( const coord & p1,
const coord & p2 ) -> bool
inline

Definition at line 15 of file coord.hpp.

◆ operator==() [2/2]

auto input::operator== ( const point & p1,
const point & p2 ) -> bool
inline

Definition at line 15 of file point.hpp.

◆ REFLECT()

input::REFLECT ( action_map )

Definition at line 13 of file input.cpp.

◆ REFLECT_EXTERN()

input::REFLECT_EXTERN ( action_map )

◆ SAVE() [1/4]

input::SAVE ( action_map )

Definition at line 111 of file input.cpp.

◆ SAVE() [2/4]

input::SAVE ( gamepad_action_map )

Definition at line 69 of file input.cpp.

◆ SAVE() [3/4]

input::SAVE ( keyboard_action_map )

Definition at line 97 of file input.cpp.

◆ SAVE() [4/4]

input::SAVE ( mouse_action_map )

Definition at line 37 of file input.cpp.

◆ SAVE_EXTERN() [1/4]

input::SAVE_EXTERN ( action_map )

◆ SAVE_EXTERN() [2/4]

input::SAVE_EXTERN ( gamepad_action_map )

◆ SAVE_EXTERN() [3/4]

input::SAVE_EXTERN ( keyboard_action_map )

◆ SAVE_EXTERN() [4/4]

input::SAVE_EXTERN ( mouse_action_map )

◆ SAVE_INLINE() [1/3]

input::SAVE_INLINE ( gamepad_action_map::gamepad_entry )

Definition at line 51 of file input.cpp.

◆ SAVE_INLINE() [2/3]

input::SAVE_INLINE ( keyboard_action_map::key_entry )

Definition at line 83 of file input.cpp.

◆ SAVE_INLINE() [3/3]

input::SAVE_INLINE ( mouse_action_map::mouse_entry )

Definition at line 23 of file input.cpp.

◆ SAVE_INSTANTIATE() [1/8]

input::SAVE_INSTANTIATE ( action_map ,
ser20::oarchive_associative_t  )

◆ SAVE_INSTANTIATE() [2/8]

input::SAVE_INSTANTIATE ( action_map ,
ser20::oarchive_binary_t  )

◆ SAVE_INSTANTIATE() [3/8]

input::SAVE_INSTANTIATE ( gamepad_action_map ,
ser20::oarchive_associative_t  )

◆ SAVE_INSTANTIATE() [4/8]

input::SAVE_INSTANTIATE ( gamepad_action_map ,
ser20::oarchive_binary_t  )

◆ SAVE_INSTANTIATE() [5/8]

input::SAVE_INSTANTIATE ( keyboard_action_map ,
ser20::oarchive_associative_t  )

◆ SAVE_INSTANTIATE() [6/8]

input::SAVE_INSTANTIATE ( keyboard_action_map ,
ser20::oarchive_binary_t  )

◆ SAVE_INSTANTIATE() [7/8]

input::SAVE_INSTANTIATE ( mouse_action_map ,
ser20::oarchive_associative_t  )

◆ SAVE_INSTANTIATE() [8/8]

input::SAVE_INSTANTIATE ( mouse_action_map ,
ser20::oarchive_binary_t  )

◆ to_string() [1/9]

auto input::to_string ( axis_range range) -> const std::string&
inline

Definition at line 15 of file to_string.hpp.

◆ to_string() [2/9]

auto input::to_string ( const coord & coord) -> std::string
inline

Definition at line 69 of file to_string.hpp.

◆ to_string() [3/9]

auto input::to_string ( const gamepad_axis axis) -> std::string
inline

Definition at line 74 of file to_string.hpp.

◆ to_string() [4/9]

auto input::to_string ( const key_state state) -> std::string
inline

Definition at line 185 of file to_string.hpp.

◆ to_string() [5/9]

auto input::to_string ( const point & p) -> std::string
inline

Definition at line 200 of file to_string.hpp.

◆ to_string() [6/9]

auto input::to_string ( gamepad_button button) -> std::string
inline

Definition at line 95 of file to_string.hpp.

◆ to_string() [7/9]

auto input::to_string ( input_type type) -> const std::string&
inline

Definition at line 42 of file to_string.hpp.

◆ to_string() [8/9]

auto input::to_string ( mouse_axis axis) -> const std::string&
inline

Definition at line 246 of file to_string.hpp.

◆ to_string() [9/9]

auto input::to_string ( mouse_button button) -> std::string
inline

Definition at line 205 of file to_string.hpp.