任天堂交换机JoyCon的Python驱动程序

joycon-python的Python项目详细描述


logo

PyPI - Python VersionPyPI - Implementation

任天堂游戏机的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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
检查java中两个链表之间的子集   java仅在findViewById()下显示一个ImageButton   在Java Graphics2D中,文本如何在矩形上居中对齐?   java需要一个用于电子表格计算器的正则表达式   ^java中的运算符   java通过一些属性配置文件根据环境动态更改wsdl端点URL   java Ebean/Play框架关系未更新   集合如何将POJO列表转换为Java流中的映射<String,List>?   java为什么JFrame不显示整个图像?   java如何将调用静态导入的泛型方法的结果传递给另一个方法?   迭代器或foreach中的java延迟   需要java socket logback日志接收器   在Java中初始化Map的静态数组   雅加达邮件Java MimeMail:解码后获得额外字符   java为什么这个xmldom解析器不能正确解析rtept、name和cmt标记?   java如何刷新Log4J2中的异步记录器(带中断器)   java使用构建插件pom生成的jar。xml作为同一pom中的依赖项   java基于位置的序列ADT如何在O(1)时间内插入元素?   java ORM实体与DDD实体   Java对象分配