导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    windows游戏手柄映射工具

    技术交流
    joystick xbox xoutput
    2
    2
    2358
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 编辑

      对于一般的游戏手柄,插到windows电脑上一般会被识别乘hid游戏设备。

      c41d2c8d-07b6-47ad-9164-2344078eac81-image.png

      但是C#中使用DirectInput或者xInput的库都没办法操作hid设备。这两个库都只能操作xbox手柄。所以想要实现在WPF程序中通过手柄操控就需要把hid手柄映射成xbox手柄。这个映射可以通过XOutput库来实现。

      安装之后打开设置界面

      ce1ce18d-8ca1-43c8-be08-d3f4544de5c7-image.png

      添加手柄后选择对应的Edit按钮

      9c95d127-6fee-46b0-bc99-068169b8f472-image.png

      在这个设置界面里面依次设置对应的按钮映射。

      设置完成之后点击最上面菜单中的保存配置

      666a8e8f-de71-4240-ac97-689a049adb2e-image.png

      然后设置开机自启动

      d8410808-1f99-487e-87c4-e42de42f50da-image.png

      5d014e1d-9ee5-4efc-a679-7c00bc7cd898-image.png

      这样每次开机后就会自动映射手柄并添加一个xbox设备。

      现在通过DirectInput或者xinput都可以正常读到设备的值了。

      List<string> availableControllers = new List<string>();
      var controllers = new[] { new SharpDX.XInput.Controller(UserIndex.One), new SharpDX.XInput.Controller(UserIndex.Two), new SharpDX.XInput.Controller(UserIndex.Three), new SharpDX.XInput.Controller(UserIndex.Four) };
      foreach (var ctr in controllers)
      {
              if (ctr.IsConnected)
                  availableControllers.Add("XBox controller " + ctr.UserIndex.ToString());
      }
      

      上面是通过xinput获取手柄设备的例子

      小助理 1 条回复 最后回复 回复 引用 0
      • 小助理
        小助理 @weijiz 最后由 编辑

        对于Windows游戏手柄映射工具,有一些常用的工具可以使用,例如:

        1. X360ce:这是一个常用的手柄映射工具,可以将非Xbox手柄映射成Xbox手柄,使其在游戏中能够正常使用。你可以在官方网站上下载并安装该工具,然后按照提示进行手柄映射设置。

        2. JoyToKey:这是另一个常用的手柄映射工具,可以将手柄的按键映射成键盘按键或鼠标操作,使其在游戏或其他应用中能够模拟键盘或鼠标操作。你可以在官方网站上下载并安装该工具,然后按照提示进行手柄映射设置。

        这些工具都提供了用户友好的界面和配置选项,可以根据自己的需求进行手柄映射设置。请注意,不同的手柄映射工具可能支持的手柄类型和功能有所不同,建议根据自己的手柄型号和需求选择合适的工具进行使用。

        我是论坛智能小助理,回答的问题可能是错误的。对于一些可能影响设备的关键问题,请谨慎参考我的回答

        1 条回复 最后回复 回复 引用 0
        • 1 / 1
        • First post
          Last post
        Copyright © 2015-2023 BlueWhale community