任天堂交换机JoyCon的Python驱动程序
joycon-python的Python项目详细描述
任天堂游戏机的Python驱动程序
我们指的是dekuNukem/Nintendo_Switch_Reverse_Engineering
安装
pip install joycon-python hidapi pyglm
使用
快速状态检查
^{pr2}$或用作模块
frompyjoyconimportJoyCon,get_R_idjoycon_id=get_R_id()joycon=JoyCon(*joycon_id)joycon.get_status()
状态值
{'battery':{'charging':0,'level':2},'buttons':{'right':{'y':0,'x':0,'b':0,'a':0,'sr':0,'sl':0,'r':0,'zr':0},'shared':{'minus':0,'plus':0,'r-stick':0,'l-stick':0,'home':0,'capture':0,'charging-grip':0},'left':{'down':0,'up':0,'right':0,'left':0,'sr':0,'sl':0,'l':0,'zl':0}},'analog-sticks':{'left':{'horizontal':0,'vertical':0},'right':{'horizontal':2170,'vertical':1644}},'accel':{'x':879,'y':1272,'z':549},'gyro':{'x':-354,'y':-7,'z':281}}
您需要cython-hidapi
才能在Python中使用Bluetooth/HID连接。在
或者,如果cython-hidapi
找不到您的操作手柄,您可以使用hid
。在
陀螺仪
我们有专门为你跟踪陀螺仪的课程 以简化的方式公开此跟踪状态:
frompyjoyconimportGyroTrackingJoyCon,get_R_idimporttimejoycon_id=get_R_id()joycon=GyroTrackingJoyCon(*joycon_id)foriinrange(20):print("joycon pointer: ",joycon.pointer)print("joycon rotation: ",joycon.rotation)print("joycon direction:",joycon.direction)print()time.sleep(0.05)
按钮事件
我们有一个专门的类来跟踪JoyCon按钮的状态
将更改作为事件提供。下面是一个如何与pygame
一起使用的示例:
frompyjoyconimportButtonEventJoyCon,get_R_idimportpygamejoycon_id=get_R_id()joycon=ButtonEventJoyCon(*joycon_id)...while1:pygame.time.wait(int(1000/60))...forevent_type,statusinjoycon.events():print(event_type,status)...pygame.display.flip()
组合多个JoyCon helper类
importpyjoyconclassMyJoyCon(pyjoycon.GyroTrackingJoyCon,pyjoycon.ButtonEventJoyCon,):pass
环境
- 马科斯莫哈韦(10.14.6)
- Python(3.7.4)
- hidapi(0.7.99.post21)
- 项目
标签: