Configurable keyboard mappings

This commit is contained in:
offtkp 2024-03-16 02:54:56 +02:00
parent 27ad7b01f3
commit e576e64736
9 changed files with 162 additions and 125 deletions

23
include/mappings.hpp Normal file
View file

@ -0,0 +1,23 @@
#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;
};