RHEL 6.6에서 Num lock 또는 Caps lock이 켜져 있는지 확인하는 방법은 무엇입니까?

RHEL 6.6에서 Num lock 또는 Caps lock이 켜져 있는지 확인하는 방법은 무엇입니까?

Num Lock/Caps Lock이 켜져 있거나 꺼져 있을 때 Thinkpad T430에 눈에 띄는 표시기가 없습니다. 켜거나 끌 때 화면에 알림을 표시할 수 있는 방법이 있습니까?

답변1

다음과 같은 방법으로 정보를 얻을 수 있습니다.설정:

xset q | grep Caps

결과:

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

하지만 X가 없으면 시도해 볼 수 있습니다.기술 자료 정보:

kbdinfo gkbled

결과:

scrolllock:off numlock:on capslock:off

편집:
상태를 변경하려면 xset다음을 확인하세요.답변.

또는 다음을 사용하여 상태를 변경할 수 있습니다.xdo 도구:

xdotool key Caps_Lock

화면 알리미의 경우 확인할 수 있습니다핵심이 불분명하다.

다음 스크립트를 시도해 볼 수도 있습니다.

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

스크립트를 복사 /usr/local/bin하고 바인딩 Caps하여 실행할 수 있습니다.

/usr/local/bin/lockkey.sh caps

및/또는 Num다음과 같습니다:

/usr/local/bin/lockkey.sh num

답변2

T430에는 CapsLock LED가 없을 수도 있지만 전원 LED는 소프트웨어(Linux 커널 4.2에서 테스트)를 통해 제어할 수 있으므로 잘 활용될 수 있습니다. 먼저 이것을 /etc/rc.local에 추가하십시오:

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

첫 번째 줄은 텍스트 콘솔을 담당하며, 부작용으로 처음에는 LED를 끕니다. X11을 처리하기 위해 두 번째 라인에서는 일반 사용자가 LED를 제어할 수 있습니다. 그런 다음 이 코드를 저장하세요.

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

실행 가능한 스크립트(예: /usr/local/bin/capsled.sh)로 실행하고 데스크탑 설정에서 CapsLock 키를 바인딩합니다. 정말 못생겼지만 작동합니다(XFCE4로 테스트). X11에서 LED를 다시 매핑하는 더 깔끔한 방법을 아는 사람이 있습니까?

답변3

CAPS_STATUS=`xset q | grep -i caps | cut -c 22-24`
#test on $CAPS_STATUS if its on or off 

관련 정보