我想制作一个利用Nintendo wii遥控器进行控制的程序。它通过蓝牙连接到我的电脑。如何让python识别这个控制器并在程序中使用它? 听到python-only解决方案和pygame解决方案会很有趣。
答案 0 :(得分:0)
假设您正在使用Windows,我首先使用Julian Loehr's wiimote gamepad驱动程序将其识别为游戏手柄。然后我使用pygame的操纵杆库来检测它,并使用轴和按钮检查。
此代码可帮助您入门:
import pygame
from time import sleep
pygame.init()
try:
j=pygame.joystick.Joystick(0)
except pygame.error: # This bit doesn't seem to work properly.
print("Joystick not connected.")
j.init()
while 1:
pygame.event.pump()
if round(j.get_axis(0))== -1: #Up key when holding it vertically
#do something
elif round(j.get_axis(0))== 1: #Down key
#something else
elif round(j.get_axis(1))== -1: #Right
#something
elif round(j.get_axis(1))== 1: #Left
#something
if j.get_button(0): # Button 1
#something
elif j.get_button(1): #2
#something
elif j.get_button(2): #A
#something
elif j.get_button(3): #B
#something
elif j.get_button(4): #Plus
#something
elif j.get_button(5): #Minus
#something
elif j.get_button(6): #Home
#something
else:
pass
如果您使用的是linux,那么如果您使用的是python2,可以查看cwiid。如果你使用python 3,你可以使用终端的bluetoothctl进行连接,然后使用evdev来读取密钥和加速度计事件。