nefarius/ViGEmBus

GitHub: nefarius/ViGEmBus

Stars: 4078 | Forks: 389

# ViGEm 总线驱动程序 Windows 内核模式驱动程序,用于模拟知名 USB 游戏控制器。 [![构建状态](https://ci.appveyor.com/api/projects/status/rv74ufluwib52dq2?svg=true)](https://ci.appveyor.com/project/nefarius/vigembus) [![GitHub 所有发布](https://img.shields.io/github/downloads/ViGEm/ViGEmBus/total)](https://somsubhra.github.io/github-release-stats/?username=nefarius&repository=ViGEmBus) [![Discord](https://img.shields.io/discord/346756263763378176.svg)](https://discord.nefarius.at) [![网站](https://img.shields.io/website-up-down-green-red/https/vigem.org.svg?label=docs.nefarius.at)](https://docs.nefarius.at/) [![GitHub 关注者](https://img.shields.io/github/followers/nefarius.svg?style=social&label=Follow)](https://github.com/nefarius) [![Mastodon 关注](https://img.shields.io/mastodon/follow/109321120351128938?domain=https%3A%2F%2Ffosstodon.org%2F&style=social)](https://fosstodon.org/@Nefarius) ## 🧟 本项目已停用 🧟 建议使用本软件的读者 [阅读停用声明](https://docs.nefarius.at/projects/ViGEm/End-of-Life/)。永别了,干杯 🖖 ## 关于 `ViGEmBus` 驱动和 `ViGEmClient` 库是虚拟游戏手柄模拟框架(简称为 `ViGEm`)的核心。`ViGEm` 旨在以纯软件方式实现 100% 准确地模拟知名游戏外设作为基于内核的设备。它模拟“真实设备”,因此游戏和其他进程无需任何额外修改即可检测 `ViGEm` 设备(无需 Proxy-DLLs 或 API 挂钩),开箱即用。虽然(现已废弃的)[Scarlett.Crush Productions 虚拟总线驱动]() 是此项目的精神之父,但 `ViGEm` 是从零开始设计并使用 Microsoft 的 [内核模式驱动程序框架](https://en.wikipedia.org/wiki/Kernel-Mode_Driver_Framework) 编写的。 ### 模拟设备 支持以下 USB 游戏手柄的模拟: - [微软 Xbox 360 控制器](https://en.wikipedia.org/wiki/Xbox_360_controller) - [索尼 DualShock 4 控制器](https://en.wikipedia.org/wiki/DualShock#DualShock_4) ## 使用场景 `ViGEm` 的一些常见使用场景包括: - 您有一个不支持的设备,希望在游戏内使用而无需修改游戏本身。 - 您希望在使用 [PS4 远程播放]() 时自由使用选择的控制器。 - 您遇到与 [x360ce]()(4.x 版本之前)不兼容的游戏。 - 您希望扩展输入设备的覆盖范围(例如通过网络将流量发送到另一台机器)。 - 您希望测试/对游戏进行基准测试,并需要用户输入的回放机制。 - 您希望在 `XInput` 中解决玩家槽位分配顺序问题。 ## 支持的系统 🛑 **Windows Server** 可能可以工作,但 **不受支持** 🛑 关于在服务器操作系统上运行的错误报告/支持请求将被忽略。 ### 版本 1.16 及以下 该驱动程序适用于 Windows 7/8.1/10(x86 和 amd64)。 ### 版本 1.17 及以上 该驱动程序仅适用于 Windows 10/11(x86、amd64 和 ARM64)。 ## 许可证 ViGEm 总线驱动程序根据 **BSD-3-Clause** 许可,请参阅 [LICENSE](./LICENSE.md) 获取更多信息。 ## 如何构建 ### 先决条件 - [步骤 1:安装 Visual Studio 2019](https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads#step-1-install-visual-studio) - [步骤 2:安装适用于 Windows 10 版本 2004 的 WDK](https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads#step-2-install-the-wdk) - [步骤 3:将驱动模块框架 (DMF) 克隆到同一父目录中。](https://github.com/microsoft/DMF) - 使用所有架构(x64 和 Win32)的 Release 和 Debug 配置构建 `DmfK` 项目。 您可以直接在 Visual Studio 中构建。 请注意,您需要 **签名** 驱动程序才能在无 [测试模式](https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option#enable-or-disable-use-of-test-signed-code) 的情况下使用。 ### 错误与功能 发现错误并希望修复?请在 [GitHub 问题跟踪器](../../issues) 上打开详细问题! 有关于新功能的建议?让我们在 [Discord](https://discord.nefarius.at) 上讨论您的请求! ### 问题与支持 请尊重 GitHub 问题跟踪器并非帮助台。我们提供 [一系列支持资源](https://docs.nefarius.at/Community-Support/),欢迎您查阅! ## 安装 为 Windows 10/11 提供预构建的生产签名二进制文件 **由 `Nefarius Software Solutions e.U.` 通过 [一站式安装程序](../../releases/latest) 提供**。 ## ViGEm 的已知用户 列出已知使用 ViGEm 功能的项目/公司/供应商。 此列表不完整,如果您希望将项目加入列表,请联系我们! - [3dRudder](https://www.3drudder.com/) - [Parsec](https://parsec.app/) - [GloSC](https://github.com/Alia5/GloSC) - [UCR](https://github.com/Snoothy/UCR) - [InputMapper](https://inputmapper.com/) - [Oculus VR, LLC.](https://www.oculus.com/) - [WiimoteHook](https://forum.cemu.info/showthread.php/140-WiimoteHook-Nintendo-Wii-Remote-with-Motion-Rumble-and-Nunchuk-support) - [XJoy](https://github.com/sam0x17/XJoy) - [HP](https://www8.hp.com/us/en/gaming/omen.html) - [DS4Windows](https://ryochan7.github.io/ds4windows-site/) - [XOutput](https://github.com/csutorasa/XOutput) - [RdpGamepad](https://github.com/microsoft/RdpGamepad) - [Touchmote](https://github.com/Ryochan7/Touchmote/tree/ryochan7) - [Mi-ViGEm](https://github.com/grayver/mi-vigem) - [BetterJoy](https://github.com/Davidobot/BetterJoy) - [Regame](https://github.com/ksyun-kenc/liuguang) - [NetInput](https://github.com/usertoroot/NetInput) - [NetJoy](https://github.com/Qcent/NetJoy/)
标签:Bro, bus driver, gamepad emulation, kernel-mode, KMDF, Nefarius, retired, USB模拟, ViGEm, virtual hardware, Windows驱动, 内核模式, 内核驱动, 游戏手柄, 游戏控制器, 网络协议, 网络安全监控, 虚拟外设, 虚拟总线, 虚拟游戏棒, 设备仿真, 驱动开发