
我嘗試用固定的兩軸來控制滑鼠的絕對位置搖桿。我希望它在 Windows 7 上運行。
- 滑鼠
- Xpadder
- 歡樂鼠
- 歡樂2滑鼠
到目前為止,joy 2 滑鼠最適合我,因為我可以透過操縱桿的絕對位置控制 x 軸和 y 軸,但我遇到了 2 個問題
- 即使我沒有移動操縱桿,滑鼠有時也會卡頓
- 我只能設定“向上 y 軸”和“向下 y 軸”,以便操縱桿的根位置周圍有一個小角度,不應用滑鼠移動。
對我來說它也可以工作,如果有人知道一種可靠的方法來獲取這個操縱桿的確切位置(在win7上),那麼我可以自己設定滑鼠位置。
搖桿不精準是軟體造成的。我的 Mac 上相同的硬體工作正常。
答案1
python
我自己找到了一個解決方案,透過使用,pygame
和處理操縱桿事件和滑鼠位置win32api
import pygame, sys,os
import win32api, win32con
from win32api import GetSystemMetrics
from pygame.locals import *
width = GetSystemMetrics (0)
height = GetSystemMetrics (1)
pygame.init()
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick = joystick.init()
while 1:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit(0)
else:
if event.type == 7:
if event.axis==0:
a = (event.value + 1)/2
x,y = win32api.GetCursorPos()
win32api.SetCursorPos((x,int(a*height)))
elif event.axis==2:
a = (event.value + 1)/2
x, y = win32api.GetCursorPos()
win32api.SetCursorPos((int(a*width),y))
這可能不是適合所有人的解決方案,因為它需要編譯並且需要包含所有依賴項。但透過這種方式,可以非常精確地控制所有滑鼠事件。這是一個很小的程式碼片段,而且非常簡單。它基於簡單的pygame
事件循環。