619

GitHub - ViGEm/ViGEmBus: Windows kernel-mode driver emulating well-known USB gam...

 4 years ago
source link: https://github.com/ViGEm/ViGEmBus
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

README.md

ViGEm Bus Driver

Windows kernel-mode driver emulating well-known USB game controllers.

Build status Discord Website PayPal Donate Support on Patreon GitHub followers Twitter Follow

About

Disclaimer: this project is for software developers. To make it do something useful you'll also need a feeder application.

The ViGEmBus driver and ViGEmClient libraries represent the core of the Virtual Gamepad Emulation Framework (or ViGEm , for short). ViGEm aims for a 100% accurate emulation of well-known gaming peripherals as pure software-based devices at kernel level. As it mimics "the real thing" games and other processes require no additional modification whatsoever to detect ViGEm-based devices (no Proxy-DLLs or API-Hooking) and simply work out of the box. While the (now obsolete) Scarlett.Crush Productions Virtual Bus Driver is the spiritual father of this project, ViGEm has been designed and written from the ground up utilizing Microsoft's Kernel-Mode Driver Framework.

Emulated devices

Currently supports emulation of the following USB Gamepads:

Use cases

A few examples of the most common use cases for ViGEm are:

  • You have an unsupported input device you'd like to use within games without modifying said game.
  • You want the freedom to use a different controller of your choice in PS4 Remote Play.
  • You encountered a game not compatible with x360ce (prior to version 4.x).
  • You want to extend the reach of your input device (like send traffic to a different machine over a network).
  • You want to test/benchmark your game and need a replay mechanism for your user inputs.
  • You want to work around player slot assignment order issues in XInput.

Supported Systems

The driver is built for Windows 7/8.1/10 (x86 and amd64).

How to build

Prerequisites

You can either build directly within Visual Studio or in PowerShell by running the build script:

.\build.ps1 -configuration release

Do bear in mind that you'll need to sign the driver to use it without test mode.

Contribute

Bugs & Features

Found a bug and want it fixed? Open a detailed issue on the GitHub issue tracker!

Have an idea for a new feature? Check out the project board, maybe it's already on there! If not, let's have a chat about your request on Discord or the community forums.

Questions & Support

Please respect that the GitHub issue tracker isn't a helpdesk. We offer a Discord server and forums, where you're welcome to check out and engage in discussions!

Installation

To grab the latest signed binaries for use or redistribution head over to releases and download the latest setup. It will take care of everything.

Sponsors

Sponsors listed here have helped the project flourish by either financial support or by gifting licenses:

Known users of ViGEm

A brief listing of projects/companies/vendors known to build upon the powers of ViGEm. This list is non-exhaustive, if you'd like to see your project included, contact us!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK