问题标签 [gamecontroller]

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 回答
6181 浏览

python - python如何使用opencv waitkey库检测组合键?

我有一个机器学习项目,它正在为 linux 中的速度梦想游戏设计自主驱动程序。在这种情况下,我必须找到一种方法让键盘输出像这样实际的一维数组。

我将此代码用作截屏和处理的起始代码:

我知道使用功能可以捕获键码cv2.waitkey()。所以我可以想出一种方法来捕捉是否按下了向上 - 向下 - 向左或向右。但是有什么方法可以让我用 cv2.waitkey 捕捉像up-left, up-right, ... 这样的组合键。

在循环中捕捉按键cv2.waitkey对我来说非常重要,因为它在准确度方面对我的神经网络的性能有很大的改进。

0 投票
3 回答
2999 浏览

ios - 是否可以使用 Xcode 使游戏控制器振动?

到目前为止,我一直在使用 Apple 的 GameController 框架,但无法让控制器振动。我正在寻找类似于 Unity 的东西Handheld.Vibrate(),但最后几个小时的研究让我相信没有简单的 API。

是否有可能使用 Xcode 使与 macOS/iOS 配对的游戏控制器振动?(可能通过直接向控制器发送信号)

0 投票
0 回答
168 浏览

objective-c - 替代 HID API 来实现 MacOS 应用程序的游戏控制器?

我正在开发一款针对 Mac 和 iOS 的游戏,最近实现了游戏控制器支持。我为 PS4/XBox 控制器使用Game Controller (GC) 框架,为其他(Steelseries Nimbus 和非主流品牌)使用IOKit中包含的HID API,仅仅是因为他们的控制器似乎无法与 GC 框架一起使用。

提交审核后,该游戏被拒绝,理由是“该应用引用了非公共符号”,其中列出了游戏中使用的所有与 HID API 相关的功能,包括官方文档中认为对实现至关重要的功能,如:

https://developer.apple.com/documentation/iokit/1438383-iohidmanagercreate?language=objc https://developer.apple.com/documentation/iokit/1438369-iohidmanageropen?language=objc https://developer.apple。 com/documentation/iokit/1438399-iohidmanagerregisterdevicematchi?language=objc

我已就此联系 Apple 开发人员支持,但我收到的所有内容都是自动回复电子邮件,声明他们只能提供行政级别的支持,并建议我将此问题引导至论坛和社区,因此,我在这里。

如果您碰巧对此有替代解决方案或有任何类似问题的经验,请考虑留下答案或评论。

谢谢,

P/S:如果您有列出开发人员可以使用的公共 API 的来源,也请发表评论。我一直遵循“如果有文档,那么我可以使用”的想法,但在这次事件之后,情况似乎并非如此。

0 投票
1 回答
48 浏览

swift - 如何创建基于 GCController 的“虚拟摇杆”?

我正在构建一个框架来简化 GameController 框架在游戏项目中的重用。当我不得不考虑单元测试时,我意识到我无法模拟操纵杆事件,有什么想法可以帮助我吗?

0 投票
0 回答
102 浏览

c# - 您如何解析来自人机接口设备/HID 的信息?

我什至可能对与 HID 交互的了解还不够,无法提出一个好问题,但这是我迄今为止最好的镜头。我正在使用 C#,目前在 Windows 上。

我一直在研究如何与 PlayStation 4 或 PlayStation 5 控制器等游戏控制器进行交互。我希望能够确定何时按下按钮、按下触发器的距离以及用户可以执行的任何其他输入。我想知道如何做的另一部分是向控制器提供输入。这可能类似于告诉控制器发出隆隆声,或者它可以告诉 PlayStation 5 控制器调整其触发器的张力,这是该控制器的一个新功能。

我已经走得够远了,我认为我可以找到设备,连接到它,然后开始接收来自控制器的数据报告。我也看到了将数据写入控制器的方法,但我还没有尝试过。

我遇到的主要障碍是我不知道如何解析我返回的数据。我得到了 63 个字节的数据,但不知道它应该是什么意思。同样,我不知道向控制器发送数据时使用什么格式。

