You are not logged in.

#1 2024-02-05 09:47:31

SunBlade
Member
From: at home
Registered: 2023-02-18
Posts: 27

[SOLVED] KDE no longer changes x11 keyboard settings

Hi, for a month now i noticed KDE no longer setting any x11 keyboard settings (numlock, repeat rate, layout, etc). this is starting to get annoying.

when i try to change keyboard settings in System Settings it has no effect and my systemd journal shows:

{starting System Settings}
Feb 05 10:03:43 systemd[869]: Started System Settings - System Settings.
Feb 05 10:03:44 systemsettings[4896]: Using fontconfig file: "/home/chris/.config/fontconfig/fonts.conf"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/BasicListItem.qml:288:18: QML QQuickItem*: Binding loop detected for property "implicitWidth"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/BasicListItem.qml:288:18: QML QQuickItem*: Binding loop detected for property "implicitWidth"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/BasicListItem.qml:288:18: QML QQuickItem*: Binding loop detected for property "implicitWidth"
Feb 05 10:03:44 systemsettings[4896]: file:///usr/lib/qt/qml/org/kde/kirigami.2/BasicListItem.qml:288:18: QML QQuickItem*: Binding loop detected for property "implicitWidth"
Feb 05 10:03:44 systemsettings[4896]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
{go to Input Devices > Keyboard}
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_osdKbdLayoutChangedEnabled" was found but there is no setting named "osdKbdLayoutChangedEnabled"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_repeatRate" was found but there is no setting named "repeatRate"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_repeatDelay" was found but there is no setting named "repeatDelay"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_resetOldXkbOptions" was found but there is no setting named "resetOldXkbOptions"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_configureLayouts" was found but there is no setting named "configureLayouts"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_repeatRate" was found but there is no setting named "repeatRate"
Feb 05 10:03:53 systemsettings[4896]: kf.configwidgets: A widget named "kcfg_repeatDelay" was found but there is no setting named "repeatDelay"
Feb 05 10:03:53 systemsettings[4896]: qml: The item SubCategoryPage_QMLTYPE_74(0x6196deb4b250) is already in the PageRow
{changing settings has no effect on the test field}
{pressing Apply}
Feb 05 10:04:36 kwin_x11[1039]: kwin_core: XCB error: 3 (BadWindow), sequence: 64333, resource id: 111149282, major code: 129 (SHAPE), minor code: 6 (Input)

xkbset however works, and changes to for example the repeat rate take immediate effect in all applications and also the keyboard test field in System Settings.

$> xkbset q
Audible Bell = On
Repeat Keys = On
Repeat Delay = 660
Repeat Interval = 40
Per Key Repeat =
        00ffffffdffffbbf
        fadfffefffedffff
        9fffffffffffffff
        fff7ffffffffffff
Mouse-Keys = Off
Mouse-Keys Default Button = 1
Mouse-Keys Acceleration = On
Mouse-Keys Acceleration Delay = 160
Mouse-Keys Acceleration Interval = 40
Mouse-Keys Acceleration Time to Max = 30
Mouse-Keys Acceleration Max Speed = 30
Mouse-Keys Acceleration Curve = 500
Accessibility Features (AccessX) = Off
Sticky-Keys = Off
Two Keys Mask = On
Latch to Lock Mask = On
Slow-Keys = Off
Slow Keys Delay = 500
Bounce-Keys = Off
Debounce Delay = 500
AccessX Feedback = On
Use Fixed Pitch Bell = On
Beep when LED changes = Off
Beep on Controls on/off = On
Beep if Slow/Bounce-Keys about to be turned off = On
Beep on Slow-Key Press = On
Beep on Slow-Key Accept = On
Beep on Slow-Key Reject = Off
Beep on Slow-Key Release = Off
Beep on Bounce-Key Reject = On
Beep on Sticky-Key Actions = On
Keyboard Overlay 1 = Off
Keyboard Overlay 2 = Off
Groups Wrap Type = wrap
Groups Wrap Value = 1
Ignore Group Lock = On
Nullify Shift = Off
Nullify Caps-Lock = Off
Nullify Control = Off
Nullify Mod1 = Off
Nullify Mod2 = Off
Nullify Mod3 = Off
Nullify Mod4 = Off
Nullify Mod5 = Off
Ignore Lock of Shift = Off
Ignore Lock of Caps-Lock = Off
Ignore Lock of Control = Off
Ignore Lock of Mod1 = Off
Ignore Lock of Mod2 = Off
Ignore Lock of Mod3 = Off
Ignore Lock of Mod4 = Off
Ignore Lock of Mod5 = Off

