Shift's Invertidos (mapeamento do teclado, xmodmap)

Pessoal, antes do problema, essa é uma pequena prévia do meu “setup”

Uso no meu notebook um Ubuntu deveras minimalista (faço a instalalção com a mini iso e atualizo para a versão _rolling release, 22.10) com i3wm, aonde para alternar as janelas entre tiling/floating está setado:

bindsym $mod+Shift+space floating toggle

Que é a bind que já vem por padrão.

Pois bem, comprei um teclado mecânico (meu primeiro inclusive), TGT SPAWN TOURNAMENT (é o modelo) e quando eu tento super+shift+space, simplesmente nada acontece, isso, utilizando o shift esquerdo, que é o que eu sempre usei e que sempre funcionou (no teclado do próprio notebook), porém, fazendo a mesma coisa, só que com o shift direito funciona perfeitamente.

Além do comportamento errôneo nesse caso específico, o mesmo acontece no atalho dentro de alguma aplicação específica, por exemplo, dentro do vs code se você tecla ctrl+shift+p é aberto uma paleta de comandos e eu sempre fiz essa combinação de teclas com o shift esquerdo, e da mesma forma agora com o teclado externo só surte efeito se eu usar o shift direito.


Então, pesquisando em diversos forúms a respeito de mapeamento de teclado, eu consegui fazer com que keycodes de ambos fossem trocados, e até mesmo que os keycodes disparados ao pressionar as duas teclas fossem referenciados ao Shift_L, porém, sem sucesso em ambos os casos.

Foi esses os comandos que executei:


Para trocar os shift’s (primeiro método):

  1. verifico os keycodes dos shift’s:

    • xmodmap
  2. removo eles:

    • xmodmap -e 'remove shift = Shift_L'
    • xmodmap -e 'remove shift = Shift_R'
  3. troco os keycodes:

    • xmodmap -e 'keycode 0x3e = Shift_L'
    • xmodmap -e 'keycode 0x32 = Shift_R'
  4. adiciono eles novamente:

    • xmodmap -e 'add shift = Shift_L'
    • xmodmap -e 'add shift = Shift_R'

Para trocar os shift’s (segundo método):

  1. verifico os keycodes dos shift’s:

    • xmodmap -pke | grep -iF shift_
  2. troco os keycodes:

    • xmodmap -e 'keycode 62 = Shift_L NoSymbol Shift_L'
    • xmodmap -e 'keycode 50 = Shift_R NoSymbol Shift_R'

Para setar os dois keycodes com a keysym Shift_R:

  1. verifico os keycodes dos shift’s:

    • xmodmap -pke | grep -iF shift_
  2. defino o keycode:

    • xmodmap -e 'keycode 50 = Shift_R NoSymbol Shift_R

Este tópico foi fechado automaticamente. Novas respostas não são mais permitidas.