she*_*lbc 5 arch-linux keyboard-shortcuts
我最近购买了一个背光键盘,需要滚动锁定来切换灯光。我很快遇到了一些问题,可以通过一些简单的 bash 命令来解决 - 请参阅此线程。
简而言之,我发现解决此问题的命令是:
xset led named "Scroll Lock"
Run Code Online (Sandbox Code Playgroud)
启用 Scroll Lock(并打开灯),并且
xset -led named "Scroll Lock"
Run Code Online (Sandbox Code Playgroud)
禁用 Scroll Lock 并关闭灯。
如果我想在收到 Scroll Lock 键事件且 (Scroll Lock) 功能关闭时发出前一个命令,而在其他情况下发出后者,可以使用哪些选项?那是,
if(ScrollLockIsEnabled)
systemCommand('xset -led named "Scroll Lock");
else
systemCommand('xset led named "Scroll Lock"`);
Run Code Online (Sandbox Code Playgroud)
或者类似的。
我在想,至少,也许做某种 Bash 脚本来保存一个变量(如果可能的话),让我保留 Scroll Lock 的最后状态。然后我可以使用xbindkeys
(根据用户输入的关键事件发出命令)执行此脚本。
小智 3
搜索类似问题后发现了这个。既然已经一年了,我还是回答一下吧。
正如问题中,如果您使用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
Run Code Online (Sandbox Code Playgroud)
Scroll lock: off
当且仅当 Scroll Lock 关闭时,
该字符串才会出现在输出中,因此我们可以使用 grep 来检查该字符串。xset q | grep "Scroll Lock: off"
对于我们的目的来说效果很好。然后,在 shell 脚本中,我们可以检查空字符串以查看它何时打开。
#!/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
Run Code Online (Sandbox Code Playgroud)
然后,如果您愿意,只需在按下滚动锁定时使用窗口管理器或桌面环境配置来执行此脚本。
归档时间: |
|
查看次数: |
7514 次 |
最近记录: |