使用pyusb控制鼠标

发布于 2024-12-06 02:55:23 字数 195 浏览 1 评论 0原文

我必须制作一个应用程序,执行以下操作:

  • 禁用给定的 USB 鼠标在屏幕上移动指针(只是给定的鼠标,而不是所有鼠标)。
  • 获取鼠标指针的坐标
  • 更改鼠标指针的 y 坐标

我已经尝试过 pyusb,但我从未找到任何解决这 3 个问题的示例。
有什么想法吗?

I have to make a application, that do the followings:

  • disable that the given usb mouse move the pointer in the screen (just the given, not all mouses).
  • get the coordinates of the mouse pointer
  • change the y coordinate of the mouse pointer

I've tried out pyusb, but i've never found any examples for any of the 3 problems.
Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-12-13 02:55:24

我对 pyusb 的了解还不够,但您可以使用 Tkinter(Python 最常用的 GUI 之一)来处理第二个问题。这是代码示例(在此处找到)

# show mouse position as mouse is moved and create a hot spot

import Tkinter as tk

root = tk.Tk()

def showxy(event):
    xm = event.x
    ym = event.y
    str1 = "mouse at x=%d  y=%d" % (xm, ym)
    root.title(str1)
    # switch color to red if mouse enters a set location range
    x = 100
    y = 100
    delta = 10  # range
    if abs(xm - x) < delta and abs(ym - y) < delta:
        frame.config(bg='red')
    else:
        frame.config(bg='yellow')


frame = tk.Frame(root, bg= 'yellow', width=300, height=200)
frame.bind("<Motion>", showxy)
frame.pack()

root.mainloop()

:似乎您无法仅使用 Tkinter 更改光标位置(请参阅此 线程 一些解决方法)。但是,如果您尝试在文本中设置位置,则可以使用此 SO 线程中描述的小部件: 在文本小部件中设置光标位置

要禁用鼠标,您可以查看 这篇文章 并调整代码以禁用鼠标而不是触摸板(但这篇文章首先提供了一些有趣的按键)。

I don't know enough pyusb but you can deal with the second issue with Tkinter (one of the most used GUI with Python). Here is a sample of code (found here):

# show mouse position as mouse is moved and create a hot spot

import Tkinter as tk

root = tk.Tk()

def showxy(event):
    xm = event.x
    ym = event.y
    str1 = "mouse at x=%d  y=%d" % (xm, ym)
    root.title(str1)
    # switch color to red if mouse enters a set location range
    x = 100
    y = 100
    delta = 10  # range
    if abs(xm - x) < delta and abs(ym - y) < delta:
        frame.config(bg='red')
    else:
        frame.config(bg='yellow')


frame = tk.Frame(root, bg= 'yellow', width=300, height=200)
frame.bind("<Motion>", showxy)
frame.pack()

root.mainloop()

Yet, it seems like you cannot change the cursor position with Tkinter only (see this thread for some workarounds). But if you are trying to set position within a text, you can use a widget as described in this SO thread: Set cursor position in a Text widget.

To disable mouse, you could have a look at this post and adapt the code to disable mouse instead of touchpad (but the post gives some interesting keys to begin with).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文