我知道我可以监视这 63 个字节,以查看按下控制器上的按钮时发生的变化,但我想知道是否有一种好方法可以让我无需反复试验就可以获取这些信息。我也不知道我可以做些什么来弄清楚如何自己向控制器提供数据。

有没有办法从设备本身获取这些信息,或者这些信息是否需要由控制器制造商提供?

0 投票
1 回答
217 浏览

android - 如何使用 Dpad/Game Controller 选择并单击 Android ViewPager2 的子视图

我正在我当前的 Android 项目中调查蓝牙 Dpad 和游戏控制器。

我可以成功选择并单击我的应用程序中的所有 UI 宽度。

但是我有一个ViewPager2包含多个片段的,我无法选择或单击任何片段小部件。

MyViewPager2在 XML 中定义如下:-

在我的主要活动中,我配置ViewPager2如下: -

我的适配器是:-

DashboardClockFragment布局 XML 类似于:-

我无法使用 Dpad 控制器在布局中选择 TextClock 或 TextView。

在触摸模式下,我可以单击子视图,一切都按需要进行。

在配置布局以响应 Dpad 和/或游戏控制器时,我错过了什么?

0 投票
0 回答
21 浏览

ios - iOS libSDL 2.012 是否需要蓝牙确认?

我刚刚将我的游戏应用程序的 SDL 更新为 2.012,似乎我的游戏现在需要在开始时请求许可,因为 SDL 会寻找蓝牙游戏控制器?有没有办法绕过这个确认?

0 投票
0 回答
58 浏览

sdl-2 - DualShock4 控制器触摸板在 lubuntu 20.04 上的 SDL 中不提供按钮事件,但在 lubuntu 16.04 上提供

我在两个不同版本的 lubuntu 上运行 SDL 2.0.10。20.04 和 16.04。我试图弄清楚为什么在 16.04 上“单击”双电击 4 的触摸板会生成 SDL 操纵杆按钮事件,但在 20.04 上却没有。我在两个操作系统上运行相同版本的 SDL。我猜我需要解决一个较低级别的驱动程序或配置问题。在 16 上,触摸板未被检测为鼠标,但它在 20.04 上,实际上我必须禁用它,我不希望在 20.04 的目标上使用该功能。

最初我使用 USBHidStatus 报告来检测点击,但我无法弄清楚如何检测完全点击而不是手指刷过触摸板本身。

最后,即使在 lubuntu 20.04 上,我只需要一种方法来检测用户将触摸板向下推到足以点击的程度。有什么帮助吗?

0 投票
0 回答
27 浏览

visual-studio - 在 Visual Studio IDE 中映射操纵杆按钮

这不是关于使用操纵杆输入进行编程的问题,而是关于 IDE 本身的问题。我想知道是否有任何方法(扩展、一些晦涩的菜单、hackery)将游戏控制器输入映射为 Visual Studio 中的键盘快捷键(最好是 2019 社区)

在我的工作站上,我周围可能有一些不健康的游戏控制器集合,我一直在想,如果我能让它们在我工作时在 Visual Studio 中做事,那将是非常棒的......就像按下按钮启动调试器,启动重构等等。可能性是无止境!

所以我想我会问是否有人尝试过这样的事情。

提前感谢您的任何想法。

干杯

0 投票
1 回答
114 浏览

swiftui - 如何不让 Home 按钮在 SwiftUI 中退出您的 tvOS 应用程序

在 UIKit 中,我们可以使用 GCEventViewController 通过设置 controllerUserInteractionEnabled = false 来拦截游戏控制器将 Home 按钮按下传播到响应者(并让他们退出我们的应用程序)

SwiftUI 应用不使用 ViewControllers,所以除了复活一个将整个应用嵌入其中外,我们不能使用上述解决方案来避免玩家误按错误按钮而漏掉游戏/应用(我们不能使用按钮 B)

有谁知道这个难题的解决方案?Apple 是否已经实施了一种新方法来拦截高级事件,以便我们可以在内部处理它们?

谢谢!