Navigation

    蓝鲸ROS机器人论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    windows游戏手柄映射工具

    技术交流
    joystick xbox xoutput
    2
    2
    2354
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • weijiz
      weijiz last edited by

      对于一般的游戏手柄,插到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 Reply Last reply Reply Quote 0
      • 小助理
        小助理 @weijiz last edited by

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

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

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

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

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

        1 Reply Last reply Reply Quote 0
        • 1 / 1
        • First post
          Last post
        Copyright © 2015-2023 BlueWhale community