0
我想制作一个使用任天堂Wii遥控器进行控制的程序。它通过蓝牙连接到我的电脑。我怎样才能让python识别这个控制器并在程序中使用它? 听到只有python的解决方案和pygame的解决方案会很有趣。用python3连接wii remote
我想制作一个使用任天堂Wii遥控器进行控制的程序。它通过蓝牙连接到我的电脑。我怎样才能让python识别这个控制器并在程序中使用它? 听到只有python的解决方案和pygame的解决方案会很有趣。用python3连接wii remote
假设你正在使用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读取密钥和加速计事件。
你有什么尝试?如果你还没有尝试任何东西,那么我会建议从[pybluez]开始(https://github.com/karulis/pybluez)。 –
没有任何外部模块吗? –
是的,有一种方法,但我相信它远远超出了单个计算器问题的范围。 [pybluetooth](https://github.com/pebble/pybluetooth)声称拥有蓝牙的纯Python实现,所以如果这真的是你有兴趣编写的东西,你可以查看源代码。否则坚持一个外部库。 pybluez可能是这里最好的选择。 –