2

次のことを行うアプリケーションを作成する必要があります。

  • 指定されたUSBマウスが画面内のポインタを移動することを無効にします(すべてのマウスではなく、指定されたものだけ)。
  • マウスポインタの座標を取得します
  • マウスポインタのy座標を変更します

試しましたpyusbが、3つの問題のいずれの例も見つかりませんでした。
何か案は?

4

1 に答える 1

1

私は十分に知りませんが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

マウスを無効にするには、この投稿を見て、コードを調整してタッチパッドの代わりにマウスを無効にすることができます (ただし、この投稿には興味深いキーがいくつかあります)。

于 2011-09-22T12:59:10.787 に答える