EHS
Loading...
Searching...
No Matches
Keyboard.h
Go to the documentation of this file.
1#pragma once
2
3#include "ehs/Types.h"
4#include "Button.h"
5#include "HID.h"
6
7#define EHS_HID_KEYBOARD 0x02
8
9namespace ehs
10{
11 class EHS_LIB_IO Keyboard : public HID
12 {
13 public:
14 Keyboard();
15
16 Keyboard(Str_8 name, UInt_64 id);
17
18 Keyboard(Keyboard&& hid) noexcept = default;
19
20 Keyboard(const Keyboard& hid);
21
22 Keyboard& operator=(Keyboard&& hid) noexcept = default;
23
24 Keyboard& operator=(const Keyboard& hid);
25
26 void Poll(float delta) override;
27
28 Keyboard* Clone() const override;
29
30 static const Button Unknown;
31 static const Button Escape;
32 static const Button Backspace;
33 static const Button Enter;
34 static const Button LShift;
35 static const Button RShift;
36 static const Button LAlt;
37 static const Button RAlt;
38 static const Button LCtrl;
39 static const Button RCtrl;
40 static const Button Space;
41 static const Button A;
42 static const Button B;
43 static const Button C;
44 static const Button D;
45 static const Button E;
46 static const Button F;
47 static const Button G;
48 static const Button H;
49 static const Button I;
50 static const Button J;
51 static const Button K;
52 static const Button L;
53 static const Button M;
54 static const Button N;
55 static const Button O;
56 static const Button P;
57 static const Button Q;
58 static const Button R;
59 static const Button S;
60 static const Button T;
61 static const Button U;
62 static const Button V;
63 static const Button W;
64 static const Button X;
65 static const Button Y;
66 static const Button Z;
67 static const Button One;
68 static const Button Two;
69 static const Button Three;
70 static const Button Four;
71 static const Button Five;
72 static const Button Six;
73 static const Button Seven;
74 static const Button Eight;
75 static const Button Nine;
76 static const Button Zero;
77 static const Button Minus;
78 static const Button Equals;
79 static const Button Tilde;
80 static const Button BackSlash;
83 static const Button SemiColon;
84 static const Button Apostrophe;
85 static const Button Comma;
86 static const Button Period;
87 static const Button ForwardSlash;
88 static const Button F1;
89 static const Button F2;
90 static const Button F3;
91 static const Button F4;
92 static const Button F5;
93 static const Button F6;
94 static const Button F7;
95 static const Button F8;
96 static const Button F9;
97 static const Button F10;
98 static const Button F11;
99 static const Button F12;
100 static const Button F13;
101 static const Button F14;
102 static const Button F15;
103 static const Button F16;
104 static const Button F17;
105 static const Button F18;
106 static const Button F19;
107 static const Button F20;
108 static const Button F21;
109 static const Button F22;
110 static const Button F23;
111 static const Button F24;
112 static const Button Left;
113 static const Button Right;
114 static const Button Up;
115 static const Button Down;
116
117 static Button TranslateScanCode(UInt_32 code);
118
119 static Char_8 TranslateToEnglish_8(bool shifted, const Button& button);
120 };
121}
Definition Button.h:9
Str_8 name
Definition HID.h:15
HID()
Definition HID.cpp:9
static const Button F23
Definition Keyboard.h:110
Keyboard * Clone() const override
Definition Keyboard.cpp:34
static const Button F13
Definition Keyboard.h:100
static const Button F14
Definition Keyboard.h:101
static const Button Y
Definition Keyboard.h:65
static const Button J
Definition Keyboard.h:50
static const Button N
Definition Keyboard.h:54
static const Button P
Definition Keyboard.h:56
static const Button R
Definition Keyboard.h:58
static const Button Period
Definition Keyboard.h:86
static const Button X
Definition Keyboard.h:64
static const Button RCtrl
Definition Keyboard.h:39
static const Button Enter
Definition Keyboard.h:33
static const Button V
Definition Keyboard.h:62
static const Button F16
Definition Keyboard.h:103
static const Button F1
Definition Keyboard.h:88
static const Button Escape
Definition Keyboard.h:31
static const Button F7
Definition Keyboard.h:94
static const Button B
Definition Keyboard.h:42
static const Button M
Definition Keyboard.h:53
static const Button SemiColon
Definition Keyboard.h:83
static const Button F8
Definition Keyboard.h:95
static const Button LeftSquareBracket
Definition Keyboard.h:81
static const Button F24
Definition Keyboard.h:111
static const Button Z
Definition Keyboard.h:66
Keyboard(Keyboard &&hid) noexcept=default
static const Button F11
Definition Keyboard.h:98
static const Button F18
Definition Keyboard.h:105
static const Button LCtrl
Definition Keyboard.h:38
static const Button F15
Definition Keyboard.h:102
static const Button ForwardSlash
Definition Keyboard.h:87
static const Button Apostrophe
Definition Keyboard.h:84
static const Button Zero
Definition Keyboard.h:76
static const Button F4
Definition Keyboard.h:91
static const Button Backspace
Definition Keyboard.h:32
static const Button E
Definition Keyboard.h:45
static const Button F5
Definition Keyboard.h:92
static const Button RAlt
Definition Keyboard.h:37
static const Button F19
Definition Keyboard.h:106
static const Button One
Definition Keyboard.h:67
static const Button Left
Definition Keyboard.h:112
static const Button F
Definition Keyboard.h:46
static const Button Right
Definition Keyboard.h:113
static const Button T
Definition Keyboard.h:60
static const Button Three
Definition Keyboard.h:69
static const Button H
Definition Keyboard.h:48
static const Button Seven
Definition Keyboard.h:73
static const Button Eight
Definition Keyboard.h:74
static const Button Four
Definition Keyboard.h:70
static const Button Up
Definition Keyboard.h:114
static const Button Tilde
Definition Keyboard.h:79
static const Button G
Definition Keyboard.h:47
static const Button F9
Definition Keyboard.h:96
static const Button W
Definition Keyboard.h:63
static const Button Minus
Definition Keyboard.h:77
static const Button Unknown
Definition Keyboard.h:30
static const Button Two
Definition Keyboard.h:68
static const Button S
Definition Keyboard.h:59
static const Button F12
Definition Keyboard.h:99
static const Button Down
Definition Keyboard.h:115
static const Button Q
Definition Keyboard.h:57
static const Button Comma
Definition Keyboard.h:85
static const Button F6
Definition Keyboard.h:93
static const Button U
Definition Keyboard.h:61
static const Button I
Definition Keyboard.h:49
static const Button L
Definition Keyboard.h:52
static const Button K
Definition Keyboard.h:51
Keyboard()
Definition Keyboard.cpp:5
static const Button LAlt
Definition Keyboard.h:36
static const Button RShift
Definition Keyboard.h:35
static const Button D
Definition Keyboard.h:44
static Char_8 TranslateToEnglish_8(bool shifted, const Button &button)
Definition Keyboard.cpp:305
static const Button F17
Definition Keyboard.h:104
static const Button F3
Definition Keyboard.h:90
static const Button F22
Definition Keyboard.h:109
static Button TranslateScanCode(UInt_32 code)
Definition Keyboard.cpp:126
static const Button C
Definition Keyboard.h:43
void Poll(float delta) override
Definition Keyboard.cpp:29
static const Button Six
Definition Keyboard.h:72
static const Button F2
Definition Keyboard.h:89
static const Button LShift
Definition Keyboard.h:34
Keyboard & operator=(Keyboard &&hid) noexcept=default
static const Button Equals
Definition Keyboard.h:78
static const Button BackSlash
Definition Keyboard.h:80
static const Button A
Definition Keyboard.h:41
static const Button RightSquareBracket
Definition Keyboard.h:82
static const Button Nine
Definition Keyboard.h:75
static const Button Five
Definition Keyboard.h:71
static const Button O
Definition Keyboard.h:55
static const Button Space
Definition Keyboard.h:40
static const Button F20
Definition Keyboard.h:107
static const Button F10
Definition Keyboard.h:97
static const Button F21
Definition Keyboard.h:108
Definition Anchor.h:6
unsigned int UInt_32
Definition Types.h:49
char Char_8
Definition Types.h:40
Str< Char_8, UInt_64 > Str_8
Definition Str.h:1953