问题标签 [gamepad]

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.

0 投票
2 回答
14543 浏览

usb - 重命名 HID - USB 游戏手柄

我试图找出是否有办法重命名设备,如游戏控制器屏幕中所示。

在此处输入图像描述

它们是廉价的 HID 设备,它们似乎都共享相同的硬件 ID(如果这是相关信息)VID_0E8F&PID_3013

我能够按照本指南在设备管理器中更改他们的名字:http ://www.eightforums.com/customization/15321-tutorial-how-change-device-names-device-manager.html

但是,我终其一生都无法弄清楚如何更改上图中显示的名称。我计划在我的 PC 上添加 8 个游戏控制器,当它们都共享相同的名称时会变得非常混乱。

任何帮助是极大的赞赏。

0 投票
1 回答
437 浏览

objective-c - tvOS - 通过非 Siri 遥控器进行游戏控制

我正在使用 Objective-C 开发游戏。Siri 遥控器通过 GCMicroGamepad 运行良好,真正的 MFi 控制器通过 GCGamepad 运行良好。但是,第三方 IR 遥控器在游戏中根本不起作用(iPhone 上的 Remote App 或较旧的 Apple TV 第 3 代遥控器也不起作用)。

如何识别和区分这些输入?


两天后...我发现当与第三方电视遥控器或 iPhone Remote.app 一起呈现时,UITapGestureRecognizer 可用于正确检测上、下、左、右和选择事件。定向事件实际上也是这些类型的遥控器所独有的——Siri 遥控器不会生成定向轻击事件。然而,不幸的是,点击 Siri 遥控器或第三方或 iPhone Remote.app 上的 Select 按钮将从我的点击识别器生成一个 Select 事件。我需要一些方法来区分这两者。

我能找到的唯一区别因素是,点击 Siri 遥控器也会在 GCMicroGamepad 上生成一个按钮-A 按下——第三方遥控器或 iPhone Remote.app 根本不会影响 GCMicroGamepad。但是尝试观察 GCMicroGamepad 的点击释放事件,然后使用该事件过滤掉匹配的 Select 按钮事件是非常不雅的。当然,不推荐使用 API。这似乎不是一个好的长期解决方案。如果我能告诉 Siri 遥控器在 GCMicroGamepad 模式下停止生成 UI 事件,那就太好了。

0 投票
1 回答
1018 浏览

android - d-pad 和操纵杆具有相同的事件源 ID。想要区分 d-pad 和操纵杆

我试图区分操纵杆和方向键输入。我总是得到相同的事件源(16777232)。不管我是按下方向键还是转动操纵杆。

我正在使用 ipega 游戏控制器

我的问题是:
第一:
当我将左操纵杆向右转动时:
1. dispatchGenericMotionEvent(MotionEvent motionEvent)被触发。
a= 16777232(SOURCE_JOYSTICK)
2.它会转发到dispatchKeyEvent(KeyEvent event)

第二:
当我将右摇杆向右转动时:
1.ispatchGenericMotionEvent(MotionEvent motionEvent)被触发。和
a= 16777232(SOURCE_JOYSTICK)
2. 它确实转发到dispatchKeyEvent(KeyEvent event)

第三:
当我按下左/右/上/下 d-pad 按钮时:
1.ispatchGenericMotionEvent(MotionEvent motionEvent)被触发。
a= 16777232(SOURCE_JOYSTICK)
2.它会转发到dispatchKeyEvent(KeyEvent event)

0 投票
1 回答
2271 浏览

javascript - 游戏手柄支持隆隆声?

我已经通读了MDN Gamepad API 页面W3C Gamepad API 页面,但我没有发现任何关于 Gamepad 的隆隆声功能。我发现一个页面提到了使用 Android 手机在 FireFox 中支持隆隆声,但只有一个评论谈到了游戏手柄支持。该评论有 2 个链接:一个死博客一个 Bugzilla 线程。Bugzilla 线程从未最终说添加了此功能。我确实找到了另一个直接引用游戏手柄隆隆声控制的页面,但它位于帖子的“未来”部分。