$> xkbset r rate 250 10

$> xkbset q
Audible Bell = On
Repeat Keys = On
Repeat Delay = 250
Repeat Interval = 10
Per Key Repeat =
        00ffffffdffffbbf
        fadfffefffedffff
        9fffffffffffffff
        fff7ffffffffffff
Mouse-Keys = Off
Mouse-Keys Default Button = 1
Mouse-Keys Acceleration = On
Mouse-Keys Acceleration Delay = 160
Mouse-Keys Acceleration Interval = 40
Mouse-Keys Acceleration Time to Max = 30
Mouse-Keys Acceleration Max Speed = 30
Mouse-Keys Acceleration Curve = 500
Accessibility Features (AccessX) = Off
Sticky-Keys = Off
Two Keys Mask = On
Latch to Lock Mask = On
Slow-Keys = Off
Slow Keys Delay = 500
Bounce-Keys = Off
Debounce Delay = 500
AccessX Feedback = On
Use Fixed Pitch Bell = On
Beep when LED changes = Off
Beep on Controls on/off = On
Beep if Slow/Bounce-Keys about to be turned off = On
Beep on Slow-Key Press = On
Beep on Slow-Key Accept = On
Beep on Slow-Key Reject = Off
Beep on Slow-Key Release = Off
Beep on Bounce-Key Reject = On
Beep on Sticky-Key Actions = On
Keyboard Overlay 1 = Off
Keyboard Overlay 2 = Off
Groups Wrap Type = wrap
Groups Wrap Value = 1
Ignore Group Lock = On
Nullify Shift = Off
Nullify Caps-Lock = Off
Nullify Control = Off
Nullify Mod1 = Off
Nullify Mod2 = Off
Nullify Mod3 = Off
Nullify Mod4 = Off
Nullify Mod5 = Off
Ignore Lock of Shift = Off
Ignore Lock of Caps-Lock = Off
Ignore Lock of Control = Off
Ignore Lock of Mod1 = Off
Ignore Lock of Mod2 = Off
Ignore Lock of Mod3 = Off
Ignore Lock of Mod4 = Off
Ignore Lock of Mod5 = Off

browsing the forum i noticed unnaturally many posts about keyboard issues under KDE within the past month.
did the changes in ddcutil maybe break some basic KDE stuff?

my specs:

$> neofetch --stdout
chris@GMonster
--------------
OS: Arch Linux x86_64
Host: MS-7D54 2.0
Kernel: 6.7.3-zen1-2-zen
Uptime: 43 mins
Packages: 2350 (pacman)
Shell: bash 5.2.26
Resolution: 2560x1440, 2560x1440
DE: Plasma 5.27.10
WM: KWin
Theme: [Plasma], Breeze [GTK2/3]
Icons: [Plasma], breeze-dark [GTK2/3]
Terminal: konsole
Terminal Font: JoyPixels 12 Hack 12
CPU: AMD Ryzen 9 5950X (32) @ 3.975GHz
GPU: AMD ATI Radeon RX 6800/6800 XT / 6900 XT
Memory: 5406MiB / 128734MiB

Last edited by SunBlade (2024-02-07 10:24:27)


Live your life, you got only one.

Offline

#2 2024-02-05 15:59:03

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,547

Re: [SOLVED] KDE no longer changes x11 keyboard settings

browsing the forum i noticed unnaturally many posts about keyboard issues under KDE within the past month.

KDE *specific* ? Links?

Does the same happen for a fresh user account?

https://archlinux.org/packages/extra/x86_64/ddcutil/ is for monitor control, does the problem disappear when removing it (the keyboard might get re-attached, ie. the settings are initially applied but then lost)

https://wiki.archlinux.org/title/Xorg/K … tion_files
https://wiki.archlinux.org/title/Xorg/K … ion_option

Offline

#3 2024-02-05 19:25:32

SunBlade
Member
From: at home
Registered: 2023-02-18
Posts: 27

Re: [SOLVED] KDE no longer changes x11 keyboard settings

browsing the forum i noticed unnaturally many posts about keyboard issues under KDE within the past month.

KDE *specific* ? Links?

