First step towards configurable keyboard mappings (#464)
* Configurable keyboard mappings * Cleanup * Cleanup * Biggest mistake of my career * format * Fix naming convention --------- Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
This commit is contained in:
22
include/input_mappings.hpp
Normal file
22
include/input_mappings.hpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
#include "helpers.hpp"
|
||||
#include "services/hid.hpp"
|
||||
|
||||
struct InputMappings {
|
||||
using Scancode = u32;
|
||||
using Container = std::unordered_map<Scancode, u32>;
|
||||
|
||||
u32 getMapping(Scancode scancode) const {
|
||||
auto it = container.find(scancode);
|
||||
return it != container.end() ? it->second : HID::Keys::Null;
|
||||
}
|
||||
|
||||
void setMapping(Scancode scancode, u32 key) { container[scancode] = key; }
|
||||
static InputMappings defaultKeyboardMappings();
|
||||
|
||||
private:
|
||||
Container container;
|
||||
};
|
||||
Reference in New Issue
Block a user