Como faço para ativar o Shift Lock? (Tecla de mudança pegajosa)

3

Eu quero mapear uma das minhas chaves a tecla de bloqueio de turno. No meu entender, a tecla de trava de deslocamento é uma espécie de tecla de mudança “pegajosa”: ela permanece pressionada, mudando todas as teclas do layout até ser pressionada novamente.

É semelhante à tecla Caps Lock , exceto pelo fato de afetar todas as teclas, incluindo as da linha numérica.

Estou tentando usar setxkbmap -option ... para lidar com isso.

Encontrei estas regras promissoras em /usr/local/share/X11/xkb/rules/base.lst :

  caps:internal        Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
  caps:internal_nocancel Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock
  caps:shift           Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
  caps:shift_nocancel  Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock
  caps:capslock        Caps Lock toggles normal capitalization of alphabetic characters
  caps:shiftlock       Caps Lock toggles ShiftLock (affects all keys)
  shift:breaks_caps    Shift cancels Caps Lock
  shift:both_capslock  Both Shift keys together toggle Caps Lock
  shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
  shift:both_shiftlock Both Shift keys together toggle ShiftLock

Então,

setxkbmap -option shift:both_shiftlock

E eu tento pressionar Shift (e liberá-lo) e digitar outros caracteres. Sem efeito. Todos os caracteres em minúsculas. Se eu segurar Shift e digitar outras teclas, ele age como você normalmente espera.

Eu tentei caps:shift , shift:both_shiftlock e caps:shiftlock , mas nenhum deles tem qualquer efeito, tanto quanto eu posso dizer. O que há de errado?

    
por oals 22.08.2015 / 20:38

1 resposta

1

Eu encontrei uma maneira de transformar o Caps Lock em Shift Lock, graças a uma resposta de super usuário :

xmodmap -e "keycode 66 = Shift_Lock"

A seguir, minha tecla esquerda Ctrl é pressionada no bloqueio de deslocamento:

xmodmap -e "keycode 37 = Shift_Lock"

Para fazer o bloqueio da tecla esquerda Shift , use

xmodmap -e "keycode 50 = Shift_Lock"

Tecla direita Shift , use

xmodmap -e "keycode 62 = Shift_Lock"

Quando o Shift Lock está ativo, os LEDs Caps Lock e Scroll Lock do seu teclado devem estar acesos.

    
por 22.08.2015 / 21:54