gpt4 book ai didi

Linux shell : poll the keyboard button's state

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:43 25 4
gpt4 key购买 nike

我有一个在后台定期执行的脚本。如果按下 Shift 键,我想阻止它的执行。

想法是轮询键盘的 Shift 按钮状态,如果它被按下——立即终止脚本。

有什么想法吗?允许使用 X 服务器:我想这会有所帮助。

UPD:我目前正在使用这个愚蠢的 hack:

[ $( sh -c 'cat /dev/input/by-id/usb-*kbd & sleep 0.5 ; kill $! 2>/dev/null' | wc -c ) -gt 1 ] && exit 

该脚本只检测当前的键盘事件,但不区分它们。 0.5sec 是 kbd-events 观察周期。不是很好,但仍然有效:)

最佳答案

首先,您可以监视按键上/下事件,但据我所知,没有办法判断按键当前是否被按下。如果你同意,那么......

这意味着监听按键事件的东西必须在另一个线程中运行。 shell 脚本必须在后台生成一个程序,该程序监听按键事件并在按键时向父脚本发送信号。您可以使用 trap通过优雅退出来响应信号。

查看 KeyPress .它可能会给您一个良好的开端。

您也可以 monitor /dev/input/eventN . This perl module可能有帮助。

关于Linux shell : poll the keyboard button's state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2189516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com