input manager progress

This commit is contained in:
vaxerski 2022-03-17 20:55:04 +01:00
parent bc937e3e71
commit 854c827911
5 changed files with 82 additions and 11 deletions

View file

@ -22,4 +22,36 @@ void CInputManager::onMouseWarp(wlr_event_pointer_motion_absolute* e) {
Vector2D CInputManager::getMouseCoordsInternal() {
return m_vMouseCoords;
}
void CInputManager::newKeyboard(wlr_input_device* keyboard) {
m_dKeyboards.push_back(SKeyboard());
const auto PNEWKEYBOARD = &m_dKeyboards.back();
PNEWKEYBOARD->keyboard = keyboard;
xkb_rule_names rules;
const auto CONTEXT = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
const auto KEYMAP = xkb_keymap_new_from_names(CONTEXT, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS);
wlr_keyboard_set_keymap(keyboard->keyboard, KEYMAP);
xkb_keymap_unref(KEYMAP);
xkb_context_unref(CONTEXT);
wlr_keyboard_set_repeat_info(keyboard->keyboard, 25, 600);
wl_signal_add(&keyboard->keyboard->events.modifiers, &PNEWKEYBOARD->listen_keyboardMod);
wl_signal_add(&keyboard->keyboard->events.key, &PNEWKEYBOARD->listen_keyboardKey);
wl_signal_add(&keyboard->events.destroy, &PNEWKEYBOARD->listen_keyboardDestroy);
wlr_seat_set_keyboard(g_pCompositor->m_sWLRSeat, keyboard);
}
void CInputManager::onKeyboardKey(wlr_event_keyboard_key* event) {
}
void CInputManager::onKeyboardMod(void* data) {
}