remappable inputs in progress
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user