CommonLibSSE (powerof3)
BSInputDeviceManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTEvent.h"
5 #include "RE/B/BSTSingleton.h"
6 #include "RE/I/InputDevices.h"
7 
8 namespace RE
9 {
10  class BSIInputDevice;
11  class BSInputDevice;
12  class BSPCGamepadDeviceDelegate;
13  class BSPCGamepadDeviceHandler;
14  class BSWin32KeyboardDevice;
15  class BSWin32MouseDevice;
16  class BSWin32VirtualKeyboardDevice;
17  class InputEvent;
18  struct BSRemoteGamepadEvent;
19 
21  public BSTEventSource<InputEvent*>, // 00
22  public BSTSingletonSDM<BSInputDeviceManager> // 58
23  {
24  public:
26 
35  bool GetDeviceKeyMapping(INPUT_DEVICE a_device, std::uint32_t a_key, BSFixedString& a_mapping);
36  bool GetDeviceMappedKeycode(INPUT_DEVICE a_device, std::uint32_t a_key, std::uint32_t& a_outKeyCode);
42  void PollInputDevices(float a_secsSinceLastFrame);
43 
44  // members
45  std::uint8_t pad59; // 59
46  std::uint16_t pad5A; // 5A
47  std::uint32_t pad5C; // 5C
48  BSIInputDevice* devices[INPUT_DEVICES::kTotal]; // 60
50  bool valueQueued; // 81
51  bool pollingEnabled; // 82
52  std::uint8_t pad83; // 83
53  std::uint32_t pad84; // 84
55  std::uint8_t unkE0; // E0
56  std::uint8_t unkE1; // E1
57  std::uint16_t unkE2; // E2
58  std::uint32_t unkE4; // E4
59  std::uint64_t unkE8; // E8
60  };
61  static_assert(sizeof(BSInputDeviceManager) == 0xF0);
62 }
Definition: BSIInputDevice.h:9
Definition: BSInputDeviceManager.h:23
std::uint32_t unkE4
Definition: BSInputDeviceManager.h:58
std::uint32_t pad5C
Definition: BSInputDeviceManager.h:47
std::uint8_t pad83
Definition: BSInputDeviceManager.h:52
bool valueQueued
Definition: BSInputDeviceManager.h:50
std::uint8_t unkE1
Definition: BSInputDeviceManager.h:56
bool GetDeviceMappedKeycode(INPUT_DEVICE a_device, std::uint32_t a_key, std::uint32_t &a_outKeyCode)
void PollInputDevices(float a_secsSinceLastFrame)
BSIInputDevice * devices[INPUT_DEVICES::kTotal]
Definition: BSInputDeviceManager.h:48
std::uint8_t unkE0
Definition: BSInputDeviceManager.h:55
bool queuedGamepadEnableValue
Definition: BSInputDeviceManager.h:49
std::uint32_t pad84
Definition: BSInputDeviceManager.h:53
bool pollingEnabled
Definition: BSInputDeviceManager.h:51
BSWin32VirtualKeyboardDevice * GetVirtualKeyboard()
BSPCGamepadDeviceDelegate * GetGamepad()
static BSInputDeviceManager * GetSingleton()
std::uint64_t unkE8
Definition: BSInputDeviceManager.h:59
BSWin32MouseDevice * GetMouse()
bool GetDeviceKeyMapping(INPUT_DEVICE a_device, std::uint32_t a_key, BSFixedString &a_mapping)
std::uint16_t unkE2
Definition: BSInputDeviceManager.h:57
BSPCGamepadDeviceHandler * GetGamepadHandler()
BSWin32KeyboardDevice * GetKeyboard()
BSTEventSource< BSRemoteGamepadEvent > remoteGamepadEventSource
Definition: BSInputDeviceManager.h:54
std::uint16_t pad5A
Definition: BSInputDeviceManager.h:46
std::uint8_t pad59
Definition: BSInputDeviceManager.h:45
Definition: BSPCGamepadDeviceDelegate.h:10
Definition: BSPCGamepadDeviceHandler.h:10
Definition: BSTEvent.h:19
Definition: BSWin32KeyboardDevice.h:10
Definition: BSWin32MouseDevice.h:11
Definition: BSWin32VirtualKeyboardDevice.h:8
Definition: AbsorbEffect.h:6
Definition: BSTSingleton.h:50
INPUT_DEVICE
Definition: InputDevices.h:8