首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SDL2操作系统中,如何将Joy-Con的操纵杆从“hat”模式切换到“模拟”模式?

在SDL2操作系统中,如何将Joy-Con的操纵杆从“hat”模式切换到“模拟”模式?
EN

Stack Overflow用户
提问于 2019-04-05 23:48:10
回答 1查看 397关注 0票数 0

OSX上的SDL2将任天堂Joy-Con的模拟操纵杆读作一顶帽子,只给出一个方向,而不是模拟值。如何切换此控制器上的模式以获得模拟输入?

我使用的是SDL版本2.0.9。

EN

回答 1

Stack Overflow用户

发布于 2019-04-06 09:18:29

在SDL2.0.9中,JoyCon似乎没有特殊的支持。开箱即用的JoyCon只被当作一个操纵杆,没有向它发送特殊配置命令的应用编程接口,但是支持JoyCon的基础设施出现在源代码中;SDL确实对Switch Pro控制器提供了特殊支持。

提到JoyCon的文件是Game Controller应用编程接口的一部分。该API旨在支持类似于Xbox360的控制器。单个JoyCon没有足够的输入来适应这一类别,这可能就是为什么它只在操纵杆下默认可用,而不是GameController应用编程接口。

SDL的controllertype.h说:

代码语言:javascript
复制
// We currently don't support using a pair of Switch Joy-Con's as a single
// controller and we don't want to support using them individually for the
// time being, so these should be disabled until one of the above is true
// { MAKE_CONTROLLER_ID( 0x057e, 0x2006 ), k_eControllerType_SwitchJoyConLeft },    // Nintendo Switch Joy-Con (Left)
// { MAKE_CONTROLLER_ID( 0x057e, 0x2007 ), k_eControllerType_SwitchJoyConRight },   // Nintendo Switch Joy-Con (Right)

但是,在https://github.com/spurious/SDL-mirror/blob/master/src/joystick/hidapi/SDL_hidapi_switch.c中支持Switch Pro控制器;它似乎能够支持使用HID的所有交换机控制器功能,即使它们并非全部公开给SDL。这可能会通过取消注释几行代码来命令JoyCon。

也可以添加一个控制器映射来使用单个joycon作为SDL游戏控制器,这可以使模拟操纵杆“帽子”看起来像数字操纵杆。

(想必在任天堂交换机上运行的SDL2的保密端口对JoyCons有完美的支持)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55539166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档