CommonLibSSE (Parapets fork)
BSInputDevice.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSIInputDevice.h"
5 #include "RE/B/BSTHashMap.h"
6 #include "RE/I/InputDevices.h"
7 
8 namespace RE
9 {
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BSInputDevice;
14 
15  struct InputButton
16  {
18  float heldDownSecs; // 08
19  std::uint32_t keycode; // 0C
20  };
21  static_assert(sizeof(InputButton) == 0x10);
22 
23  ~BSInputDevice() override; // 00
24 
25  // override (BSIInputDevice)
26  bool GetButtonNameFromID(std::int32_t a_id, BSFixedString& a_buttonName) override; // 04
27  std::uint32_t GetMappingKey(BSFixedString a_mapping) override; // 05
28  bool GetKeyCodeFromID(std::int32_t a_id, std::uint32_t& a_keyCode) override; // 06
29  [[nodiscard]] bool IsEnabled() const override; // 07 - { return true; }
30 
31  [[nodiscard]] bool IsKeyboard() const;
32  [[nodiscard]] bool IsMouse() const;
33  [[nodiscard]] bool IsGamepad() const;
34  [[nodiscard]] bool IsPressed(std::uint32_t a_keyCode) const;
35 
36  // members
38  std::uint32_t pad0C; // 0C
41  };
42  static_assert(sizeof(BSInputDevice) == 0x70);
43 }
Definition: BSIInputDevice.h:8
Definition: BSInputDevice.h:11
bool GetKeyCodeFromID(std::int32_t a_id, std::uint32_t &a_keyCode) override
bool IsEnabled() const override
std::uint32_t GetMappingKey(BSFixedString a_mapping) override
bool IsMouse() const
bool GetButtonNameFromID(std::int32_t a_id, BSFixedString &a_buttonName) override
bool IsGamepad() const
std::uint32_t pad0C
Definition: BSInputDevice.h:38
bool IsKeyboard() const
static constexpr auto RTTI
Definition: BSInputDevice.h:13
bool IsPressed(std::uint32_t a_keyCode) const
~BSInputDevice() override
INPUT_DEVICE device
Definition: BSInputDevice.h:37
BSTHashMap< std::uint32_t, InputButton * > deviceButtons
Definition: BSInputDevice.h:39
BSTHashMap< BSFixedString, std::uint32_t > buttonNameIDMap
Definition: BSInputDevice.h:40
Definition: BSTHashMap.h:21
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSInputDevice
Definition: Offsets_RTTI.h:1872
Definition: BSInputDevice.h:16
BSFixedString name
Definition: BSInputDevice.h:17
float heldDownSecs
Definition: BSInputDevice.h:18
std::uint32_t keycode
Definition: BSInputDevice.h:19
INPUT_DEVICE
Definition: InputDevices.h:8