All Projects → paroj → Xpad

paroj / Xpad

Linux Kernel Driver for the Xbox/ Xbox 360/ Xbox One Controllers

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Xpad

H2 ALSH
Accurate and Fast ALSH for Maximum Inner Product Search (KDD 2018)
Stars: ✭ 18 (-95.96%)
Mutual labels:  xbox
xbox-smartglass-rest-python
[DEPRECATED] Xbox One SmartGlass RESTful server
Stars: ✭ 36 (-91.93%)
Mutual labels:  xbox
Pancake
Lightweight, Fast, Easy-to-use HTML5 2D game framework!
Stars: ✭ 79 (-82.29%)
Mutual labels:  xbox
pac-man-emulator
🕹 An emulator for the Pac-Man arcade machine (Zilog Z80 CPU) for Win/Mac/*nix and Xbox One.
Stars: ✭ 20 (-95.52%)
Mutual labels:  xbox
Python-Wrapper
Python wrapper for https://xapi.us
Stars: ✭ 38 (-91.48%)
Mutual labels:  xbox
xcloud-shield
Xcloud Beta Unofficial App for the Nvidia Shield Android TV. Playing Xbox Cloud Gaming directly on the box Nvidia Shield tv in the best way.
Stars: ✭ 93 (-79.15%)
Mutual labels:  xbox
parquet-dotnet
🐬 Apache Parquet for modern .Net
Stars: ✭ 199 (-55.38%)
Mutual labels:  xbox
Xemu
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Stars: ✭ 362 (-18.83%)
Mutual labels:  xbox
AUTOBOT FIFAX
FIFA SNIPING BOT
Stars: ✭ 31 (-93.05%)
Mutual labels:  xbox
xbox-live
An NPM for pulling xbox live gamer data
Stars: ✭ 19 (-95.74%)
Mutual labels:  xbox
XboxDev
Information about XboxDev and issue tracker for the entire XboxDev ecosystem
Stars: ✭ 64 (-85.65%)
Mutual labels:  xbox
xbox kernel test suite
Xbox kernel APIs tester written using nxdk
Stars: ✭ 17 (-96.19%)
Mutual labels:  xbox
xsymlink
Xbox One Symbolic Link Exploit: Access restricted/encrypted volumes using the Xbox File Explorer.
Stars: ✭ 18 (-95.96%)
Mutual labels:  xbox
xqemu-hdd-image
Copyright-Free Xbox HDD Image
Stars: ✭ 38 (-91.48%)
Mutual labels:  xbox
Puremvc Csharp Standard Framework
PureMVC Standard Framework for C#
Stars: ✭ 335 (-24.89%)
Mutual labels:  xbox
NevolutionX
Original Xbox dashboard created with nxdk
Stars: ✭ 76 (-82.96%)
Mutual labels:  xbox
SwitchXBOXController
Turn your Nintendo Switch into an XBOX360 controller to play on your Windows computer
Stars: ✭ 46 (-89.69%)
Mutual labels:  xbox
Gimx
The GIMX software.
Stars: ✭ 421 (-5.61%)
Mutual labels:  xbox
Phantom
Use your own Minecraft server with your Xbox or PS4 and play with friends!
Stars: ✭ 360 (-19.28%)
Mutual labels:  xbox
BedrockProxy
Allow Minecraft Bedrock players on your BungeeCord server!
Stars: ✭ 16 (-96.41%)
Mutual labels:  xbox

Updated Xpad Linux Kernel Driver

Driver for the Xbox/ Xbox 360/ Xbox 360 Wireless/ Xbox One Controllers

This driver includes the latest changes in the upstream linux kernel and additionally carries the following staging changes:

  • enable debug outputs to ease resolving issues
  • some minor code refactoring improving readability

This driver does not support the XBox One Wireless Adapter (WiFi)
To get that running, see: medusalix/xow

Installing

sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

Updating

cd /usr/src/xpad-0.4
sudo git fetch
sudo git checkout origin/master
sudo dkms remove -m xpad -v 0.4 --all
sudo dkms install -m xpad -v 0.4

Removing

sudo dkms remove -m xpad -v 0.4 --all
sudo rm -rf /usr/src/xpad-0.4

Usage

This driver creates three devices for each attached gamepad

  1. /dev/input/jsN
    • example jstest /dev/input/js0
  2. /sys/class/leds/xpadN/brightness
    • example echo COMMAND > /sys/class/leds/xpad0/brightness where COMMAND is one of
      • 0: off
      • 1: all blink, then previous setting
      • 2: 1/top-left blink, then on
      • 3: 2/top-right blink, then on
      • 4: 3/bottom-left blink, then on
      • 5: 4/bottom-right blink, then on
      • 6: 1/top-left on
      • 7: 2/top-right on
      • 8: 3/bottom-left on
      • 9: 4/bottom-right on
      • 10: rotate
      • 11: blink, based on previous setting
      • 12: slow blink, based on previous setting
      • 13: rotate with two lights
      • 14: persistent slow all blink
      • 15: blink once, then previous setting
  3. the generic event device
    • example fftest /dev/input/by-id/usb-*360*event*

Debugging

As a regular unpriveledged user

Setup console to display kernel log.
dmesg --level=debug --follow

Open a new console and access the device with jstest.
jstest /dev/input/jsX

Interact with the device and observe that data packets recieved from device are printed to kernel log.

[ 3968.772128] xpad-dbg: 00000000: 20 00 b5 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 40 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.772135] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804137] xpad-dbg: 00000000: 20 00 b6 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 fc fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804145] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152120] xpad-dbg: 00000000: 20 00 b7 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 b8 fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152129] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Save dmesg buffer and attach to bug report, don't forget to describe button sequences in bug report.
dmesg --level=debug > dmesg.txt

Ctrl+C to close interactive console sessions when finished.

Sending Upstream

  1. git format-patch --cover-letter upstream..master
  2. git send-email --to xxx *.patch
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].