최근에 조명을 전환하기 위해 스크롤 잠금이 필요한 백라이트 키보드를 구입했습니다. 몇 가지 간단한 bash 명령으로 해결된 몇 가지 문제가 발생했습니다.이것철사.
간단히 말해서, 이 문제를 해결하기 위해 찾은 명령은 다음과 같습니다.
xset led named "Scroll Lock"
Scroll Lock이 활성화되고(표시등이 켜짐)
xset -led named "Scroll Lock"
Scroll Lock을 비활성화하고 조명을 끄십시오.
Scroll Lock 키 이벤트가 수신되고 (Scroll Lock) 기능이 꺼져 있을 때 전자 명령을 실행하고 그렇지 않으면 후자 명령을 실행하려는 경우 어떤 옵션을 사용할 수 있습니까? 그건,
if(ScrollLockIsEnabled)
systemCommand('xset -led named "Scroll Lock");
else
systemCommand('xset led named "Scroll Lock"`);
아니면 그런 것.
나는 적어도 Scroll Lock의 마지막 상태를 유지할 수 있는 변수를 저장하기 위해 일종의 Bash 스크립트를 수행할 수 있다고 생각했습니다. 그런 다음 xbindkeys
(사용자가 입력한 주요 이벤트에 따라 명령 실행)을 사용하여 이 스크립트를 실행할 수 있습니다 .
답변1
비슷한 질문을 검색하다가 발견했습니다. 1년이 지났으니 대답을 하는게 나을 것 같습니다.
질문과 같이 사용하면 xset led named "Scroll Lock"
LED 조명이 활성화되고 xset -led named "Scroll Lock"
키보드 LED 조명이 비활성화됩니다. 체크하면 현재 상태정보를 출력한다는 xset --help
내용이 나옵니다 .xset q
다음은 터미널의 표준 출력의 잘린 예입니다.
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000002
XKB indicators:
00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
Scroll lock: off
이 문자열은 Scroll Lock이 꺼진 경우에만 출력에 나타나므로 grep을 사용하여 이 문자열을 확인할 수 있습니다. xset q | grep "Scroll Lock: off"
우리의 목적에 맞게 잘 작동합니다. 그런 다음 쉘 스크립트에서 빈 문자열을 확인하여 언제 켜져 있는지 확인할 수 있습니다.
#!/bin/sh
result=$(xset q | grep "Scroll Lock: off")
if [ -z "$result" ]; then # Scroll Lock must be on
echo "Off"
xset -led named "Scroll Lock"
else
echo "On"
xset led named "Scroll Lock"
fi
그런 다음 원하는 경우 창 관리자 또는 데스크탑 환경 구성을 사용하여 스크롤 잠금을 누를 때 이 스크립트를 실행하면 됩니다.
답변2
bash를 사용하면 이 작업을 수행할 수 있습니다. 저는 스크롤 잠금 백라이트 키보드에서 사용합니다. 루트로 실행해야 함
#!/usr/bin/env bash
if [[ $EUID -ne 0 ]]; then
echo "this program requires root user" 2>&1
exit 1
fi
dir1=$(find /sys/devices/ -name brightness | grep scrolllock)
while :
do
var1=`cat $dir1`
if [ $var1 == 0 ] ; then
echo 1 > $dir1
fi
sleep 5
done
나는 이것을 루트 crontab에서 사용합니다
@reboot sh ~/sh/backlight.sh &
답변3
이것은 오래된 질문이지만 다음은 한 줄 명령입니다.
xset q | grep -q 'Scroll Lock: off' && xset led named 'Scroll Lock' || xset -led named 'Scroll Lock'
xbindkeys 또는 sxhkd(최신)와 함께 사용
이 키보드가 더 이상 흔하지 않다는 것을 알기 때문에 이것이 오늘 누군가에게 도움이 되기를 바랍니다.