diff --git a/src/plugins/keynotification/keynotification.cpp b/src/plugins/keynotification/keynotification.cpp index 754feb0406..ff71ad680f 100644 --- a/src/plugins/keynotification/keynotification.cpp +++ b/src/plugins/keynotification/keynotification.cpp @@ -5,6 +5,7 @@ */ #include "keynotification.h" +#include "effect/effecthandler.h" #include "keyboard_input.h" #include "xkb.h" @@ -32,6 +33,12 @@ KeyNotificationPlugin::KeyNotificationPlugin() void KeyNotificationPlugin::ledsChanged(LEDs leds) { + if (m_useBellWhenLocksChange) { + if (auto effect = effects->provides(Effect::SystemBell)) { + effect->perform(Effect::SystemBell, {}); + } + } + if (m_enabled) { if (!m_currentLEDs.testFlag(LED::CapsLock) && leds.testFlag(LED::CapsLock)) { sendNotification("lockkey-locked", i18n("The Caps Lock key has been activated")); @@ -113,6 +120,7 @@ void KeyNotificationPlugin::sendNotification(const QString &eventId, const QStri void KeyNotificationPlugin::loadConfig(const KConfigGroup &group) { m_enabled = group.readEntry("kNotifyModifiers", false); + m_useBellWhenLocksChange = group.readEntry("ToggleKeysBeep", false); } } diff --git a/src/plugins/keynotification/keynotification.h b/src/plugins/keynotification/keynotification.h index ac619f2d65..a4da0084aa 100644 --- a/src/plugins/keynotification/keynotification.h +++ b/src/plugins/keynotification/keynotification.h @@ -30,5 +30,6 @@ private: bool m_enabled = false; KWin::LEDs m_currentLEDs; Qt::KeyboardModifiers m_currentModifiers; + bool m_useBellWhenLocksChange = false; }; }