acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
keyboard.h
1// Created by camilo on 2023-05-19 07:30 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5#include "acme/constant/user_key.h"
6#include "acme/user/key/state.h"
7
8
9namespace keyboard
10{
11
12
13 //constexpr ::i32_boolean has_shift(const ::user::e_key& ekey) { return ekey & ::user::e_key_shift; }
14 //constexpr ::i32_boolean has_control(const ::user::e_key& ekey) { return ekey & ::user::e_key_control; }
15 //constexpr ::i32_boolean has_alt(const ::user::e_key& ekey) { return ekey & ::user::e_key_alt; }
16 //constexpr ::i32_boolean has_command(const ::user::e_key& ekey) { return ekey & ::user::e_key_command; }
17 //constexpr ::i32_boolean has_system_command(const ::user::e_key& ekey) { return ekey & ::user::e_key_system_command; }
18
19
20 //constexpr bool has_left_button(const ::user::e_key& ekey) { return ekey & ::user::e_key_left_button; }
21 //constexpr bool has_right_button(const ::user::e_key& ekey) { return ekey & ::user::e_key_right_button; }
22 //constexpr bool has_middle_button(const ::user::e_key& ekey) { return ekey & ::user::e_key_middle_button; }
23
24
25 CLASS_DECL_ACME ::string user_key_as_string(const ::user::e_key & ekey);
26
27 CLASS_DECL_ACME ::string modifiers_groups_string(const ::user::e_key & ekey);
28
29 CLASS_DECL_ACME ::string key_string_with_modifiers_groups(const ::user::e_key & ekey, const ::key::e_state & ekeystate);
30
31 CLASS_DECL_ACME ::user::e_key string_as_user_key(const ::scoped_string& scopedstr);
32
33 CLASS_DECL_ACME ::user::e_key string_key_state_groups(::string & strWillKeyWithNoModifiers);
34
35 //CLASS_DECL_ACME ::user::e_key string_key(const ::scoped_string & scopedstrWithNoModifiers, ::key::e_state ekeyModifier);
36
37 //CLASS_DECL_ACME ::user::e_key string_key(const ::scoped_string & scopedstr);
38
39 //CLASS_DECL_ACME bool is_equivalent_using_modifiers_groups(::user::e_key ekey1, ::user::e_key ekey2);
40
41 //CLASS_DECL_ACME ::user::e_key modifiers_groups(const ::user::e_key & ekey);
42
43 //CLASS_DECL_ACME::user::e_key key_with_no_modifier(const ::user::e_key & ekey);
44
45
46} // keyboard
47
48
49