我尝试配置笔记本电脑的触摸屏+手写笔,以便在检测到手写笔时关闭触摸设备,以便我可以在书写时将手放在屏幕上。我可以编写一个脚本,通过检查 xinput 输出中的“邻近度”来执行此操作,但该脚本必须每秒检查几次才能获得良好的响应时间。
我想知道手写笔接近是否会生成一个可以以某种方式捕获的事件,以避免一直观看 xinput 输出...我在 acpi_listen 中没有看到任何内容。有什么提示吗?
谢谢,斯特凡诺
答案1
以下对我有用:
STYLUS_ID=11 # replace with ID or name of your stylus
TOUCH_ID=9 # replace with ID or name of your touch screen
xinput test -proximity "$STYLUS_ID" |
while read line; do
if [[ $line == *out* ]]; then
xinput enable "$TOUCH_ID"
else
xinput disable "$TOUCH_ID"
fi
done
它不是轮询手写笔的状态,而是依赖于test
的选项,该选项进入显示设备事件的xinput
无限循环。proximity
来自xinput
的手册页:
test [-proximity] device
Register all extended events from device and enter an endless loop
displaying events received. If the -proximity is given, ProximityIn
and ProximityOut are registered.