Skip to content

Commit

Permalink
Merge pull request #36 from Swordfish90/osx-fixes
Browse files Browse the repository at this point in the history
MacOS fixes
  • Loading branch information
Swordfish90 committed Jan 9, 2022
2 parents 65e75bc + b61d620 commit 6322802
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 120 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -4,3 +4,4 @@
moc_*.cpp
moc_*.h
/.qmake.stash
.DS_store
121 changes: 2 additions & 119 deletions lib/Vt102Emulation.cpp
Expand Up @@ -1048,126 +1048,9 @@ QKeyEvent * Vt102Emulation::remapKeyModifiersForMac(QKeyEvent *event) {
modifiers &= ~Qt::ControlModifier;
}

QString eventText = event->text();
int eventKey = event->key();
// disable dead key
bool isAscii = true;
switch (event->nativeVirtualKey()) {
case kVK_ANSI_B:
eventText = "b";
eventKey = Qt::Key_B;
break;
case kVK_ANSI_C:
eventText = "c";
eventKey = Qt::Key_C;
break;
case kVK_ANSI_D:
eventText = "d";
eventKey = Qt::Key_D;
break;
case kVK_ANSI_E:
eventText = "e";
eventKey = Qt::Key_E;
break;
case kVK_ANSI_F:
eventText = "f";
eventKey = Qt::Key_F;
break;
case kVK_ANSI_G:
eventText = "g";
eventKey = Qt::Key_G;
break;
case kVK_ANSI_H:
eventText = "h";
eventKey = Qt::Key_H;
break;
case kVK_ANSI_I:
eventText = "i";
eventKey = Qt::Key_I;
break;
case kVK_ANSI_J:
eventText = "j";
eventKey = Qt::Key_J;
break;
case kVK_ANSI_K:
eventText = "k";
eventKey = Qt::Key_K;
break;
case kVK_ANSI_L:
eventText = "l";
eventKey = Qt::Key_L;
break;
case kVK_ANSI_M:
eventText = "m";
eventKey = Qt::Key_M;
break;
case kVK_ANSI_N:
eventText = "n";
eventKey = Qt::Key_N;
break;
case kVK_ANSI_O:
eventText = "o";
eventKey = Qt::Key_O;
break;
case kVK_ANSI_P:
eventText = "p";
eventKey = Qt::Key_P;
break;
case kVK_ANSI_Q:
eventText = "q";
eventKey = Qt::Key_Q;
break;
case kVK_ANSI_R:
eventText = "r";
eventKey = Qt::Key_R;
break;
case kVK_ANSI_S:
eventText = "s";
eventKey = Qt::Key_S;
break;
case kVK_ANSI_T:
eventText = "t";
eventKey = Qt::Key_T;
break;
case kVK_ANSI_U:
eventText = "u";
eventKey = Qt::Key_U;
break;
case kVK_ANSI_V:
eventText = "v";
eventKey = Qt::Key_V;
break;
case kVK_ANSI_W:
eventText = "w";
eventKey = Qt::Key_W;
break;
case kVK_ANSI_X:
eventText = "x";
eventKey = Qt::Key_X;
break;
case kVK_ANSI_Y:
eventText = "y";
eventKey = Qt::Key_Y;
break;
case kVK_ANSI_Z:
eventText = "z";
eventKey = Qt::Key_Z;
break;
default:
isAscii = false;
}
// a's vk code is 0, a special case
if (event->nativeVirtualKey() == kVK_ANSI_A && event->key() == Qt::Key_A) {
eventText = "a";
eventKey = Qt::Key_A;
isAscii = true;
}
if (modifiers & Qt::ShiftModifier && isAscii) {
eventText = eventText.toUpper();
}
return new QKeyEvent(QEvent::None, eventKey, modifiers,
return new QKeyEvent(QEvent::None, event->key(), modifiers,
event->nativeScanCode(), event->nativeVirtualKey(), event->nativeModifiers(),
eventText, event->isAutoRepeat(), event->count());
event->text(), event->isAutoRepeat(), event->count());
}

void Vt102Emulation::sendKeyEvent(QKeyEvent* origEvent, bool fromPaste)
Expand Down
6 changes: 6 additions & 0 deletions qmltermwidget.pro
Expand Up @@ -17,6 +17,12 @@ INCLUDEPATH += $$PWD/src
HEADERS += $$PWD/src/qmltermwidget_plugin.h \
$$PWD/src/ksession.h

# Copy the files useful to the plugin in DESTDIR
QMAKE_POST_LINK = $(COPY_DIR) $$PWD/lib/color-schemes $$DESTDIR && \
$(COPY_DIR) $$PWD/lib/kb-layouts $$DESTDIR && \
$$QMAKE_COPY $$PWD/src/qmldir $$DESTDIR && \
$$QMAKE_COPY $$PWD/src/QMLTermScrollbar.qml $$DESTDIR

SOURCES += $$PWD/src/qmltermwidget_plugin.cpp \
$$PWD/src/ksession.cpp

Expand Down
2 changes: 1 addition & 1 deletion src/QMLTermScrollbar.qml
Expand Up @@ -28,7 +28,7 @@ Item {

Connections {
target: terminal
onScrollbarValueChanged: showScrollbar();
onScrollbarValueChanged: showScrollbar()
}

Timer {
Expand Down

0 comments on commit 6322802

Please sign in to comment.