使用python uvdev设置绝对光标位置

亚历山大·瓦西里耶夫

我正在尝试在python中模拟图形输入板,因此,我需要能够设置光标的绝对位置。我已经尝试了python-evdevpython-libevdev,但是我无法设置绝对位置。将EV_ABS ABS_X和ABS_Y的拧紧值根本不会对光标位置产生任何影响。值得一提的是,模拟按钮和相对定位效果完美。

我在x11上使用Manjaro 4.19和Gnome。

我将不胜感激,在此先感谢您。

这是简单的代码,必须能够设置绝对光标位置,但实际上不能。

from evdev import UInput, AbsInfo, ecodes as e
import pyautogui
import subprocess
import time

cap = {
    e.EV_KEY : [e.BTN_TOUCH],
    e.EV_ABS : [
        (e.ABS_X, AbsInfo(0, 0, 4080, 0, 0, 5080)),         
        (e.ABS_Y, AbsInfo(0, 0, 4080, 0, 0, 5080)),
        (e.ABS_PRESSURE, AbsInfo(0, 0, 2040, 0, 0, 0))
    ]
}

ui = UInput(cap, name='example-device', version=0x3)

for i in range(0,10):
    # assign driver to the default display
    time.sleep(0.5)
    process = subprocess.Popen(["xinput", "list"], shell=True, stdout=subprocess.PIPE)
    output = process.stdout.read().decode("utf-8")
    print(output)
    if "example-device" in output:
        print(output)
        subprocess.Popen([
            "xinput",
            "map-to-output",
            f"pointer:example-device",
            "eDP1"
        ])
        break
else:
    raise Exception("Can't map device to display.")

# print cursor position befor cahnge
print(pyautogui.position())

# move mouse cursor
ui.write(e.EV_ABS, e.ABS_X, 20)
ui.write(e.EV_ABS, e.ABS_Y, 20)
ui.syn()
# print cursor position after cahnge
print(pyautogui.position())
亚历山大·瓦西里耶夫

好。我认为要解决此问题,您需要将BTN_TOOL_PEN添加到EV_KEY。至少这对我有用。如果您有兴趣,可以在我的github上看到整个项目

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用contenteditable div获取并设置光标位置

来自分类Dev

使用xrandr设置屏幕的绝对位置?

来自分类Dev

如何使用命令/脚本设置光标位置?

来自分类Dev

使用绝对位置为子级单击时,光标位于文本框的中间而不是左侧

来自分类Dev

如何使用C#在按钮单击事件上的textBox中设置光标位置?

来自分类Dev

CSS-使用绝对位置将子级宽度设置为大于父级宽度

来自分类Dev

使用绝对位置的TD的位置子代

来自分类Dev

设置UITextField的光标位置

来自分类Dev

设置UITextField的光标位置

来自分类Dev

如何使用水平滚动设置在容器内具有绝对位置的父元素的 li 元素定位

来自分类Dev

使用输入类型编号获取光标位置

来自分类Dev

使用输入类型编号获取光标位置

来自分类Dev

使用VBA的图表的绝对位置

来自分类Dev

使用Bootstrap绝对定位中心图像位置

来自分类Dev

如何使用jQuery删除绝对位置?

来自分类Dev

图片标题,不使用“位置:相对/绝对”

来自分类Dev

使用CSS旋转HTML绝对位置

来自分类Dev

使用Bootstrap绝对定位中心图像位置

来自分类Dev

如果我使用位置绝对元素重叠

来自分类Dev

在中心设置edittext的光标位置...!

来自分类Dev

如何设置菜单光标位置?

来自分类Dev

在行首设置光标位置

来自分类Dev

设置edittext在中心的光标位置...!

来自分类Dev

使用jQuery在输入文本内设置光标

来自分类Dev

如何使用bazel / webpack设置绝对导入?

来自分类Dev

如何使用绝对位置作为相对位置?

来自分类Dev

使用绝对位置而不是相对位置的优势?

来自分类Dev

使用flexbox在div内居中div并使用绝对位置

来自分类Dev

使用python获取当前位置

Related 相关文章

热门标签

归档