用操縱桿視窗控制滑鼠

用操縱桿視窗控制滑鼠

我嘗試用​​固定的兩軸來控制滑鼠的絕對位置搖桿。我希望它在 Windows 7 上運行。

  • 滑鼠
  • Xpadder
  • 歡樂鼠
  • 歡樂2滑鼠

到目前為止,joy 2 滑鼠最適合我,因為我可以透過操縱桿的絕對位置控制 x 軸和 y 軸,但我遇到了 2 個問題

  1. 即使我沒有移動操縱桿,滑鼠有時也會卡頓
  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事件循環。

相關內容