CommonLibSSE NG
BSWin32KeyboardDevice.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include "REX/W32/DINPUT.h"
6 
7 namespace RE
8 {
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_BSWin32KeyboardDevice;
13  inline static constexpr auto VTABLE = VTABLE_BSWin32KeyboardDevice;
14 
15  ~BSWin32KeyboardDevice() override; // 00
16 
17  // override (BSKeyboardDevice)
18  void Initialize() override; // 01
19  void Process(float a_unk1) override; // 02
20  void Release() override; // 03
21  void Reset() override; // 08 - { std::memset(&curState, 0, 0x200); }
22  void Unk_09(void) override; // 09 - { return; }
23  void Unk_0A(void) override; // 0A - { return; }
24 
25  [[nodiscard]] bool IsPressed(std::uint32_t a_keyCode) const;
26  [[nodiscard]] Key RemapNumpadKey(REX::W32::DIK a_key);
27 
28  // members
29  REX::W32::IDirectInput8A* dInputDevice; // 070
31  std::uint8_t prevState[0x100]; // 168
32  std::uint8_t curState[0x100]; // 268
33  bool capsLockOn; // 368
34 
35  protected:
37  };
38  static_assert(offsetof(BSWin32KeyboardDevice, prevState) == 0x168);
39  static_assert(offsetof(BSWin32KeyboardDevice, curState) == 0x268);
40  static_assert(sizeof(BSWin32KeyboardDevice) == 0x370);
41 }
Definition: BSKeyboardDevice.h:8
Definition: BSWin32KeyboardDevice.h:10
void Unk_0A(void) override
bool IsPressed(std::uint32_t a_keyCode) const
REX::W32::DIDEVICEOBJECTDATA diObjData[10]
Definition: BSWin32KeyboardDevice.h:30
void Initialize() override
void Process(float a_unk1) override
void Unk_09(void) override
Key RemapNumpadKey(REX::W32::DIK a_key)
~BSWin32KeyboardDevice() override
std::uint8_t prevState[0x100]
Definition: BSWin32KeyboardDevice.h:31
REX::W32::IDirectInput8A * dInputDevice
Definition: BSWin32KeyboardDevice.h:29
static constexpr auto RTTI
Definition: BSWin32KeyboardDevice.h:12
std::uint8_t curState[0x100]
Definition: BSWin32KeyboardDevice.h:32
bool capsLockOn
Definition: BSWin32KeyboardDevice.h:33
void Release() override
static constexpr auto VTABLE
Definition: BSWin32KeyboardDevice.h:13
DIK
Definition: DINPUT.h:16
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_BSWin32KeyboardDevice
Definition: Offsets_VTABLE.h:5435
constexpr REL::VariantID RTTI_BSWin32KeyboardDevice(690311, 398166, 0x1f5fd50)
Definition: DINPUT.h:309
Key
Definition: BSKeyboardDevice.h:16