问题标签 [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.
usb - 如何检测使用 USB HID API 推送的游戏手柄触发器?
当按下游戏手柄按钮并检索游戏手柄状态时,我使用 RawInput + Windows USB HID API 接收 WM_INPUT 消息。
有一个问题:两个触发器在同一轴上工作,这意味着您无法确定是否同时按下了两个触发器。启动 OS Windows 游戏手柄测试应用程序时,我观察到相同的行为。但我需要区分这两个按下的按钮。
请注意,XInput 可以按需要工作,它为两个触发器提供了两个轴,但我不想使用 XInput,因为它仅适用于 XBox 控制器,而且世界上有许多非 Xbox 控制器。
我想一定有一种方法可以通过 USB HID API 读取两个轴,但直到现在我都找不到它。你解决了这个问题吗?
游戏手柄:使用 Xbox 360(但应支持任何其他)。
操作系统:Windows 7。
IDE:Visual Studio 2010。
语言:C++
gtk - Gnome 双击触摸屏
我无法在 Surface Pro 3(Fedora;内核 4.28;Gnome 3.18,Gtk3)上双击工作。在 Gtk+ 中,两次快速连续点击不会转换为2button
事件。请参阅下面的小型 Python 程序,它适用于普通鼠标或触摸板。
我已经检查了敲击时间和敲击距离不是问题,正如您在程序中看到的那样。这个问题可能出自哪里?GDK_TOUCH_MASK
?
为了澄清,按钮事件被接收,但从未转换为2button
事件
c++ - Linux 中 XInput* 函数的等价物是什么?
我正在将使用 Xbox 控制器的应用程序移植到 Linux。在 Windows 上,它基本上只是用于XInputGetState()
读取控制器的状态,所以我正在寻找 Linux 上该功能的替代品。
我看到wine还没有实现XInputGetState()
,但是同时有大量的游戏支持Linux上的Xbox手柄,所以是可行的。
有谁知道可以使用哪个库与 Linux 上的 Xbox 控制器进行交互?
ubuntu - 用于禁用设备的 systemd 服务无法启动
我为我的笔记本联想 x230 平板电脑编写了禁用手指触摸的脚本。我想在启动时运行它,所以我使用 systemd 服务在启动时触发这个脚本,但是我什至无法手动启动这个脚本。有什么帮助吗?
脚本
这是此服务的状态命令的输出
c++ - 使用 g++ 编译 C++ XInput
我得到了 __in & __out 的没有在这个范围错误中声明。
我使用下面的语法 g++ Joypad.cpp -IC:\DirectSDK\Include -LC:\DirectSDK\Lib\x86 -lXinput -o Joypad
我也试过 g++ Joypad.cpp -IC:\Windows SDK~um,shared, etc -LC:\Windows SDK\Lib -lXInput -o Joypad
有什么我错过的吗?我使用 mingw x86_64
包括的目录:Windows Kits 8.1 (um,shared,winrt) Microsoft DirectX SDK
包括的库:XInput.lib - C:\Progra~2\Micros~4\Lib\x86
touch - 两个 xscreens uinput 多点触控设备,第二个 x 屏幕上的坐标错误
首先嗨,这是我在stackoverflow中的第一个问题:)
硬件设置是 2 个 nvidia gtx980 GPU,每个 GPU 连接到 3 个显示器。拼接墙布置为一排 6 台显示器。我们正在使用专有的 nvidia 驱动程序。xserver 版本是 1.15.1 (7.7)。
我们创建了一个 uinput 多点触控 ABS (MT) 设备,该设备连接到与核心指针不同的主设备。ABS_X 和 ABS_MT_POSITION_X 的最大值和最小值根据两个 xscreen 的大小 (0, 11520 - 1) 设置。这是使用 xinput list [device id] 检查的。
由于我们使用了两个 GPU,我们无法创建一个大的 xscreen,但我们安排了 2 个 xscreen(每个 GPU 一个),每个 xscreen 上对齐了三个显示器。
问题出在第二个 xscreen (xscreen1) 上。当我们发出 x 坐标高于 5760(第一个 xscreen 的大小)的触摸事件时,xserver 会在远处的 x 坐标上报告点(可能在第二个 xscreen 的末尾或更远)。我们已经从 xscreen0 开始检查了这一点并移至第二个。y 坐标得到正确报告(因为两个 xscreen 都是 y 对齐的)。
虚拟多点触控设备的校准矩阵是单位矩阵。如果将 uinput 设备创建为 ABS 单点设备(我猜像 wacom 数位板),则 x 坐标将正确报告。
我认为问题可能出在 evdev 或 xserver 内部(因为我已经阅读了在服务器内部而不是在 evdev 中校准的新版本)。如果是这种情况,任何关于这可能发生在哪里的提示都会很棒。如果不是这种情况,任何帮助都将受到高度赞赏。
c# - C# | SharpDX.X输入 | 如何检测控制器上的按钮是否被按下一次并且没有被按住
最近我尝试创建一个 XBOX 360 控制器驱动程序。我需要检测是否按下或按住按钮。因此,如果您按住它,它也会调用一次特定功能,就像您按下按钮一次一样。这是我的代码(我在另一篇文章中找到了这个解决方案,但它对我不起作用)
使用此代码,您仍然可以按住按钮,它会向点击函数或正在调用的任何内容发送垃圾邮件。
我还尝试使用“按下”布尔值,按下时设置为真,不按下时设置为假。并且它仅在“按下”== false 时调用。
也没有用。
你对这个问题还有其他解决方案吗?
对不起,如果这是一个不好的问题。我阅读了问题的规则和提示,并搜索了重复项,但除了我得到第一个解决方案的那个之外,没有找到任何重复项。
linux - 为什么 XInput 不能在 X-treminal 中工作?
我尝试通过 app xinput显示键盘事件。我在三个工作站上尝试。起初两个工作站(在本地 X 会话中)都很好:
获取设备列表:
设备事件:
但!我从 X-terminal x2go连接到三个工作站(从 Windows 7 连接)。而在这个工作站 xinpunt 并没有实现它的功能。Xinput 找不到设备并显示段错误:
问题 1:如果从 X-terminal 连接到 X-server 稳定,xinput原理不起作用?还是标准 X11 应用程序中的错误?
问题 2:如果从 X 终端(x2go)连接,如何替代获取全局键盘事件(按下和释放键)?
环境:
来自连接:Windows 7 Pro,来自站点 x2go.org 的官方 X2GO 客户端。
要连接:Debian 7.8、LXDE、来自站点 x2go.org 的官方服务器 X2GO。
c++ - xInput 中的键盘和鼠标设备支持
XInput 库功能是否支持处理来自连接的键盘和鼠标的事件?
我知道它支持处理来自 xInput 兼容控制器的事件,但不清楚是否还包括键盘和鼠标输入处理。我在 MSDN XInput 页面上没有看到任何关于支持它的信息,所以我不这么认为,但我想确定一下。因此,如果我想为使用 XInput 兼容控制器或鼠标和键盘的用户启用对软件的控制,我是否需要在使用 XInput 处理控制器输入的同时使用 Windows 消息系统分别处理鼠标和键盘事件?
感谢您的任何反馈!