remappable inputs in progress

This commit is contained in:
2026-06-10 15:26:59 +02:00
parent ac4af8106c
commit d26417b83f
9 changed files with 213 additions and 14 deletions
+22 -4
View File
@@ -15,6 +15,8 @@ KaizenGui::KaizenGui() noexcept : QMainWindow(nullptr), settings(QSettings::User
hide();
installEventFilter(this);
restoreGeometry(settings.value("geometry").toByteArray());
restoreState(settings.value("windowState").toByteArray());
@@ -238,15 +240,31 @@ void KaizenGui::dragEnterEvent(QDragEnterEvent *event) {
}
void KaizenGui::keyPressEvent(QKeyEvent *event) {
for (int i = 0; i < mapping.size(); i++) {
if (mapping[i] == event->key())
for (int i = 0; i < settingsWindow->input->mapping.size(); i++) {
if (settingsWindow->input->mapping[i] == event->key())
pressedKeys.set(i);
}
}
void KaizenGui::keyReleaseEvent(QKeyEvent *event) {
for (int i = 0; i < mapping.size(); i++) {
if (mapping[i] == event->key())
for (int i = 0; i < settingsWindow->input->mapping.size(); i++) {
if (settingsWindow->input->mapping[i] == event->key())
pressedKeys.reset(i);
}
}
bool KaizenGui::eventFilter(QObject *obj, QEvent *event) {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (!settingsWindow->hasFocus())
return keyPressEvent(keyEvent), true;
}
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (!settingsWindow->hasFocus())
return keyReleaseEvent(keyEvent), true;
}
return QMainWindow::eventFilter(obj, event);
}