Pygame Joystick.get_axis() 始终返回零

2023-11-25

我购买了罗技游戏手柄 F310 来远程控制机器人。我在 Linux Mint(版本 18,Sarah)上使用 Pygame(版本 1.9.1,Python 版本 2.7.11+)。

作为检查操纵杆功能的简单测试,我编写了这个简短的脚本,用于输出不同轴的值:

import pygame

pygame.display.init()
pygame.joystick.init()
pygame.joystick.Joystick(0).init()

# Get the name of the joystick and print it
JoyName = pygame.joystick.Joystick(0).get_name()
print "Name of the joystick:"
print JoyName

# Get the number of axes
JoyAx = pygame.joystick.Joystick(0).get_numaxes()
print "Number of axis:"
print JoyAx

# Print the values for the axes
pygame.event.pump()
print pygame.joystick.Joystick(0).get_axis(0)
print pygame.joystick.Joystick(0).get_axis(1)
print pygame.joystick.Joystick(0).get_axis(2)
print pygame.joystick.Joystick(0).get_axis(3)

无论运行脚本时轴位于什么位置,我总是得到以下输出:

Name of the joystick:
Logitech Gamepad F310
Number of axis:
6
SDL_JoystickGetAxis value:0:
0.0
SDL_JoystickGetAxis value:0:
0.0
SDL_JoystickGetAxis value:0:
0.0
SDL_JoystickGetAxis value:0:
0.0

我理解输出“SDL_joystick.Joystick(0).getAxis 值”是因为开发人员在编译源代码时保留了调试标志。但我不明白为什么脚本为所有轴值返回 0,而它们不在 0 位置。

我已经使用 jstest-gtk 包测试了操纵杆。使用这个包,可以顺利运行。我的代码有错误吗?

我在windows下运行了代码,运行顺利。知道为什么它在 Linux 发行版下不起作用吗?


从对问题的编辑中提取。

在最初的代码(上面没有发布)中,我有一个 while 循环,但我犯了一个菜鸟错误,将pygame.event.pump()while 循环之外的行。我现在学习如何使用这个模块的代码非常完美。

import pygame

pygame.display.init()
pygame.joystick.init()
pygame.joystick.Joystick(0).init()

# Prints the joystick's name
JoyName = pygame.joystick.Joystick(0).get_name()
print "Name of the joystick:"
print JoyName
# Gets the number of axes
JoyAx = pygame.joystick.Joystick(0).get_numaxes()
print "Number of axis:"
print JoyAx

# Prints the values for axis0
while True:
        pygame.event.pump()
        print pygame.joystick.Joystick(0).get_axis(0)

我确实需要花一些时间来调整和重新编译joystick.c源代码以摆脱“SDL_joystick.Joystick(0).getAxis 值:0:” 打印输出。显然这个问题已经存在好几年了,但 Ubuntu/Mint 尚未得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pygame Joystick.get_axis() 始终返回零 的相关文章

  • 围绕 readline 构建的 python 批处理的触发器选项卡完成

    背景 我有一个 python 程序 它导入并使用 readline 模块来构建自制的命令行界面 我有第二个 python 程序 围绕 Bottle 一个 Web 微框架构建 充当该 CLI 的前端 第二个 python 程序向第一个程序打开
  • 使用 python 进行串行数据记录

    Intro 我需要编写一个小程序来实时读取串行数据并将其写入文本文件 我在读取数据方面取得了一些进展 但尚未成功地将这些信息存储在新文件中 这是我的代码 from future import print function import se
  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d