either i am going senile or i was to tired yesterday. going back through my browsing history i find only one: https://bbs.archlinux.org/viewtopic.php?id=292239
.
.

to force a rewrite of the config files i did:

$> sudo localectl set-x11-keymap de
$> sudo localectl set-x11-keymap de logitech_g15 nodeadkeys

but KDE still can't change keyboard settings.
.
.

as a temporary workaround i set the AutoRepeat defaults.

$> cat /etc/X11/xorg.conf.d/00-keyboard.conf
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# update this file.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "de"
        Option "XkbModel" "logitech_g15"
        Option "XkbVariant" "nodeadkeys"
        Option "AutoRepeat" "250 10"
EndSection

.
.

... does the problem disappear when removing it (the keyboard might get re-attached, ie. the settings are initially applied but then lost)

i tested my keyboard and an old one: everytime i plug in a keyboard the repeat values are reset to the x11 defaults i set above.

$> xkbset q
Audible Bell = On
Repeat Keys = On
Repeat Delay = 250
Repeat Interval = 10
Per Key Repeat =
        00ffffffdffffbbf
        fadfffefffedffff
        9fffffffffffffff
        fff7ffffffffffff
Mouse-Keys = Off
Mouse-Keys Default Button = 1
Mouse-Keys Acceleration = On
Mouse-Keys Acceleration Delay = 160
Mouse-Keys Acceleration Interval = 40
Mouse-Keys Acceleration Time to Max = 30
Mouse-Keys Acceleration Max Speed = 30
Mouse-Keys Acceleration Curve = 500
Accessibility Features (AccessX) = Off
Sticky-Keys = Off
Two Keys Mask = On
Latch to Lock Mask = On
Slow-Keys = Off
Slow Keys Delay = 300
Bounce-Keys = Off
Debounce Delay = 300
AccessX Feedback = On
Use Fixed Pitch Bell = On
Beep when LED changes = Off
Beep on Controls on/off = On
Beep if Slow/Bounce-Keys about to be turned off = On
Beep on Slow-Key Press = On
Beep on Slow-Key Accept = On
Beep on Slow-Key Reject = Off
Beep on Slow-Key Release = Off
Beep on Bounce-Key Reject = On
Beep on Sticky-Key Actions = On
Keyboard Overlay 1 = Off
Keyboard Overlay 2 = Off
Groups Wrap Type = wrap
Groups Wrap Value = 1
Ignore Group Lock = On
Nullify Shift = Off
Nullify Caps-Lock = Off
Nullify Control = Off
Nullify Mod1 = Off
Nullify Mod2 = Off
Nullify Mod3 = Off
Nullify Mod4 = Off
Nullify Mod5 = Off
Ignore Lock of Shift = Off
Ignore Lock of Caps-Lock = Off
Ignore Lock of Control = Off
Ignore Lock of Mod1 = Off
Ignore Lock of Mod2 = Off
Ignore Lock of Mod3 = Off
Ignore Lock of Mod4 = Off
Ignore Lock of Mod5 = Off

.
.

Does the same happen for a fresh user account?

no, a fresh user can actually change the settings in KDE. so, my user config ?breaks? KDE?
systemd journal shows the same errors when changing the keyboard settings, except the kwin_x11 error at the end is missing.
and everytime i plug in a keyboard the repeat rate is reset to the configured KDE setting.
.
which config error can break my KDE this hard?


Live your life, you got only one.

Offline

#4 2024-02-05 21:02:24

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,547

Re: [SOLVED] KDE no longer changes x11 keyboard settings

i find only one

That was broken HW.

everytime i plug in a keyboard the repeat values are reset to the x11 defaults i set above

Yes, that's the expected behavior; therefore the implicit suggestion of the wiki links to rely on the Xorg config instead of KDE - it's gonna be more robust wrt. flickering hardware.
What I meant by "removing it" however was ddcutil - you mentioned it, but it seems unrelated, but might screw up the USB stack(?) - so I wanted to know whether the problem exists if you remove it from your system.

However:

a fresh user can actually change the settings in KDE … which config error can break my KDE this hard?

I'd start by looking at ~/.config/kxkbrc

Offline

#5 2024-02-05 21:38:03

SunBlade
Member
From: at home
Registered: 2023-02-18
Posts: 27

Re: [SOLVED] KDE no longer changes x11 keyboard settings

... so I wanted to know whether the problem exists if you remove it from your system.

