Skip to content

Instantly share code, notes, and snippets.

@nicman23
Created July 25, 2026 16:27
Show Gist options
  • Select an option

  • Save nicman23/5a735e5293163b80650f4cbb88f6450b to your computer and use it in GitHub Desktop.

Select an option

Save nicman23/5a735e5293163b80650f4cbb88f6450b to your computer and use it in GitHub Desktop.
carryover
--- kscreenlocker-6.7.3/settings/kscreenlockersettings.kcfg 2026-07-14 13:55:38.000000000 +0300
+++ kscreenlocker-6.7.3/settings/kscreenlockersettings.kcfg.new 2026-07-25 14:57:52.745473643 +0300
@@ -37,6 +37,10 @@
<default>false</default>
<label>Defines if the session is locked on startup</label>
</entry>
+ <entry key="LockscreenFirstKeyStrokeCarryOver" type="Bool">
+ <default>true</default>
+ <label>First keystroke on lockscreen is carried over to the password input</label>
+ </entry>
</group>
<group name="Greeter">
<entry key="Theme" type="String">
--- kscreenlocker-6.7.3/kcm/ui/main.qml 2026-07-14 13:55:38.000000000 +0300
+++ kscreenlocker-6.7.3/kcm/ui/main.qml.new 2026-07-25 14:58:18.101863382 +0300
@@ -109,6 +109,17 @@
}
}
+ QQC2.CheckBox {
+ text: i18nc("@option:check", "Carry over first keystroke on lockscreen to password input")
+ checked: kcm.settings.lockscreenFirstKeyStrokeCarryOver
+ onToggled: kcm.settings.lockscreenFirstKeyStrokeCarryOver = checked
+
+ KCM.SettingStateBinding {
+ configObject: kcm.settings
+ settingName: "LockscreenFirstKeyStrokeCarryOver"
+ }
+ }
+
Item {
Kirigami.FormData.isSection: true
}
--- kwin-6.7.3/src/dpmsinputeventfilter.cpp 2026-07-14 13:56:10.000000000 +0300
+++ /tmp/kwin-log-patch/kwin-6.7.3/src/dpmsinputeventfilter.cpp 2026-07-25 16:19:08.850514517 +0300
@@ -28,6 +28,10 @@
KSharedConfig::Ptr kwinSettings = kwinApp()->config();
m_enableDoubleTap = kwinSettings->group(QStringLiteral("Wayland")).readEntry<bool>("DoubleTapWakeup", true);
+ KSharedConfig::Ptr lockerSettings = KSharedConfig::openConfig(QStringLiteral("kscreenlockerrc"));
+ m_lockscreenFirstKeyStrokeCarryOver = lockerSettings->group(QStringLiteral("Daemon"))
+ .readEntry<bool>("LockscreenFirstKeyStrokeCarryOver", true);
+
if (m_enableDoubleTap) {
m_sensor = std::make_unique<ProximitySensor>();
m_sensor->setEnabled(true);
@@ -86,7 +90,11 @@
}
if (event->state == KeyboardKeyState::Pressed) {
+ const bool carryOver = m_lockscreenFirstKeyStrokeCarryOver && waylandServer()->isScreenLocked();
notify();
+ if (carryOver) {
+ return false;
+ }
} else if (event->state == KeyboardKeyState::Released) {
return false;
}
--- kwin-6.7.3/src/dpmsinputeventfilter.h 2026-07-14 13:56:10.000000000 +0300
+++ /tmp/kwin-log-patch/kwin-6.7.3/src/dpmsinputeventfilter.h 2026-07-25 15:50:39.244667628 +0300
@@ -57,6 +57,7 @@
bool m_secondTap = false;
bool m_enableDoubleTap = false;
bool m_proximityClose = false;
+ bool m_lockscreenFirstKeyStrokeCarryOver = true;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment