1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use crate::;
pub type Id = &'static str;
/// As in Rewired, an Action is a application/consumer facing event which a
/// [`User`](crate::UserId) can trigger via a [`Device`](crate::device::Kind).
///
/// To configure an action:
/// - Call [`System::add_action`](crate::System::add_action)
/// - Add the [`Action Id`](Id) used in `add_action` to add the action to an [`action set`](crate::binding::ActionSet).
/// - Add the action set via [`System::add_action_set`](crate::System::add_action_set).
/// - Enable the action set for a given user via [`System::mark_action_set_enabled`](crate::System::mark_action_set_enabled).
///
/// Once configured, [`System::get_user_action`](crate::System::get_user_action) can be called to get the [`action state`](action::State).