Caps LOck delay on ZorinOS 17

Hey everyone!

I’m having a bit of an issue with the Caps Lock key on my Zorin OS 17 setup, and I was hoping someone could help me out.

Whenever I type using Caps Lock, there’s a delay, and it ends up capitalizing the second letter as well. For example, instead of typing "Esse problema," it comes out as "ESse problema." It’s like the system registers both letters as uppercase due to this delay.

I’ve tried adjusting the keyboard settings, but it’s still happening. Has anyone else run into this? Any suggestions on how to fix it?

Thanks in advance for the help!

Hey! Welcome to the forums! :slight_smile:

Are you using a built-in keyboard on a laptop? Or an external keyboard connected wirelessly? If wirelessly, is it Bluetooth or 2.4 GHz?

Hello! THanks!

My keyboard is the Epomaker TH80, it has both wireless and wired functionality.

I recently downloaded ZorinOS. Previously, I used Linux Mint and was able to solve the problem with this code, but it no longer works on Zorin.

#!/bin/sh
rpl='key <CAPS> \{ repeat=no, type\[group1\]=\"ALPHABETIC\", symbols\[group1\]=\[ Caps_Lock, Caps_Lock \],actions\[group1\]=\[LockMods\(modifiers=Lock\),Private\(type=3,data\[0\]=1,data\[1\]=3,data\[2\]=3\) \] \}'

# Create copy of kb description
xkbcomp -xkb $DISPLAY keyboardmap

# Replace CAPS
sed -i "s/key <CAPS>[^;]*/$rpl/" keyboardmap

# Apply
xkbcomp keyboardmap $DISPLAY

# Remove temp file
rm keyboardmap

# script provided by ben2talk and tprei at https://github.com/hexvalid/Linux-CapsLock-Delay-Fixer/issues/12

# Show notify
notify-send "Caps OK"

Are you using the keyboard wireless or wired?

I switch between the two, but now I'm using wireless.

I found a solution.

After a long search about this subject, i find this topic on the Manjaroo Forum where a user explained to solve.

How to solve:

Go to “usr/share/X11/xkb/symbols/”, edit the file “capslock" and find this code:

// This changes the <CAPS> key to become a Control modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "ctrl_modifier" {
    replace key <CAPS> {
        type[Group1] = "ONE_LEVEL",
        symbols[Group1] = [ Caps_Lock ],
        actions[Group1] = [ SetMods(modifiers=Control) ]
    };
    modifier_map Control { <CAPS> };
};

After you find this, replace it with this:

// This changes the <CAPS> key to become a Control modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "ctrl_modifier" {
		  key <CAPS> {
		      type="ALPHABETIC",
		      repeat=No,
		      symbols[Group1]= [ Caps_Lock, Caps_Lock ],
		      actions[Group1]= [ LockMods(modifiers=Lock),
		                         LockMods(modifiers=Shift+Lock,affect=unlock) ]
		  };
};

Now, you can need the "Gnome Tweaks" for activate the option “make Caps Lock an additional Ctrl” on “Additional Layout Options - Caps Lock behavior”.

This worked for me.