次のことを行うアプリケーションを作成する必要があります。
- 指定されたUSBマウスが画面内のポインタを移動することを無効にします(すべてのマウスではなく、指定されたものだけ)。
- マウスポインタの座標を取得します
- マウスポインタのy座標を変更します
試しましたpyusb
が、3つの問題のいずれの例も見つかりませんでした。
何か案は?
私は十分に知りませんがpyusb
、Tkinter (Python で最もよく使用される GUI の 1 つ) で 2 番目の問題に対処できます。コードのサンプルを次に示します (ここにあります)。
# 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 スレッドで説明されているようにウィジェットを使用できます: Set cursor position in a Text widget。
マウスを無効にするには、この投稿を見て、コードを調整してタッチパッドの代わりにマウスを無効にすることができます (ただし、この投稿には興味深いキーがいくつかあります)。