CommonLibVR
BSKeyboardDevice.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSInputDevice.h"
4 
5 namespace RE
6 {
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_BSKeyboardDevice;
11  inline static constexpr auto VTABLE = VTABLE_BSKeyboardDevice;
12 
13  struct Keys
14  {
15  enum Key : std::uint32_t
16  {
17  kNone = 0x00,
18 
19  kEscape = 0x01,
20  kNum1 = 0x02,
21  kNum2 = 0x03,
22  kNum3 = 0x04,
23  kNum4 = 0x05,
24  kNum5 = 0x06,
25  kNum6 = 0x07,
26  kNum7 = 0x08,
27  kNum8 = 0x09,
28  kNum9 = 0x0A,
29  kNum0 = 0x0B,
30  kMinus = 0x0C,
31  kEquals = 0x0D,
32  kBackspace = 0x0E,
33  kTab = 0x0F,
34  kQ = 0x10,
35  kW = 0x11,
36  kE = 0x12,
37  kR = 0x13,
38  kT = 0x14,
39  kY = 0x15,
40  kU = 0x16,
41  kI = 0x17,
42  kO = 0x18,
43  kP = 0x19,
44  kBracketLeft = 0x1A,
45  kBracketRight = 0x1B,
46  kEnter = 0x1C,
47  kLeftControl = 0x1D,
48  kA = 0x1E,
49  kS = 0x1F,
50  kD = 0x20,
51  kF = 0x21,
52  kG = 0x22,
53  kH = 0x23,
54  kJ = 0x24,
55  kK = 0x25,
56  kL = 0x26,
57  kSemicolon = 0x27,
58  kApostrophe = 0x28,
59  kTilde = 0x29,
60  kLeftShift = 0x2A,
61  kBackslash = 0x2B,
62  kZ = 0x2C,
63  kX = 0x2D,
64  kC = 0x2E,
65  kV = 0x2F,
66  kB = 0x30,
67  kN = 0x31,
68  kM = 0x32,
69  kComma = 0x33,
70  kPeriod = 0x34,
71  kSlash = 0x35,
72  kRightShift = 0x36,
73  kKP_Multiply = 0x37,
74  kLeftAlt = 0x38,
75  kSpacebar = 0x39,
76  kCapsLock = 0x3A,
77  kF1 = 0x3B,
78  kF2 = 0x3C,
79  kF3 = 0x3D,
80  kF4 = 0x3E,
81  kF5 = 0x3F,
82  kF6 = 0x40,
83  kF7 = 0x41,
84  kF8 = 0x42,
85  kF9 = 0x43,
86  kF10 = 0x44,
87  kNumLock = 0x45,
88  kScrollLock = 0x46,
89  kKP_7 = 0x47,
90  kKP_8 = 0x48,
91  kKP_9 = 0x49,
92  kKP_Subtract = 0x4A,
93  kKP_4 = 0x4B,
94  kKP_5 = 0x4C,
95  kKP_6 = 0x4D,
96  kKP_Plus = 0x4E,
97  kKP_1 = 0x4F,
98  kKP_2 = 0x50,
99  kKP_3 = 0x51,
100  kKP_0 = 0x52,
101  kKP_Decimal = 0x53,
102 
103  kF11 = 0x57,
104  kF12 = 0x58,
105 
106  kKP_Enter = 0x9C,
108 
109  kKP_Divide = 0xB5,
110 
111  kPrintScreen = 0xB7,
112  kRightAlt = 0xB8,
113 
114  kPause = 0xC5,
115 
116  kHome = 0xC7,
117  kUp = 0xC8,
118  kPageUp = 0xC9,
119 
120  kLeft = 0xCB,
121 
122  kRight = 0xCD,
123 
124  kEnd = 0xCF,
125  kDown = 0xD0,
126  kPageDown = 0xD1,
127  kInsert = 0xD2,
128  kDelete = 0xD3,
129 
130  kLeftWin = 0xDB,
131  kRightWin = 0xDC
132  };
133  };
134  using Key = Keys::Key;
135 
136  ~BSKeyboardDevice() override; // 00
137 
138  // add
139  virtual void Unk_09(void) = 0; // 09
140  virtual void Unk_0A(void) = 0; // 0A
141  protected:
143 
144  private:
145  KEEP_FOR_RE()
146  };
147  static_assert(sizeof(BSKeyboardDevice) == 0x70);
148 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSInputDevice.h:11
Definition: BSKeyboardDevice.h:8
static constexpr auto RTTI
Definition: BSKeyboardDevice.h:10
virtual void Unk_09(void)=0
virtual void Unk_0A(void)=0
static constexpr auto VTABLE
Definition: BSKeyboardDevice.h:11
~BSKeyboardDevice() override
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSKeyboardDevice(static_cast< std::uint64_t >(690312))
constexpr std::array< REL::ID, 1 > VTABLE_BSKeyboardDevice
Definition: Offsets_VTABLE.h:9193
Definition: BSKeyboardDevice.h:14
Key
Definition: BSKeyboardDevice.h:16
@ kPause
Definition: BSKeyboardDevice.h:114
@ kNone
Definition: BSKeyboardDevice.h:17
@ kX
Definition: BSKeyboardDevice.h:63
@ kNum1
Definition: BSKeyboardDevice.h:20
@ kF1
Definition: BSKeyboardDevice.h:77
@ kF
Definition: BSKeyboardDevice.h:51
@ kO
Definition: BSKeyboardDevice.h:42
@ kPeriod
Definition: BSKeyboardDevice.h:70
@ kF4
Definition: BSKeyboardDevice.h:80
@ kKP_3
Definition: BSKeyboardDevice.h:99
@ kY
Definition: BSKeyboardDevice.h:39
@ kG
Definition: BSKeyboardDevice.h:52
@ kBackspace
Definition: BSKeyboardDevice.h:32
@ kW
Definition: BSKeyboardDevice.h:35
@ kNumLock
Definition: BSKeyboardDevice.h:87
@ kF11
Definition: BSKeyboardDevice.h:103
@ kNum7
Definition: BSKeyboardDevice.h:26
@ kKP_Plus
Definition: BSKeyboardDevice.h:96
@ kF10
Definition: BSKeyboardDevice.h:86
@ kNum4
Definition: BSKeyboardDevice.h:23
@ kKP_4
Definition: BSKeyboardDevice.h:93
@ kBracketRight
Definition: BSKeyboardDevice.h:45
@ kHome
Definition: BSKeyboardDevice.h:116
@ kKP_1
Definition: BSKeyboardDevice.h:97
@ kL
Definition: BSKeyboardDevice.h:56
@ kKP_Enter
Definition: BSKeyboardDevice.h:106
@ kInsert
Definition: BSKeyboardDevice.h:127
@ kKP_Multiply
Definition: BSKeyboardDevice.h:73
@ kC
Definition: BSKeyboardDevice.h:64
@ kP
Definition: BSKeyboardDevice.h:43
@ kKP_6
Definition: BSKeyboardDevice.h:95
@ kN
Definition: BSKeyboardDevice.h:67
@ kBracketLeft
Definition: BSKeyboardDevice.h:44
@ kF8
Definition: BSKeyboardDevice.h:84
@ kSemicolon
Definition: BSKeyboardDevice.h:57
@ kNum6
Definition: BSKeyboardDevice.h:25
@ kPageDown
Definition: BSKeyboardDevice.h:126
@ kLeftWin
Definition: BSKeyboardDevice.h:130
@ kF6
Definition: BSKeyboardDevice.h:82
@ kI
Definition: BSKeyboardDevice.h:41
@ kF12
Definition: BSKeyboardDevice.h:104
@ kRightShift
Definition: BSKeyboardDevice.h:72
@ kA
Definition: BSKeyboardDevice.h:48
@ kScrollLock
Definition: BSKeyboardDevice.h:88
@ kF3
Definition: BSKeyboardDevice.h:79
@ kApostrophe
Definition: BSKeyboardDevice.h:58
@ kKP_5
Definition: BSKeyboardDevice.h:94
@ kKP_Divide
Definition: BSKeyboardDevice.h:109
@ kKP_7
Definition: BSKeyboardDevice.h:89
@ kLeft
Definition: BSKeyboardDevice.h:120
@ kD
Definition: BSKeyboardDevice.h:50
@ kF2
Definition: BSKeyboardDevice.h:78
@ kLeftAlt
Definition: BSKeyboardDevice.h:74
@ kEnter
Definition: BSKeyboardDevice.h:46
@ kRightAlt
Definition: BSKeyboardDevice.h:112
@ kU
Definition: BSKeyboardDevice.h:40
@ kT
Definition: BSKeyboardDevice.h:38
@ kNum2
Definition: BSKeyboardDevice.h:21
@ kB
Definition: BSKeyboardDevice.h:66
@ kEscape
Definition: BSKeyboardDevice.h:19
@ kNum3
Definition: BSKeyboardDevice.h:22
@ kKP_Decimal
Definition: BSKeyboardDevice.h:101
@ kF7
Definition: BSKeyboardDevice.h:83
@ kZ
Definition: BSKeyboardDevice.h:62
@ kNum5
Definition: BSKeyboardDevice.h:24
@ kTab
Definition: BSKeyboardDevice.h:33
@ kNum8
Definition: BSKeyboardDevice.h:27
@ kLeftShift
Definition: BSKeyboardDevice.h:60
@ kTilde
Definition: BSKeyboardDevice.h:59
@ kNum9
Definition: BSKeyboardDevice.h:28
@ kR
Definition: BSKeyboardDevice.h:37
@ kNum0
Definition: BSKeyboardDevice.h:29
@ kPageUp
Definition: BSKeyboardDevice.h:118
@ kKP_Subtract
Definition: BSKeyboardDevice.h:92
@ kComma
Definition: BSKeyboardDevice.h:69
@ kDelete
Definition: BSKeyboardDevice.h:128
@ kH
Definition: BSKeyboardDevice.h:53
@ kM
Definition: BSKeyboardDevice.h:68
@ kQ
Definition: BSKeyboardDevice.h:34
@ kRight
Definition: BSKeyboardDevice.h:122
@ kF5
Definition: BSKeyboardDevice.h:81
@ kRightControl
Definition: BSKeyboardDevice.h:107
@ kLeftControl
Definition: BSKeyboardDevice.h:47
@ kKP_2
Definition: BSKeyboardDevice.h:98
@ kMinus
Definition: BSKeyboardDevice.h:30
@ kBackslash
Definition: BSKeyboardDevice.h:61
@ kJ
Definition: BSKeyboardDevice.h:54
@ kS
Definition: BSKeyboardDevice.h:49
@ kKP_0
Definition: BSKeyboardDevice.h:100
@ kKP_8
Definition: BSKeyboardDevice.h:90
@ kSlash
Definition: BSKeyboardDevice.h:71
@ kF9
Definition: BSKeyboardDevice.h:85
@ kCapsLock
Definition: BSKeyboardDevice.h:76
@ kEquals
Definition: BSKeyboardDevice.h:31
@ kPrintScreen
Definition: BSKeyboardDevice.h:111
@ kSpacebar
Definition: BSKeyboardDevice.h:75
@ kRightWin
Definition: BSKeyboardDevice.h:131
@ kE
Definition: BSKeyboardDevice.h:36
@ kDown
Definition: BSKeyboardDevice.h:125
@ kK
Definition: BSKeyboardDevice.h:55
@ kEnd
Definition: BSKeyboardDevice.h:124
@ kV
Definition: BSKeyboardDevice.h:65
@ kUp
Definition: BSKeyboardDevice.h:117
@ kKP_9
Definition: BSKeyboardDevice.h:91