Я пытаюсь написать сенсорные события. Я использую камеру для отслеживания рук, поэтому мне нужно два указателя, и мне нужно их отобразить.
Это то, что я пробовал, но ничего не делает:
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 работать, но ответы на это тоже приветствуются.