Como identificar se o Num lock ou Caps lock está ativado no RHEL 6.6?

4

O meu Thinkpad T430 não tem um indicador visível se um bloqueio num lock / caps estiver ligado / desligado. Existe uma maneira de notificar na tela quando ligado / desligado?

    
por user115806 05.06.2015 / 14:10

3 respostas

6

Você pode tentar obter informações com xset :

xset q | grep Caps

Resultado:

00: Caps Lock:   off    01: Num Lock:    on     02: Scroll Lock: off

Mas se não houver X, você pode tentar kbdinfo :

kbdinfo gkbled

Resultado:

scrolllock:off numlock:on capslock:off

Editar:
Se você quiser alterar os estados com xset , verifique a seguir answer .

Ou você pode mudar de estado usando xdotool :

xdotool key Caps_Lock

Para o notificador na tela, você pode verificar key-mon .

Você também pode tentar seguir o script:

#!/bin/bash
#lockkey.sh

sleep .2

case $1 in
    'num')
        mask=2
        key="Num"
        ;;
    'caps')
        mask=1
        key="Caps"
        ;;
esac

value="$(xset q | grep 'LED mask' | awk '{ print $NF }')"

if [ $(( 0x$value & 0x$mask )) == $mask ]
then
    output="$key Lock is on"
else
    output="$key Lock is off"
fi

notify-send "$output"

Você pode copiar o script em /usr/local/bin e ligar Caps para executá-lo como:

/usr/local/bin/lockkey.sh caps

e / ou Num como:

/usr/local/bin/lockkey.sh num
    
por 05.06.2015 / 15:09
2

O T430 pode não ter LED CapsLock, mas o LED Power pode ser controlado por SW (testado com o kernel Linux 4.2) e, portanto, mal utilizado. Primeiro adicione isto ao seu /etc/rc.local:

echo kbd-capslock >/sys/class/leds/tpacpi::power/trigger
chmod 666 /sys/class/leds/tpacpi::power/brightness

A primeira linha cuida do console de texto e, como efeito colateral, desliga o LED inicialmente. Para lidar com o X11, a segunda linha permite que usuários normais controlem o LED. Então salve este código

#!/bin/sh
sleep 0.1
if xset q | grep -q 'Caps Lock: *on'; then
    echo 255 >/sys/class/leds/tpacpi::power/brightness
else
    echo 0 >/sys/class/leds/tpacpi::power/brightness
fi

como alguns scripts executáveis (por exemplo, /usr/local/bin/capsled.sh) e nas configurações da área de trabalho, vincule a chave CapsLock para executá-la. Feio como o inferno mas funciona (testado com XFCE4). Alguém sabe uma maneira mais limpa de remapear o LED sob o X11?

    
por 29.12.2015 / 16:27
-1
CAPS_STATUS='xset q | grep -i caps | cut -c 22-24'
#test on $CAPS_STATUS if its on or off 
    
por 23.11.2016 / 19:01

Tags