我希望能够独立检测扳机的拉动,但扳机似乎共享一个轴。
我没有在MSDN文档中看到有关Xbox One控制器的内容,但是对于Xbox 360控制器,DirectInput触发器共享轴,而XInput为每个触发器提供单独的轴。这表明pygame正在使用DirectInput而不是Xinput,但我不知道如何强制pygame改用Xinput。
我该如何强制pygame使用xinput而不是direct input?如果这真的不可行,我愿意使用其他语言。
我正在使用此脚本从控制器读取输入:
import pygame
pygame.init()
screen = pygame.display.set_mode((400,400))
joysticks = []
for i in range(0, pygame.joystick.get_count()):
joysticks.append(pygame.joystick.Joystick(i))
joysticks[-1].init()
while True:
for event in pygame.event.get():
print event
编辑:目前我没有时间把这个完整地写出来,但与此同时,我找到了这段代码,看起来对我有效(适用于Xbox One Spectra控制器):https://github.com/r4dian/Xbox-360-Controller-for-Python