我提供的所有这些链接的另一个问题是它们都来自 2010-2013 年,没有更新。

在当前的网络浏览器状态下,游戏手柄是否有隆隆声功能?有没有一家公司直接表示他们正在研究它?

0 投票
2 回答
3769 浏览

c# - C# | SharpDX.X输入 | 如何检测控制器上的按钮是否被按下一次并且没有被按住

最近我尝试创建一个 XBOX 360 控制器驱动程序。我需要检测是否按下或按住按钮。因此,如果您按住它,它也会调用一次特定功能,就像您按下按钮一次一样。这是我的代码(我在另一篇文章中找到了这个解决方案,但它对我不起作用)

使用此代码,您仍然可以按住按钮,它会向点击函数或正在调用的任何内容发送垃圾邮件。

我还尝试使用“按下”布尔值,按下时设置为真,不按下时设置为假。并且它仅在“按下”== false 时调用。

也没有用。

你对这个问题还有其他解决方案吗?

对不起,如果这是一个不好的问题。我阅读了问题的规则和提示,并搜索了重复项,但除了我得到第一个解决方案的那个之外,没有找到任何重复项。

0 投票
0 回答
261 浏览

android - 如何在 Android 模拟器上测试控制器/游戏手柄的实现?

我需要为我的手机游戏实现控制器/游戏手柄支持。我正在尝试让我的游戏在 Android TV 上运行。但是,我注意到,Android TV 的模拟器上没有控制器/游戏手柄模拟。在实际发货之前,我如何对其进行测试并确保一切正常?

0 投票
0 回答
174 浏览

javascript - Xbox One 控制器 UWP 应用

我一直在尝试让 Xbox One 控制器与 UWP 应用程序交互,并研究了 Gamepad 类(基于评论中提到的建议 - Controller support for Xbox one in Windows UWP)。我有两个问题:

1) Gamepad.Gamepads.Count 为我返回 0,即使我在 Xbox 上运行应用程序时打开了我的 Xbox One 控制器。

2) 我不知道,我如何准确评估何时按下 A、B、X 和 Y 按钮,以及访问左右拇指杆的坐标。

关于上述两点的任何指导,对我都非常有帮助。谢谢!

编辑:当我在 MainPage.xaml.cs 的 MainPage 方法中使用 Gamepad.Gamepads.First() 时,我在 System.Linq.dll 中遇到了“System.InvalidOperationException”类型的异常

0 投票
1 回答
1491 浏览

javascript - UWP 应用的 Xbox One 控制器输入

我一直在尝试让 Xbox One 控制器与 UWP 应用程序交互,并研究了 Gamepad 类(基于评论中提到的建议 - Controller support for Xbox one in Windows UWP)。我有两个问题:

1) Gamepad.Gamepads.Count 为我返回 0,即使当我在 Xbox 上运行应用程序时打开我的 Xbox One 控制器也是如此。

2)我不知道,我如何准确地评估何时按下 A、B、X 和 Y 按钮以及访问左右拇指杆的坐标。

关于上述两点的任何指导,对我都非常有帮助。谢谢!

0 投票
2 回答
563 浏览

c# - Xbox One 控制器拇指杆坐标(在 UWP 应用中)

如何在 UWP 应用程序中访问两个 Xbox One 摇杆的坐标?另外,如何检测何时按下 X、Y、A 和 B 按钮?

编辑:当我在 MainPage.xaml.cs 的 MainPage 方法中使用 Gamepad.Gamepads.First() 时,我在 System.Linq.dll 中遇到了“System.InvalidOperationException”类型的异常

0 投票
0 回答
132 浏览

hid - “模拟”HID 游戏手柄

由于我们仍在努力发送和接收蓝牙数据,我们想尝试一种不同的方式,暂时忽略蓝牙。是否可以编写一个软件,Windows 或 Linux 将其识别为硬件游戏手柄进行模拟(因此我们只需稍后将该工具的输入更改为蓝牙输入)?如果可能的话,我需要知道什么才能实现这一目标?谢谢!

(我们使用的是 C/C++)