检测到触笔接近时是否会生成任何事件?

检测到触笔接近时是否会生成任何事件?

我尝试配置笔记本电脑的触摸屏+手写笔,以便在检测到手写笔时关闭触摸设备,以便我可以在书写时将手放在屏幕上。我可以编写一个脚本,通过检查 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.

相关内容