问题标签 [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 投票
1 回答
3106 浏览

objective-c - 如何在 Mac OSX 上模拟游戏手柄

我想创建一个程序,可以模拟连接到计算机的游戏手柄并按下按钮/使用该虚拟游戏手柄上的操纵杆来控制 OS X 上的其他游戏。但是,我找不到任何关于如何模拟游戏手柄/游戏手柄的地方按钮按下。

0 投票
1 回答
1330 浏览

c - Linux 上的 SDL 是否支持多个游戏手柄/操纵杆?

我有一个便宜的 PS3 控制器和一个 NEO-GEO X 控制器。它们都在例如检测到。Fedora 20 和 Lubuntu 14.04。他们出现在 lsusb

设备出现在下方/dev/input。在它们上运行 udevadm 表明 GreenAsia 设备使用pantherlord驱动程序,而另一个设备使用hid-generic

如果我运行以下测试代码,SDL 只会报告 GreenAsia 设备。如果我拔下它,则检测到另一个设备。这是 SDL 的已知限制还是其他问题?

0 投票
1 回答
2095 浏览

android - 如何禁用 Android 游戏手柄默认控件?

我正在尝试制作一个由游戏手柄控制的应用程序。我已经让它工作得很好,但是 Android 有一些默认控件,当插入游戏手柄时它用于导航,例如 B 按钮带你返回一个菜单。我希望能够使用 Android 默认设置的按钮。有没有办法禁用默认的 Android 控件?我找不到有关默认 Android 游戏手柄控件的任何信息,更不用说如何禁用它们了。

0 投票
1 回答
3624 浏览

c# - Unity 5 看不到我的 PS4 控制器

我已经看到人们使用 XBOX、PS3 和 PS4 控制器已经有一段时间了,但直到现在还没有理由去搞乱它们。今天我购买了 PS4 Dual Shock 4 无线控制器。我在装有最新 OS X 版本的 MacBook Pro 上运行 Unity 5。OS X 和我安装的其他几个应用程序可以“看到”并使用控制器,但 Unity 没有注册它的存在。

我试过在开始统一之前和开始统一之后打开控制器。我已经尝试将我的测试项目构建为一个独立的应用程序。我已经尝试了资产商店中的各种免费输入管理器,但我仍然没有任何乐趣。我还通过蓝牙和 USB 电缆使用控制器完成了上述操作。在所有情况下,OS X 和我的其他应用程序都看到了控制器,但 unity 没有。

我错过了什么吗?我预计 XBOX 控制器会出现问题,但似乎我一直在阅读的其他所有人都对 PS3 和 PS4 控制器没有问题。我究竟做错了什么?有什么建议么?

更新:我已经确认这与 Unity 5 有关。我有一台装有 Unity 4.6 的 Mac Mini,一切正常。然后我安装了 Unity 5,控制器不再可见。

更新:具有 Unity 支持的 Dan W 在另一个线程上做出了回应。为了让每个人都在同一个地方,我将重定向到它。

只是为了获得更多信息,xbox 控制器也是如此。

http://answers.unity3d.com/questions/952048/how-to-get-unity-to-see-my-ps4-controller.html

0 投票
1 回答
3973 浏览

arduino - 如何将 Xinput 添加到游戏手柄 arduino 项目?

我已经通过 Arduino IDE 的串行连接成功地运行了在我的板上工作的按钮和模拟棒。如何让这些数据与 Xinput 一起使用?

我有自己的仿真软件,可以在 Xinput 中运行。我只需要获得游戏手柄设备 xinput 支持。与驱动程序一起使用的必要步骤是什么,以及如何在尽可能少的时间运行它而不必过多地编辑其他人的驱动程序?

0 投票
1 回答
439 浏览

macos - 游戏手柄热插拔不起作用

在 OS X 中,我的游戏手柄SDL_PollEvent()在应用程序启动时被正确识别。但是,当我尝试热插拔新游戏手柄或移除旧游戏手柄时,SDL_PollEvent()不会触发SDL_CONTROLLERDEVICEADDEDSDL_CONTROLLERDEVICEREMOVED. 当我热插拔游戏控制器时,相同的代码在 Windows 中可以正常工作。

更有趣的一点是,如果我调整应用程序窗口的大小,热插拔就会起作用。在调整大小事件之后,所有的热插拔事件都会被触发。几乎似乎游戏手柄事件被放入某种等待队列中,当调整大小事件发生时该队列被清除。我的SDL_PollEvent()代码非常标准,如下所示。

有没有其他人经历过这个?

0 投票
2 回答
21315 浏览

android - 如何重新映射蓝牙游戏手柄上的按键

我有一个蓝牙游戏手柄,想与我的 nexus 7 (2013) 一起使用。除了一个障碍之外,它开箱即用。右摇杆按钮映射到后面。

因此,玩像 GTA 这样广泛使用右摇杆的游戏真的很困难。

我尝试使用 Play 商店中的多语言键盘映射重新定义器,但它需要您按下要重新映射的键,但是当我这样做时,它会退出菜单

我寻找与 mkr 相关的资源,但即使在列出的创作者网站上也找不到任何东西。

所以我采取了暴跌并扎根了我的平板电脑。

我想使用 tincore key remapper,但发现 wiki 上缺乏帮助和支持。

发现 keylayout 和 keychars 是与游戏板上的物理按键相关的文件映射到的文件夹(keylayout)以及这些输入也映射了哪些操作。

我安装了系统 rw 并复制了 generic.kl 文件(我发现它是通过查看 logcat 使用的那个)并希望用它来修改我的游戏手柄的行为我似乎无法找到如何关联我的将游戏手柄作为菜单中提供的唯一选项的新布局仍然是默认设置

0 投票
1 回答
655 浏览

javascript - 我可以将游戏手柄与 Node-Webkit (NW.js) 一起使用吗?

我正在构建一个 NW.js (Node-Webkit) 仪表板应用程序,我希望能够使用游戏控制器(例如:XBox 360 控制器或 Logitech 控制器)进行控制。

我正在调用以下内容,但是当我调试它时,它无法识别任何游戏手柄。

当我调试代码时,它似乎没有检测到任何游戏手柄。我也尝试:

但它也没有显示任何被检测到的游戏手柄。

有没有人成功地将游戏手柄与 NW.js 应用程序一起使用?

我将非常感谢一些帮助使其工作。

0 投票
0 回答
284 浏览

visual-c++ - 将鼠标输入翻译成游戏手柄

我正在尝试通过转换鼠标输入来模拟游戏手柄拇指杆,但我在使其平滑时遇到了很多麻烦,我所能得到的只是短暂的锯齿状运动。有谁知道我如何在不产生明显滞后的情况下解决这个问题?我尝试从 PCSX2 lilypad 插件中复制一些值,但没有取得多大成功。

此代码获取当前鼠标位置,从最后一个鼠标位置减去它并计算应施加到拇指杆上的力。力被施加到拇指杆的最大值和最小值,分别为 32767 和 -32767。

我认为这段代码可能存在一些问题 - 如果我不断处理它而不暂停,有时它会认为鼠标没有移动并将其重置为 0 重置所有移动,显然是在睡觉,所以它有更多时间来读取鼠标移动导致滞后,这在这里不是一个真正的选择。我需要的是一种在不重置运动或增加输入滞后的情况下计算要施加的平滑力的方法。

谢谢。

0 投票
1 回答
1518 浏览

macos - IOKit:未收到来自与蓝牙连接的 DualShock 4 控制器的 HID 中断报告

介绍

我正在努力获得对PlayStation 4 ControllerIOKit. 控制器通过 连接Bluetooth。我可以打开与控制器的连接并开始接收报告,但是,一旦我向它发送报告,它就会突然停止。

为了完全控制 PS4 控制器(隆隆声、触控板、LED),我一直在参考eleccelerator.com DualShock 4 页面,其中包含有关可以/在 PS4 和 DS4 之间发送的报告的信息。

代码

首先,我创建一个IOHIDManager负责检测控制器的。

然后在接到对 的调用后ControllerConnected,我创建了一个操纵杆类的实例,它初始化了IOHIDDeviceRef.

现在我确实接到了电话ControllerReport,但是我收到的报告是0x01类型的,它们包含的内容有限(没有触控板或加速度计数据),但我想接收包含所有数据的0x11类型的数据包从控制器。

为了切换控制器发送的数据包,网站声明This report is sent once the GET REPORT FEATURE 0x02 is received. 所以我发送了该请求:

此时,ControllerReport停止调用来自控制器的新报告。

我知道我能够向控制器发送数据,因为我能够发送一个改变 LED 颜色或设置隆隆声速度的数据包。

问题

如何从 PS4 控制器获取更长的 0x11 报告?

我试过的

我试过使用IOHIDDeviceGetReportWithCallbackand IOHIDDeviceGetReport,但我总是kIOReturnUnsupported回来。

我还在控制器的 linux 驱动程序的源代码中找到了对这个问题的一些参考... it starts sending input reports in report 17. Since report 17 is undefined ...,但我不知道如何告诉 IOKit 处理报告 17 (0x11)。