问题标签 [xinput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
directx - 拔下控制器时 XInputGetKeyStroke 返回 ERROR_SUCCESS
当未插入指定的控制器时,XInputGetKeyStroke 似乎返回 ERROR_SUCCESS,而提供的 XINPUT_KEYSTROKE 结构未初始化:
我做错了什么还是这是 XInput 中的错误?xinput1_3.dll 是我正在使用的版本。我正在编译/链接 DirectX 2010 SDK 中的头文件/库。当控制器插入时,XInputGetKeyStrokes 似乎按预期运行。
c++ - 从不同线程调用的 XInputGetState 和 XInputSetState
我有一个捕获控制器输入的线程。这是该线程唯一要做的事情——它XInputGetState()
每 x 毫秒调用一次,并将结果存储在同步的循环缓冲区中。XInputSetState()
我有另一个线程通过在达到特定条件时振动控制器来对此输入做出反应。
换句话说,一个线程只调用过XInputGetState()
,而另一个线程只调用过XInputSetState()
。从理论上讲,不可能同时多次调用任一函数。在没有同步的情况下这样做仍然不安全吗?
注意:这两个函数适用于完全不同的数据集,但实现很可能读取/写入不同步的内容。
c# - 将 xinput 坐标转换为正方形
我正在开发一个使用 xinput 读取 xbox 360 拇指棒的小型 c# 程序。
我在读取坐标和标准化值方面没有问题,所以对于 X 和 Y 方向,我得到了一个介于 -1 和 +1 之间的浮点数。我遇到的问题是棍子本身在物理上仅限于一个圆圈,在我的情况下,我想“拉伸”坐标,使其更像是一个正方形而不是一个圆圈。
原因是每个方向都在控制一个电机,如果我移动操纵杆,例如右上角,我希望 X 和 Y 都变为 1。由于操纵杆是圆形的,这是不可能的,这也使得不可能同时制造两个马达全速运行。
有什么建议吗?
gamepad - Psychopy IO 游戏手柄
我在 Windows 的独立 PsychoPy 1.80.07 中使用 Builder。我试图弄清楚如何创建一个代码组件来接收来自罗技 F310 游戏手柄的响应。理想情况下,我只想使用触发器。我运行实验时没有收到任何错误代码(这是 Stroop 键盘 IO 演示,其中 IO 键盘代码组件代码替换为以下代码)。它似乎运行良好,但它只是显示第一次试验并等待主题响应,因为它认为它没有听到游戏手柄。另外,我可以运行 XInput Gamepad Coder Demo,一切正常。我是编码新手,所以任何帮助指出我犯了错误的地方都将不胜感激!
这是我的代码组件中的内容:
c - C/C++:在 Linux 中禁用鼠标 (X11 - xinput)
我想使用 C/C++ 以编程方式在 Linux 中启用和禁用鼠标。X11 的输入扩展允许您使用终端命令执行此操作:
这非常有效,但我希望直接使用库来做到这一点。我在 libxi(X11 输入扩展库)上找不到任何合适的文档,并且 /usr/include/X11 中的头文件也没有提供任何有用的功能。谁能帮我这个?
winapi - 注入DX游戏并使游戏空闲
我有一个要注入 DX 游戏的 DLL。在 DLL 中,我禁用 XInput、原始输入以及 WndProc 的子类以过滤一堆输入消息,如 WM_MOUSEMOVE、WM_LBUTTONDOWN、WM_INPUT 等。使用 XInputEnable(FALSE) 禁用 XInput 并使用 RIDEV_REMOVE 标志注册原始设备。
虽然它适用于某些游戏,但并不适用于所有游戏。某些游戏仍然有鼠标移动/悬停输入,当我移动时我可以看到某些 UI 的悬停状态。
我的问题是我错过了什么?游戏是否可以通过其他方式捕获输入?
谢谢你。
x11 - xinput 触摸屏校准不一致
我们有带有触摸屏的设备,我们使用 xinput_calibrator 进行校准,然后在应用程序的启动脚本中应用这些设置,如下所示
这很好用——有时。在其他时候,在电源循环之后,校准将不会生效 - 特别是轴被交换,并且缩放似乎关闭,尽管这很难说。再循环几次,它会再次工作,然后就不行了。
我们是 X11 的新手,不确定为什么会这样。就好像我们的 xinput 语句有时会被处理而有时会被忽略,尽管除了重新启动之外什么都没有改变。
任何关于如何解决这个问题的想法都值得赞赏。
c++ - 在 XInput 事件期间要侦听的事件
Windows 事件循环通常如下所示:
我想使用 XInput 检查是否按下了方向键按钮,如果是,则在屏幕上绘制一些东西。但是我要听哪个事件?我什至应该听一个事件。一旦我处理了按钮按下,我如何告诉程序画一些东西?
linux - Dynamic change of mouse sensivity in Counter-Strike GO on linux
I tried to implement mouse sensivity toggling by some button in Counter-Strike GO on linux so that sensitivity will change when the button is pressed and sensivity will return to the normal when the button is released.
I tried to do that with xinput utility and "Device Accel Constant Deceleration" property. It is worked in CS:GO menu, but has no affect in the game. I haven't found anything about other ways to change mouse sensivity from command line and haven't found anything about usbhid mouse driver configuration from command line.
Actually, I am planning to try to modify linux mouse driver. But before I started to modify the driver I decided to ask does anybody know how to change mouse sensivity from the from command line so that it will affect the mouse sensivity in CS:GO.
linux - 将 XInput2 设备映射到 sysfs 节点
如何将 XInput2 设备(例如由 报告的XIQueryDevice
)转换为适当的sysfs
节点?该设备是通用 HID 设备,由evdev
输入驱动程序处理。
我知道我可以得到name
设备的。我也许可以查看Xorg.0.log
并尝试找到添加此设备时的适当日志消息,希望它提到与该/dev/input/event*
设备关联的设备节点。或者我可以查看 中的所有输入事件sysfs
,查找具有该名称的事件,并希望该名称是唯一的并且与通过 XInput 报告的名称相同。但我希望有比这两种方法更清洁的解决方案。