Giter Club home page Giter Club logo

switchproconlinuxusb's Introduction

SwitchProConLinuxUSB

This repository aims to provide a uinput driver for the Nintendo Switch Pro Controller when connected via USB. Currently only one controller is supported!

Dependencies

This repo needs

  • libudev
  • autotools, autoconf and libtool
  • cmake
  • hidapi

On Ubuntu you can install these in a terminal with:

sudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-dev
sudo apt-get install autotools-dev autoconf automake libtool
sudo apt-get install cmake
sudo apt-get install libhidapi-dev

Installation

Create install folder for Pro Controller driver and enter it, e.g.

mkdir ~/procon_driver
cd ~/procon_driver

You can download the ZIP file through your browser and extract it, or you can use git. If you don't already have it:

sudo apt install git

Clone the repository here:

git clone https://github.com/FrotBot/SwitchProConLinuxUSB.git .

install and build the driver:

bash install.sh

Reboot your PC once to make the udev rules work.

Open the terminal once more and navigate to the build directory in the install folder:

cd ~/procon_driver/build

Start the driver!

./procon_driver

Follow instructions on screen and enjoy your games.

(You'll need to reopen the executable from the last step everytime you use the driver.)

On newer kernel versions, uinput devices need root privileges, so if you get error messages try to run

sudo ./procon_driver

Invert axes and swap buttons

If you're having trouble with inverted axes, try ./procon_driver --help and see options to run with inverted axes there. There's also an option to run with A and B as well as X and Y buttons switched, if you prefer the button output as they're written on the pad as opposed to XBox layout.

Thanks

This project took heavy inspiration and some constants from this project: https://github.com/MTCKC/ProconXInput/tree/v0.1.0-alpha2

switchproconlinuxusb's People

Contributors

thewavewarden avatar ggliv avatar angheloalf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.