Skip to content

Commit be427a2

Browse files
committed
[Issue No.63]Fix multi input virtual key send issue.
Signed-off-by: Melvin Li <kkkwing15@163.com>
1 parent 5d3a319 commit be427a2

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

QKeyMapper/qkeymapper_worker.cpp

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6675,7 +6675,11 @@ int QKeyMapper_Worker::InterceptionKeyboardHookProc(UINT scan_code, int keyupdow
66756675
if (KEY_UP == keyupdown && false == returnFlag){
66766676
if (findindex >= 0
66776677
&& (QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == keycodeString
6678-
|| QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == QKeyMapper_Worker::getKeycodeStringRemoveMultiInput(keycodeString))) {
6678+
|| QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == keycodeString_nochanged)) {
6679+
#ifdef DEBUG_LOGOUT_ON
6680+
QString debugmessage = QString("[InterceptionKeyboardHookProc] \"%1\" or \"%2\" has found in OriginalKeys, do not skip RealKey \"%3\" KEY_UP").arg(keycodeString_nochanged, keycodeString, keycodeString);
6681+
qDebug().nospace().noquote() << "\033[1;34m" << debugmessage << "\033[0m";
6682+
#endif
66796683
}
66806684
else {
66816685
if (pressedVirtualKeysList.contains(keycodeString_nochanged)) {
@@ -6983,13 +6987,17 @@ int QKeyMapper_Worker::InterceptionMouseHookProc(MouseEvent mouse_event, int del
69836987
if (KEY_UP == keyupdown && INTERCEPTION_RETURN_NORMALSEND == returnFlag){
69846988
if (findindex >= 0
69856989
&& (QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == keycodeString
6986-
|| QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == QKeyMapper_Worker::getKeycodeStringRemoveMultiInput(keycodeString))) {
6990+
|| QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == keycodeString_nochanged)) {
6991+
#ifdef DEBUG_LOGOUT_ON
6992+
QString debugmessage = QString("[InterceptionMouseHookProc] \"%1\" or \"%2\" has found in OriginalKeys, do not skip RealKey \"%3\" KEY_UP").arg(keycodeString_nochanged, keycodeString, keycodeString);
6993+
qDebug().nospace().noquote() << "\033[1;34m" << debugmessage << "\033[0m";
6994+
#endif
69876995
}
69886996
else {
6989-
if (pressedVirtualKeysList.contains(keycodeString)) {
6997+
if (pressedVirtualKeysList.contains(keycodeString_nochanged)) {
69906998
returnFlag = INTERCEPTION_RETURN_BLOCKEDBY_LOWLEVELHOOK;
69916999
#ifdef DEBUG_LOGOUT_ON
6992-
qDebug("[InterceptionMouseHookProc] Virtual \"%s\" is pressed down, skip Real \"%s\" KEY_UP!", keycodeString.toStdString().c_str(), keycodeString.toStdString().c_str());
7000+
qDebug("[InterceptionMouseHookProc] Virtual \"%s\" is pressed down, skip Real \"%s\" KEY_UP!", keycodeString_nochanged.toStdString().c_str(), keycodeString_nochanged.toStdString().c_str());
69937001
#endif
69947002
}
69957003
}
@@ -7591,6 +7599,10 @@ LRESULT QKeyMapper_Worker::LowLevelKeyboardHookProc(int nCode, WPARAM wParam, LP
75917599
if (findindex >= 0
75927600
&& (QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == keycodeString
75937601
|| QKeyMapper::KeyMappingDataList->at(findindex).Original_Key == QKeyMapper_Worker::getKeycodeStringRemoveMultiInput(keycodeString))) {
7602+
#ifdef DEBUG_LOGOUT_ON
7603+
QString debugmessage = QString("[LowLevelKeyboardHookProc] \"%1\" has found in OriginalKeys, do not skip RealKey \"%2\" KEY_UP").arg(keycodeString, keycodeString);
7604+
qDebug().nospace().noquote() << "\033[1;34m" << debugmessage << "\033[0m";
7605+
#endif
75947606
}
75957607
else {
75967608
if (pressedVirtualKeysList.contains(keycodeString)) {
@@ -7795,7 +7807,7 @@ LRESULT QKeyMapper_Worker::LowLevelKeyboardHookProc(int nCode, WPARAM wParam, LP
77957807
int findindex = QKeyMapper::findOriKeyInKeyMappingDataList_RemoveMultiInput(keycodeString);
77967808
if (findindex < 0) {
77977809
#ifdef DEBUG_LOGOUT_ON
7798-
QString debugmessage = QString("[LowLevelKeyboardHookProc] RealKey \"%1\" is pressed down on keyboard, skip send mapping VirtualKey \"%2\" KEYUP! sendVirtualKeyState = %3").arg(keycodeString, keycodeString).arg(sendVirtualKeyState);
7810+
QString debugmessage = QString("[LowLevelKeyboardHookProc] RealKey \"%1\" is pressed down on keyboard, skip send mapping VirtualKey \"%2\" KEY_UP! sendVirtualKeyState = %3").arg(keycodeString, keycodeString).arg(sendVirtualKeyState);
77997811
qDebug().nospace().noquote() << "\033[1;34m" << debugmessage << "\033[0m";
78007812
#endif
78017813
returnFlag = true;

0 commit comments

Comments
 (0)