/RaspberryPi-Joystick

A virtual HID USB joystick created using Raspberry Pi

Primary LanguagePythonMIT LicenseMIT

RaspberryPi-Joystick

The goal of this project is to create a virtual USB HID joystick using Raspberry Pi which can convert BT mice/keyboard or USB mice/keyboard to joystick HID actions.

This Raspberry Pi joystick converter can be used to operate Xbox Adaptive Controller or NS console as practical use cases.

A RaspberryPi 4B or a raspberry pi zero W can be used for this project.

The new versions of raspberry pi zero W come with USB OTG and bluetooth chip which makes it possible to use Bluetooth HID devices as well as USB HID.

A RaspberryPi 4B can also be used instead of a Raspberry pi zero W.

This project is in development process at the moment.

We now go over the hardware and software requirements.

Setup

Here are the hardware and software setup process instructions:

Hardware requirements and setup ( HARDWARE_SETUP.md )

Software requirements and setup ( SOFTWARE_SETUP.md )

Manual setup instructions

The setup process for each gamepad configuration can be performed manually as well. You can chose the configuration that matches your needs and follow the steps.

  1. 8_Buttons ( 8 Buttons and a dual axis joystick )
  2. 16_Buttons ( 16 Buttons and a dual axis joystick )
  3. 32_Buttons ( 32 Buttons and a dual axis joystick )
  4. NSGamepad ( Nintendo Switch )
  5. PSGamepad ( PS3/PS4 )
  6. XACGamepad ( Xbox Adaptive Controller )

Please select the option based on your need and follow the instructions.

Collaborators

Thanks to all the developers and testers helping to create this project. Special thanks to gdsports for finding/fixing bugs and developing new features.

License

MIT License

Copyright (c) 2018 Milador

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

MIT License