21 #ifndef MIR_INPUT_RECEIVER_XKB_MAPPER_H_ 22 #define MIR_INPUT_RECEIVER_XKB_MAPPER_H_ 28 #include <unordered_map> 35 using XKBContextPtr = std::unique_ptr<xkb_context, void(*)(xkb_context*)>;
38 using XKBKeymapPtr = std::unique_ptr<xkb_keymap, void(*)(xkb_keymap*)>;
42 using XKBStatePtr = std::unique_ptr<xkb_state, void(*)(xkb_state*)>;
70 void update_modifier();
72 std::mutex
mutable guard;
74 struct XkbMappingState
76 explicit XkbMappingState(std::shared_ptr<xkb_keymap>
const& keymap);
78 bool update_and_map(
MirEvent& event);
80 std::shared_ptr<xkb_keymap>
const keymap;
89 std::shared_ptr<xkb_keymap> default_keymap;
92 std::unordered_map<MirInputDeviceId, XkbMappingState> device_mapping;
98 #endif // MIR_INPUT_RECEIVER_XKB_MAPPER_H_ All things Mir.
Definition: atomic_callback.h:25
int const size
Definition: make_socket_rpc_channel.cpp:51