Xbox360控制器A pythonic Xbox360 controller API built on top of the xpad Linux kernel driver.
这个python包旨在为您的xbox360和类似的游戏控制器提供一个pythonic和完整的api。
目前它是在Linux内核驱动程序之上构建的,因此您可以在几乎任何Linux发行版上使用它,包括您的Rasperry PI项目等。
支持以下功能:以受gpiozero启发的方式为all按钮、轴、触发器和帽子注册回调
设置LED圆圈;所有xpad提供的选项都是可能的:闪烁、旋转、设置单个LED的开和关,…
隆隆声,左右两侧均可控制在0%到100%之间
安装
您将需要Python3.4或更高版本。
任何Linux发行版:pip3 install -U xbox360controller
您还可以使用virtual environment或通过向上面的命令提供--user标志来执行按用户安装。
全局安装可能需要使用sudo或直接从根shell运行,但不建议使用。
如果找不到pip3命令,请尝试pip或确保正确安装pip:sudo apt install python3-pip
当然,从根shell工作时不需要sudo。
用法
基础知识importsignalfromxbox360controllerimportXbox360Controllerdefon_button_pressed(button):print('Button{0}was pressed'.format(button.name))defon_button_released(button):print('Button{0}was released'.format(button.name))defon_axis_moved(axis):print('Axis{0}moved to{1}{2}'.format(axis.name,axis.x,axis.y))try:withXbox360Controller(0,axis_threshold=0.2)ascontroller:# Button A eventscontroller.button_a.when_pressed=on_button_pressedcontroller.button_a.when_released=on_button_released# Left and right axis move eventcontroller.axis_l.when_moved=on_axis_movedcontroller.axis_r.when_moved=on_axis_movedsignal.pause()exceptKeyboardInterrupt:pass
上述代码将一直运行,直到按下Ctrl+C。每次在左或右轴上移动时,事件将被处理。另外,A按钮的事件正在处理中。
有关Xbox360Controller类以及如何使用所有可用按钮、轴和帽子的详细说明,请参见API reference。
隆隆声importtimefromxbox360controllerimportXbox360ControllerwithXbox360Controller()ascontroller:controller.set_rumble(0.5,0.5,1000)time.sleep(1)
这将使控制器两侧以每50%的强度发出一秒(1000毫秒)的隆隆声。请注意,方法调用是非阻塞的,因此我们需要手动等待1秒,等待隆隆声结束。在使用signal.pause()的常规用例中,您不需要这样做。
发光二极管importtimefromxbox360controllerimportXbox360ControllerwithXbox360Controller()ascontroller:controller.set_led(Xbox360Controller.LED_ROTATE)time.sleep(1)controller.set_led(Xbox360Controller.LED_OFF)
这将使LED圆圈旋转一秒钟,然后将其关闭。
有关所有可用的LED模式,请参见API reference。
调试信息fromxbox360controllerimportXbox360ControllerwithXbox360Controller()ascontroller:controller.info()
开发/贡献
这个项目现在处于一个比较稳定的状态,我非常感谢各种贡献-可能是新的或改进的代码,文档或只是一个简单的排版修复。
只要给我一个公关,我会很高兴包括你的工作!
有关此软件包的功能请求、一般问题或问题,请open an issue。
发布历史记录
请参阅^{}以获取完整的发布历史记录。
作者
许可证
所有的代码和文档都是在麻省理工学院的许可下分发的。有关详细信息,请参见^{}。
欢迎加入QQ群-->: 979659372
推荐PyPI第三方库