我正在尝试编写触摸事件。我正在使用相机来跟踪手,所以我需要两个指针并且我需要显示它们。
这是我尝试过的,但它什么也没做:
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 工作,但也欢迎回答。