$> yay -R ddcutil
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing ddcutil breaks dependency 'ddcutil' required by powerdevil
 -> exit status 1
$> yay -R ddcutil powerdevil
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing powerdevil breaks dependency 'powerdevil' required by plasma-desktop
:: removing powerdevil breaks dependency 'powerdevil' required by plasma-meta
 -> exit status 1

i don't think i want to remove plasma-desktop.
.
.

a fresh user can actually change the settings in KDE … which config error can break my KDE this hard?

I'd start by looking at ~/.config/kxkbrc

$> cat ~/.config/kxkbrc
[$Version]
update_info=kxkb.upd:remove-empty-lists,kxkb.upd:add-back-resetoptions,kxkb_variants.upd:split-variants

looks pretty vanilla to me, exactly like the one on my fresh user.


Live your life, you got only one.

Offline

#6 2024-02-05 22:06:11

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,547

Re: [SOLVED] KDE no longer changes x11 keyboard settings

"-Rd", might break powerdevil, though (if it actually links it) - why did you suspect it to be relevant?

Looks "too vanilla"?
https://bbs.archlinux.org/viewtopic.php … 6#p2089216

The bugs linked there suggest that an IM (ibus, fcitx, …) might throw KDE off? Do you use anything like that?
Does your new user still work as expected after a re-login?

Offline

#7 2024-02-05 23:20:58

SunBlade
Member
From: at home
Registered: 2023-02-18
Posts: 27

Re: [SOLVED] KDE no longer changes x11 keyboard settings

Does your new user still work as expected after a re-login?

yes. numlock automatically activates and repeat rate gets set by KDE.
when i switch back numlock gets turned off, and i have to press it twice to turn it back on. and repeat rate returns to the values i had set with xset.
.
.

The bugs linked there suggest that an IM (ibus, fcitx, …) might throw KDE off? Do you use anything like that?

since i have no idea what IM means, i don't think so. pacman however says i have an ibus lib installed.

$> yay -Q | grep "ibus"
lib32-libusb 1.0.26-2
libibus 1.5.29-3
libusb 1.0.26-2
libusb-compat 0.1.8-1
libusbmuxd 2.0.2-3

$> yay -Q | grep "fcitx"

Live your life, you got only one.

Offline

#8 2024-02-06 21:57:22

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,547

Re: [SOLVED] KDE no longer changes x11 keyboard settings

"switch" means you're opening a second session, you're not logging into the user directly?
Because at that point you're likely running a second X11 server and also any kind of HW flicker from the boot/initial login (your Xorg log, https://wiki.archlinux.org/title/Xorg#General would revela such) would become irrelevant.

Also

when i switch back numlock gets turned off, and i have to press it twice to turn it back on

sounds like a VT switch and state and LED fallig apart over it.

Assuming the problem is really limited to your main user, you could poison the second user with (KDE) config files from your main user to bisect the culprit, but first you should check whether a login straight into the new user does actuall not exhibit the problem, resp. if it does, how switching to your main user behaves.

Offline

#9 2024-02-07 10:23:40

SunBlade
Member
From: at home
Registered: 2023-02-18
Posts: 27

Re: [SOLVED] KDE no longer changes x11 keyboard settings

"switch" means you're opening a second session, you're not logging into the user directly?
Because at that point you're likely running a second X11 server and also any kind of HW flicker from the boot/initial login (your Xorg log, https://wiki.archlinux.org/title/Xorg#General would revela such) would become irrelevant.

yes, but to be sure i now tested "switch" a.k.a. second session and "logout->login". i can confidently say: the sddm login screen and my fresh user both work. only my main user has problems in x11 sessions, wayland sessions work fine.
.
.

Assuming the problem is really limited to your main user, you could poison the second user with (KDE) config files from your main user to bisect the culprit, but first you should check whether a login straight into the new user does actuall not exhibit the problem, resp. if it does, how switching to your main user behaves.

jep, by this point i am sure i messed up my config. time to spread the poison.
.
.
found the culprit: ~/.config/kded5rc
that file controls which background services get loaded at session start.
and the service in question is the System Settings > Startup and Shutdown > Background Services > Keyboard Daemon.
since the description only hints at layout switching i disabled this shortly after system installation. but it looks like this service is now used to set all keyboard configs (at least under x11).


Live your life, you got only one.

Offline

Board footer

Powered by FluxBB