diff options
Diffstat (limited to 'src/MainWidget.cpp')
-rw-r--r-- | src/MainWidget.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/MainWidget.cpp b/src/MainWidget.cpp index 8797085..ff10c27 100644 --- a/src/MainWidget.cpp +++ b/src/MainWidget.cpp @@ -858,16 +858,17 @@ void MainWidget::updateNumlock() void MainWidget::toggleShift(unsigned int keycode) { send_key(keycode); - updateShift(); + updateShiftCaps(); } -void MainWidget::updateShift() +void MainWidget::updateShiftCaps() { - bool state = caps->isOn() ^ (lshift->isOn() || rshift->isOn()); + bool shiftState = lshift->isOn() || rshift->isOn(); + bool capsState = caps->isOn(); for (unsigned a = 0; a < btns.size(); a++) { VButton *v = btns[a]; - v->shiftPressed(state); + v->shiftCapsPressed(shiftState, capsState); } } @@ -880,7 +881,7 @@ void MainWidget::keyPress ( unsigned int a ) mod->setOn(false); } // Make sure the key labels are correctly updated - updateShift(); + updateShiftCaps(); } void MainWidget::send_key(unsigned int keycode) @@ -935,7 +936,7 @@ void MainWidget::queryModState() if (caps_state != caps->isOn()) { caps->setOn(caps_state); - updateShift(); + updateShiftCaps(); } bool numl_state = keyState(XK_Num_Lock); |