CommonLibVR
Loading...
Searching...
No Matches
BSInputDeviceManager.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTEvent.h"
5#include "RE/B/BSTSingleton.h"
6#include "RE/I/InputDevices.h"
7
8namespace 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
27 bool GetButtonNameFromID(INPUT_DEVICE a_device, std::int32_t a_id, BSFixedString& a_buttonName) const;
36 bool GetDeviceKeyMapping(INPUT_DEVICE a_device, std::uint32_t a_key, BSFixedString& a_mapping);
37 bool GetDeviceMappedKeycode(INPUT_DEVICE a_device, std::uint32_t a_key, std::uint32_t& a_outKeyCode);
43 void PollInputDevices(float a_secsSinceLastFrame);
44
45 // members
46 std::uint8_t pad59; // 59
47 std::uint16_t pad5A; // 5A
48 std::uint32_t pad5C; // 5C
49 BSIInputDevice* devices[INPUT_DEVICES::kTotal]; // 60
51 bool valueQueued; // 81
52 bool pollingEnabled; // 82
53 std::uint8_t pad83; // 83
54 std::uint32_t pad84; // 84
56 std::uint8_t unkE0; // E0
57 std::uint8_t unkE1; // E1
58 std::uint16_t unkE2; // E2
59 std::uint32_t unkE4; // E4
60 std::uint64_t unkE8; // E8
61 private:
63 };
64#ifndef SKYRIMVR
65 static_assert(sizeof(BSInputDeviceManager) == 0xF0);
66#else
67 static_assert(sizeof(BSInputDeviceManager) == 0x120);
68#endif
69}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSIInputDevice.h:9
Definition BSInputDeviceManager.h:23
std::uint32_t unkE4
Definition BSInputDeviceManager.h:59
std::uint32_t pad5C
Definition BSInputDeviceManager.h:48
std::uint8_t pad83
Definition BSInputDeviceManager.h:53
bool valueQueued
Definition BSInputDeviceManager.h:51
std::uint8_t unkE1
Definition BSInputDeviceManager.h:57
BSWin32KeyboardDevice * GetKeyboard()
BSWin32VirtualKeyboardDevice * GetVirtualKeyboard()
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:49
BSPCGamepadDeviceDelegate * GetGamepad()
BSWin32MouseDevice * GetMouse()
std::uint8_t unkE0
Definition BSInputDeviceManager.h:56
bool queuedGamepadEnableValue
Definition BSInputDeviceManager.h:50
std::uint32_t pad84
Definition BSInputDeviceManager.h:54
bool pollingEnabled
Definition BSInputDeviceManager.h:52
std::uint64_t unkE8
Definition BSInputDeviceManager.h:60
BSPCGamepadDeviceHandler * GetGamepadHandler()
bool GetDeviceKeyMapping(INPUT_DEVICE a_device, std::uint32_t a_key, BSFixedString &a_mapping)
std::uint16_t unkE2
Definition BSInputDeviceManager.h:58
bool GetButtonNameFromID(INPUT_DEVICE a_device, std::int32_t a_id, BSFixedString &a_buttonName) const
BSTEventSource< BSRemoteGamepadEvent > remoteGamepadEventSource
Definition BSInputDeviceManager.h:55
std::uint16_t pad5A
Definition BSInputDeviceManager.h:47
static BSInputDeviceManager * GetSingleton()
std::uint8_t pad59
Definition BSInputDeviceManager.h:46
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