gpt4 book ai didi

python - 无法使用 python-uinput 将触摸事件写入 uinput

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

我正在尝试编写触摸事件。我正在使用相机跟踪手部,因此我需要两个指针并且需要显示它们。

这是我尝试过的方法,但它什么也没做:

import uinput
import time

device = uinput.Device([
uinput.BTN_TOUCH,
uinput.BTN_TOOL_PEN,
# uinput.INPUT_PROP_POINTER, # This property doesn't exist... what is the alternative?
uinput.ABS_X,
uinput.ABS_Y,
])
time.sleep(1)

device.emit(uinput.ABS_X, 5)
device.emit(uinput.ABS_Y, 5)

device.emit(uinput.BTN_TOUCH, 1)

for i in range(20):
time.sleep(0.01)
device.emit(uinput.ABS_Y, 5 * i)

device.emit(uinput.BTN_TOUCH, 0)

但是,使用鼠标可以:

import uinput
import time

device = uinput.Device([
uinput.BTN_LEFT,
uinput.BTN_RIGHT,
uinput.REL_X,
uinput.REL_Y,
])
time.sleep(1)

for i in range(20):
time.sleep(0.01)
device.emit(uinput.REL_Y, 5)

但我需要绝对而不是相对定位。

是否可以从终端查看事件以进行调试?

我希望能够有 2 个指针、绝对定位、触摸/单击、悬停 (BTN_TOOL_PEN),我的意图是允许拖动/滚动。任何关于我应该使用什么事件的指导和一个简单的工作示例都会很棒!

我无法让 evdev 工作,但也欢迎回答。

最佳答案

我假设您正在某处的服务器中使用这些设备事件? X11?删除 uinput.BTN_TOOL_PEN 并定义每个赋值器的范围:

    uinput.BTN_TOUCH,
uinput.ABS_X + (0, 2**24-1, 0, 0),
uinput.ABS_Y + (0, 2**24-1, 0, 0),
uinput.ABS_PRESSURE + (0, 255, 0, 0),

如果您仍然遇到问题,请留意您的 Xorg 日志文件。

关于python - 无法使用 python-uinput 将触摸事件写入 uinput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49500388/

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