用pyusb控制鼠标

2 投票
1 回答
1589 浏览
提问于 2025-04-17 02:50

我需要制作一个应用程序,完成以下几个功能:

  • 禁用指定的USB鼠标在屏幕上移动光标(只针对这个特定的鼠标,不是所有鼠标)。
  • 获取鼠标光标的坐标。
  • 改变鼠标光标的y坐标。

我尝试过使用pyusb,但是从来没有找到关于这三个问题的任何例子。
有没有什么想法?

1 个回答

1

我对 pyusb 了解不多,不过你可以用 Tkinter 来解决第二个问题(Tkinter 是 Python 中最常用的图形界面库之一)。这里有一段示例代码(可以在 这里找到):

# 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 是无法改变光标位置的(你可以查看这个 讨论帖,里面有一些解决方法)。但是如果你想在文本中设置光标位置,可以使用一个小部件,具体可以参考这个 StackOverflow 讨论: 在 Text 小部件中设置光标位置

如果你想禁用鼠标,可以看看 这篇文章,并把代码调整一下,以禁用鼠标而不是触控板(不过这篇文章提供了一些有趣的键位作为起点)。

撰写回答