From cf88211715cfad9431ef5da00b7c9ebe680b80a0 Mon Sep 17 00:00:00 2001 From: fiftydinar <65243233+fiftydinar@users.noreply.github.com> Date: Mon, 25 Dec 2023 11:05:12 +0100 Subject: [PATCH 1/3] feat: Fix caps-lock input delay This is one of the 1st issues which ex-Windows users notice when they switch to Linux. I am one of those users who uses Caps-Lock instead of Shift for uppercase letters. This will get rid of input delay, while the "light indicator" delay is still the same (I mentioned this distinction to not confuse you if you don't "see" any changes). To test, type "Helo" repeatedly using Caps Lock. You will no longer see "HElo" in your texts. Fix took from here: https://forum.manjaro.org/t/caps-lock-behaviour-wayland/79868/8 --- .../shared/usr/share/X11/xkb/symbols/capslock | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 system_files/shared/usr/share/X11/xkb/symbols/capslock diff --git a/system_files/shared/usr/share/X11/xkb/symbols/capslock b/system_files/shared/usr/share/X11/xkb/symbols/capslock new file mode 100644 index 0000000000..6bb0fbc2a4 --- /dev/null +++ b/system_files/shared/usr/share/X11/xkb/symbols/capslock @@ -0,0 +1,85 @@ +default hidden partial modifier_keys +xkb_symbols "capslock" { + replace key { [ Caps_Lock ], type[group1] = "ONE_LEVEL" }; + modifier_map Lock { Caps_Lock }; +}; + +hidden partial modifier_keys +xkb_symbols "shiftlock" { + replace key { [ Shift_Lock ], type[group1] = "ONE_LEVEL" }; + modifier_map Shift { Shift_Lock }; +}; + +hidden partial modifier_keys +xkb_symbols "swapescape" { + key { [ Escape ], type[group1] = "ONE_LEVEL" }; + key { [ Caps_Lock ] }; +}; + +hidden partial modifier_keys +xkb_symbols "escape" { + key { [ Escape ], type[group1] = "ONE_LEVEL" }; +}; + +hidden partial modifier_keys +xkb_symbols "escape_shifted_capslock" { + key { + type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Escape, Caps_Lock ], + actions[Group1] = [ NoAction(), LockMods(modifiers = Lock) ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "escape_shifted_compose" { + key { + type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Escape, Multi_key ], + actions[Group1] = [ NoAction(), NoAction() ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "backspace" { + key { [ BackSpace ], type[group1] = "ONE_LEVEL" }; +}; + +hidden partial modifier_keys +xkb_symbols "super" { + key { [ Super_L ], type[group1] = "ONE_LEVEL" }; + modifier_map Mod4 { }; +}; + +hidden partial modifier_keys +xkb_symbols "hyper" { + key { [ Hyper_L ], type[group1] = "ONE_LEVEL" }; + modifier_map Mod4 { }; +}; + +hidden partial modifier_keys +xkb_symbols "menu" { + key { [ Menu ], type[group1] = "ONE_LEVEL" }; +}; + +hidden partial modifier_keys +xkb_symbols "numlock" { + key { [ Num_Lock ], type[group1] = "ONE_LEVEL" }; +}; + +// This changes the key to become a Control modifier, +// but it will still produce the Caps_Lock keysym. +hidden partial modifier_keys +xkb_symbols "ctrl_modifier" { + key { + type="ALPHABETIC", + repeat=No, + symbols[Group1]= [ Caps_Lock, Caps_Lock ], + actions[Group1]= [ LockMods(modifiers=Lock), + LockMods(modifiers=Shift+Lock,affect=unlock) ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "none" { + key { [ VoidSymbol ], type[group1] = "ONE_LEVEL" }; +}; From 3ed2b805bdfa127103d7e2b8843983e37845baf1 Mon Sep 17 00:00:00 2001 From: fiftydinar <65243233+fiftydinar@users.noreply.github.com> Date: Mon, 25 Dec 2023 11:20:48 +0100 Subject: [PATCH 2/3] Add needed dconf for caps-lock delay fix --- .../silverblue/usr/etc/dconf/db/local.d/02-bazzite-global | 3 +++ 1 file changed, 3 insertions(+) diff --git a/system_files/desktop/silverblue/usr/etc/dconf/db/local.d/02-bazzite-global b/system_files/desktop/silverblue/usr/etc/dconf/db/local.d/02-bazzite-global index fbaa4d5f55..4514c22eb4 100644 --- a/system_files/desktop/silverblue/usr/etc/dconf/db/local.d/02-bazzite-global +++ b/system_files/desktop/silverblue/usr/etc/dconf/db/local.d/02-bazzite-global @@ -4,6 +4,9 @@ switch-applications-backward = ['Tab'] switch-windows = ['Tab'] switch-windows-backward = ['Tab'] +[org/gnome/desktop/input-sources] +xkb-options=['caps:ctrl_modifier'] + [org/gnome/desktop/peripherals/touchpad] tap-to-click=true From b29740a2bc459ccde37f5b1301656286eca60c85 Mon Sep 17 00:00:00 2001 From: fiftydinar <65243233+fiftydinar@users.noreply.github.com> Date: Mon, 25 Dec 2023 11:23:57 +0100 Subject: [PATCH 3/3] Place this in desktop/silverblue, since it is for Gnome only for now --- .../silverblue}/usr/share/X11/xkb/symbols/capslock | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename system_files/{shared => desktop/silverblue}/usr/share/X11/xkb/symbols/capslock (100%) diff --git a/system_files/shared/usr/share/X11/xkb/symbols/capslock b/system_files/desktop/silverblue/usr/share/X11/xkb/symbols/capslock similarity index 100% rename from system_files/shared/usr/share/X11/xkb/symbols/capslock rename to system_files/desktop/silverblue/usr/share/X11/xkb/symbols/capslock