Unravel Engine C++ Reference
Loading...
Searching...
No Matches
keyboard_action_map.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
action_id.hpp
"
4
#include "
key.hpp
"
5
#include "
keyboard.hpp
"
6
#include <map>
7
#include <vector>
8
9
namespace
input
10
{
11
class
keyboard_action_map
12
{
13
public
:
14
15
struct
key_entry
16
{
17
key_code
key
{};
18
19
std::vector<key_code>
modifiers
{};
20
// Analog value used when key is down
21
float
analog_value
{};
22
23
friend
auto
operator==
(
const
key_entry
& lhs,
const
key_entry
& rhs) ->
bool
=
default
;
24
};
25
26
std::map<action_id_t, std::vector<key_entry>>
entries_by_action_id_
;
27
28
auto
get_analog_value
(
const
action_id_t
& action,
const
keyboard
& device)
const
-> float;
29
auto
get_digital_value
(
const
action_id_t
& action,
const
keyboard
& device)
const
-> bool;
30
auto
is_pressed
(
const
action_id_t
& action,
const
keyboard
& device)
const
-> bool;
31
auto
is_released
(
const
action_id_t
& action,
const
keyboard
& device)
const
-> bool;
32
auto
is_down
(
const
action_id_t
& action,
const
keyboard
& device)
const
-> bool;
33
34
void
map
(
const
action_id_t
& action,
key_code
key
,
float
analog_value = 1.0f);
35
void
map
(
const
action_id_t
& action,
key_code
key
,
const
std::vector<key_code>& modifiers,
float
analog_value = 1.0f);
36
37
friend
auto
operator==
(
const
keyboard_action_map
& lhs,
const
keyboard_action_map
& rhs) ->
bool
=
default
;
38
};
39
}
// namespace input
action_id.hpp
input::keyboard_action_map
Definition
keyboard_action_map.hpp:12
input::keyboard_action_map::get_analog_value
auto get_analog_value(const action_id_t &action, const keyboard &device) const -> float
Definition
keyboard_action_map.cpp:6
input::keyboard_action_map::operator==
friend auto operator==(const keyboard_action_map &lhs, const keyboard_action_map &rhs) -> bool=default
input::keyboard_action_map::is_pressed
auto is_pressed(const action_id_t &action, const keyboard &device) const -> bool
Definition
keyboard_action_map.cpp:78
input::keyboard_action_map::entries_by_action_id_
std::map< action_id_t, std::vector< key_entry > > entries_by_action_id_
Definition
keyboard_action_map.hpp:26
input::keyboard_action_map::is_down
auto is_down(const action_id_t &action, const keyboard &device) const -> bool
Definition
keyboard_action_map.cpp:148
input::keyboard_action_map::get_digital_value
auto get_digital_value(const action_id_t &action, const keyboard &device) const -> bool
Definition
keyboard_action_map.cpp:42
input::keyboard_action_map::is_released
auto is_released(const action_id_t &action, const keyboard &device) const -> bool
Definition
keyboard_action_map.cpp:113
input::keyboard_action_map::map
void map(const action_id_t &action, key_code key, float analog_value=1.0f)
Definition
keyboard_action_map.cpp:184
input::keyboard
Definition
keyboard.hpp:10
key.hpp
keyboard.hpp
input
Definition
action_id.hpp:5
input::input_type::key
@ key
input::key_code
key_code
Definition
key.hpp:6
input::action_id_t
std::string action_id_t
Definition
action_id.hpp:6
input::keyboard_action_map::key_entry
Definition
keyboard_action_map.hpp:16
input::keyboard_action_map::key_entry::analog_value
float analog_value
Definition
keyboard_action_map.hpp:21
input::keyboard_action_map::key_entry::key
key_code key
Definition
keyboard_action_map.hpp:17
input::keyboard_action_map::key_entry::operator==
friend auto operator==(const key_entry &lhs, const key_entry &rhs) -> bool=default
input::keyboard_action_map::key_entry::modifiers
std::vector< key_code > modifiers
Definition
keyboard_action_map.hpp:19
UnravelEngine
UnravelEngine
engine
engine
input
action_map
keyboard_action_map.hpp
Generated by
1.12.0