summarylogtreecommitdiffstats
path: root/README.md
blob: 1141fc4ffb2a4a7d79d24efdf9628c27cb2a536c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# xbox-generic-controller

### Fix for generic XBox-like USB gamepads that are recognized but not functional.

This is an AUR wrapper for the [python script by dnmodder](https://gist.github.com/dnmodder/de2df973323b7c6acf45f40dc66e8db3) using a udev rule to run the script automatically when plugged in and blacklisting the `xpad` kernel module.

# Will this work for my controller?

If you have a generic XBox USB controller with vendorid:productid `045e:0283`, then probably yes. Plug in your controller, then run this to find out:

```
$ lsusb
```

I haven't tested this anywhere but my own laptop, so please [open an issue or submit a pull request](https://gitlab.com/ryanobeirne/xbox-generic-controller) if you have any problems.

# Install

## ArchLinux

### Using pacman

```
$ git clone https://gitlab.com/ryanobeirne/xbox-generic-controller
$ cd xbox-generic-controller
$ makepkg -si
```

### Using yay

```
$ yay -S xbox-generic-controller
```

You may need to reboot or run:

```
# udevadm control --reload
```

# Dependencies

`xboxdrv`

- A userspace driver for xbox controllers

`python3`

- The magic is in the [python script by dnmodder](https://gist.github.com/dnmodder/de2df973323b7c6acf45f40dc66e8db3).

`python-pyusb`

- A python USB library

`systemd`

- Uses a udev rule to run a script when the controller is plugged in