Atraso no CapsLock no ZorinOS 17 (Solução encontrada)

Olá pessoal.

Há alguns meses, fiz este mesmo relato de “bug” para o Linux Mint, distro que utilizava na época. Agora utilizo o ZorinOS 17.

Quando eu inicio o sistema e vou digitar nele normalmente, quando vou iniciar a escrita de uma palavra com letra maiúscula, é comum para mim utilizar o caps-lock uma vez e depois desativa-lo para concluir a palavra com as letras minúsculas, de forma que fique só a primeira letra em maiúsculo.

Eu postei um código no site, relatando que ele estaria funcionando para solucionar o “erro”, mas o mesmo não funciona para o Zorin.

O Zorin também possui um “atraso”, no qual quando tento escrever mais rápido, duas letras que eu coloquei na palavra ficam em maiúsculo.
“DEssa forma”. Eu achei que isso só acontecia no Linux Mint, mas após uma formatação limpa e utilizando outra distro, este bug persiste

O script que eu comentei, seria este:

#!/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

Existe alguma forma de eu resolver este problema usando ou não este script? gostaria de algumas alternativas. Não consegui achar em nenhum lugar uma forma de resolver este problema nesta distro.

2 curtidas

veja esse fix para o zorin. quem sabe resolve?

3 curtidas

Esse código é praticamente o mesmo desse que eu postei, e não funciona. Eu realmente queria entender a raiz desse problema, você teria alguma outra opção ou alternativa?

1 curtida

https://wiki.archlinux.org/title/Xorg/Keyboard_configuration#Switching_state_immediately_when_Caps_Lock_is_pressed
https://www.reddit.com/r/linux_gaming/comments/s6hfpy/removing_the_delay_on_the_caps_lock_while_keeping/

1 curtida

EU testei esses códigos, mas infelizmente acabou nãO funcionando.

Eu acho bem triste um sistema com o LInux tão bom vir com esses problemas chatos de resolver. Pelo visto, ao que pesquisei, não consegui encontrar nenhuma solução para o Zorin. Você teria alguma outra alternativa? ou alguma ideia para refatorar aquele código que enviei acima?

EU usava esse no MInt.

#!/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

Eu finalmente encontrei uma solução.

Após algum tempo de pesquisa sobre este assunto, eu encontrei a solução em um fórum onde o foco era o Manjaroo, o usuário soube explicar e mostrar como conseguimos resolver este problema no Gnome(Wayland) também. Se você passa pelo mesmo problema, recomendo que teste o que eu fiz, foi a única coisa que realmente funcionou no meu ZorinOS.

Primeiro, navegue até: “usr/share/X11/xkb/symbols/” busque pelo arquivo “capslock” dentro da pasta, e abra em um editor de texto.

Após isso, você precisa encontrar este código:

// 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> };
};

Ao encontrar ele, é um bom sinal. Apague ele por completo e substitua por este:

// 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) ]
		  };
};

Não esqueça de salvar o arquivo antes de sair do editor. Após isso, abra o “Gnome Tweaks”, ou o “Ajustes do Gnome” vá nas configurações do teclado e clique na opção “Additional Layout Options”. Encontre “Caps Lock behavior” ou “Comportamento do Caps Lock” e ative a opção: “Make Caps Lock an additional Ctrl” ou “Faça o Caps Lock um Ctrl adicional”. Ative isto, salva e faça o teste.


Esta é a solução definitiva. Vale lembrar que eu uso o ZorinOS Gnome Wayland, portanto, deve funcionar em qualquer Gnome derivado.

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.