随机推荐

  • 如何从另一个控件中绑定到自定义控件按钮可见性

    我有一个自定义控件 其中有一个按钮
  • “您尝试执行不包含指定聚合函数的查询”

    SELECT SUM orders quantity AS num fName surname FROM author INNER JOIN book ON author aID book authorID 我不断收到错误消息 您试图执行一
  • 如何获取应用了我的自定义属性的成员?

    我正在创建一个自定义属性在 C 中 我想根据属性是应用于方法还是应用于属性来执行不同的操作 起初我想做new StackTrace GetFrame 1 GetMethod 在我的自定义属性构造函数中查看什么方法称为属性构造函数 但现在我不
  • 如何将日期转换为 yyyy-MM-dd 格式?

    2012 年 12 月 1 日星期六 00 00 00 GMT 我必须将上面的日期转换为下面的格式 2012 12 01 我怎么能够 我尝试过以下方法 但它不起作用 public Date ConvertDate Date date Dat
  • 使用 javascript 更改

    我有多个音频文件 我想根据用户选择进行流式传输 我怎么做 这是我到目前为止所拥有的 但似乎不起作用 更新 做了一些更改 现在声称audio load 不是一个函数 谁能告诉我这是为什么 本准则已更新以反映这些变化 JavaScript fu
  • Unity IAP 未初始化

    我使用 Unity 购买者脚本 在 Unity 的 IAP 示例中 来测试 IAP 但它们在测试期间不会在手机上初始化 即使它们确实初始化并传递到编辑器中 我知道 Unity 编辑器总是通过 IAP 因此这意味着我没有在 Apple 方面采
  • 从控制器生成 http post 请求

    如果这是一个愚蠢的问题 请原谅我 我对网络编程不太有经验 我正在实现 net mvc 应用程序的支付组件 该组件与外部支付服务交互 支付服务接受以下形式的http post请求 http somepaymentservice com pay
  • 如何在 Struts 2 中使用具有两个条件的

    我迭代项目列表 如果元素的状态等于学生或教师 则需要显示特定的下拉列表 以下代码显示所有字段 但不显示任何元素的下拉列表
  • malloc 未定义

    我目前正在重写链表模块 并且收到一些奇怪的错误 在两个 IDE Netbeans 和 Visual Studio Express 中 我收到一条警告 malloc未定义 并且在 linkedlist c 文件中找到的函数也未定义 下面是我的
  • 如何使用 javascript_include_tag 获取文件夹中的所有脚本

    我想用javascript include tag使用递归获取所有与视图相关的脚本 将其放置在public javascripts views 我想javascript include tag views recursive gt true
  • Java 8矩阵*向量乘法

    我想知道是否有一种更简洁的方法可以在 Java 8 中使用流执行以下操作 public static double multiply double matrix double vector int rows matrix length in
  • 如何在我的 HTTP 请求中使用带有身份验证的代理?

    我有一个代理 IP 地址 还需要用户名和密码 当我尝试使用它们访问网页时 我收到 需要代理身份验证 我发现了 2016 年的另一篇 Stackoverflow 帖子 以及这个已关闭的 Github 问题 但他们没有提供任何有用的东西 代理
  • 使用 ASP NET MVC 4 和 webapi 自定义 http 处理程序和路由处理程序

    我正在开发 ASPNET MVC 4 和 WebApi webapi 方法将由移动设备使用 我们需要保护服务的安全 而我们正在使用的是以某种特定方式加密数据 现在 我需要在到达控制器之前解密该调用 如果解密的信息有效 它应该像平常一样继续发
  • Apache 2.4“..身份验证失败..:密码不匹配”

    我在 Windows Server 2008 R2 中运行 Apache 2 4 我正在尝试用密码保护子目录 并在 Apache 2 0 中成功做到了这一点 升级后 我采纳了 Apache 的建议 并尝试将身份验证配置放入 httpd co
  • 如何防止android对讲说话seekbar进度

    我有一个自定义控件扩展SeekBar 其中我已经覆盖了onInitializeAccessibilityNodeInfo如下 Override public void onInitializeAccessibilityNodeInfo Ac
  • 在C#中用鼠标画线的正确方法是什么

    这是我的绘图代码 用于用鼠标在图表上绘制自定义线条 你能帮我以正确的方式做吗 namespace Grafi public partial class Form1 Form bool isDrawing false Point prevPo
  • 如何确定数组是否包含单独数组中的所有整数

    我在学校的计算机科学课上 我被这个问题困扰了 甚至无法真正想出如何解决它的想法 这里是逐字逐句 编写一个名为的静态方法contains接受两个整数数组 a1 和 a2 作为参数 并返回一个布尔值 指示 a2 的元素序列是否出现在 a1 中
  • DB Plugin 未在 Play 2.0 中注册

    我刚刚开始使用 play 并且修改了执行 SQL 读取的方式 现在收到以下错误 Exception DB plugin is not registered 我这个类的代码是 package models import play api db
  • 从 RichTextBox 复制选定的文本

    我在网上搜索过 但找不到从文件中复制 剪切 粘贴所选文本的方法RichTextBox 就连MSDN也没有给出答案 他们提供的代码不起作用 Copy 似乎仅适用于 TextBox 不适用于 RichTextBox 如果我复制这个方法 Clip
  • Pygame Joystick.get_axis() 始终返回零

    我购买了罗技游戏手柄 F310 来远程控制机器人 我在 Linux Mint 版本 18 Sarah 上使用 Pygame 版本 1 9 1 Python 版本 2 7 11 作为检查操纵杆功能的简单测试 我编写了这个简短的脚本 用于输出不