O problema aqui é que você está essencialmente removendo as chaves do Windows da lista de modificadores com clear mod4
. Para ter o Caps Lock disponível como um modificador adicional, como substituto das teclas do Windows , você teria que configurá-lo para um modificador diferente. Você pode usar modificadores Mod1
a Mod5
além de Control
, Shift
e Mode_switch
com i3 .
Primeiro, verifique se algum modificador não é usado no layout que você está usando (sem aplicar o .Xmodmap
). Você pode obter uma lista das configurações do modificador com xmodmap -pm
. Para o layout us
, isso retorna (na minha máquina):
xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Como você pode ver, mod3
não está sendo usado no momento. Para usá-lo, basta colocar o seguinte no seu .Xmodmap
:
clear lock keycode 66 = Hyper_R add mod3 = Hyper_R
Observação: Nesse caso, usei Hyper_R
porque Hyper_L
já estava vinculado a mod4
. E 66 é o código chave do Caps Lock . Isso pode ser diferente em sua máquina.
Agora você pode usar esse modificador com suas atalhos i3 . Se você quiser continuar usando a variável $mod
com sua configuração, basta configurá-la como Mod3
ou Mod4
dependendo se você quiser usar o Caps Lock ou as teclas do Windows para isso. Mas não há necessidade real de realmente usá-lo (é principalmente conveniente facilitar a configuração inicial ao escolher entre Alt ( Mod1
) e teclas do Windows ( Mod4
).
Usar o novo Modificador é tão simples quanto:
bindsym Mod3+s exec something
binysym Mod3+Mod4+s exec something_else