diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | 8bitdo-ultimate-dinput@.service | 7 | ||||
-rw-r--r-- | 8bitdo-ultimate-xinput@.service | 6 | ||||
-rw-r--r-- | 99-8bitdo-ultimate-controllers.rules | 8 | ||||
-rw-r--r-- | PKGBUILD | 24 | ||||
-rw-r--r-- | install | 13 |
6 files changed, 78 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..9088422b4bda --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = 8bitdo-ultimate-controller-udev + pkgdesc = udev rules for 8bitdo controller 2.4GHz mode + pkgver = 1.0 + pkgrel = 1 + install = install + arch = x86_64 + arch = aarch64 + license = GPL + depends = libevdev + depends = xboxdrv + depends = systemd + depends = udev + source = file://99-8bitdo-ultimate-controllers.rules + source = file://8bitdo-ultimate-dinput@.service + source = file://8bitdo-ultimate-xinput@.service + sha256sums = 25b2fd49c1c60068f1b9d7607b63e1942442691ba5014d4c0fa96b198bb616ca + sha256sums = c9b8f6853518baa14fcddb8b021dd643142e8ea8f94443c625257272f6b5a66d + sha256sums = a0fe329b4f86af73b594055150fecce1f2c55c48b7d5adeb1c4d287a3e866df5 + +pkgname = 8bitdo-ultimate-controller-udev diff --git a/8bitdo-ultimate-dinput@.service b/8bitdo-ultimate-dinput@.service new file mode 100644 index 000000000000..4a7d3b16412a --- /dev/null +++ b/8bitdo-ultimate-dinput@.service @@ -0,0 +1,7 @@ +[Unit] +Description=8BitDo Ultimate Controller DInput Mode Xbobxdrv Daemon +StopWhenUnneeded=true + +[Service] +Type=simple +ExecStart=/usr/bin/xboxdrv --mimic-xpad --silent --quiet --type xbox360 --evdev %I --evdev-absmap ABS_BRAKE=LT,ABS_GAS=RT,ABS_Y=Y1,ABS_X=X1,ABS_RZ=Y2,ABS_Z=X2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --evdev-keymap BTN_TL=LB,BTN_TR=RB,BTN_X=X,BTN_Y=Y,BTN_A=A,BTN_B=B,BTN_THUMBL=TL,BTN_THUMBR=TR,BTN_SELECT=back,BTN_START=start,BTN_MODE=guide --axismap -Y1=Y1,-Y2=Y2 diff --git a/8bitdo-ultimate-xinput@.service b/8bitdo-ultimate-xinput@.service new file mode 100644 index 000000000000..065e9feeb582 --- /dev/null +++ b/8bitdo-ultimate-xinput@.service @@ -0,0 +1,6 @@ +[Unit] +Description=8BitDo Ultimate Controller XInput Mode Xbobxdrv Daemon + +[Service] +Type=simple +ExecStart=/usr/bin/xboxdrv --mimic-xpad --silent --type xbox360 --device-by-id %I diff --git a/99-8bitdo-ultimate-controllers.rules b/99-8bitdo-ultimate-controllers.rules new file mode 100644 index 000000000000..aced581fadb7 --- /dev/null +++ b/99-8bitdo-ultimate-controllers.rules @@ -0,0 +1,8 @@ +# dinput +KERNEL=="event[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="2dc8", ENV{ID_MODEL_ID}=="3013", TAG+="systemd", ENV{SYSTEMD_WANTS}="8bitdo-ultimate-dinput@$env{DEVNAME}" + +# xinput +SUBSYSTEM=="usb", ATTR{idVendor}=="2dc8", ATTR{idProduct}=="3106", ATTR{manufacturer}=="8BitDo", RUN+="/usr/bin/systemctl start 8bitdo-ultimate-xinput@2dc8:3106" + +# This device is connected when the above device disconnects +SUBSYSTEM=="usb", ATTR{idVendor}=="2dc8", ATTR{idProduct}=="3109", ATTR{manufacturer}=="8BitDo", RUN+="/usr/bin/systemctl stop 8bitdo-ultimate-xinput@2dc8:3106" diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ba3a30c5ce89 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=8bitdo-ultimate-controller-udev +pkgver=1.0 +pkgrel=1 +pkgdesc='udev rules for 8bitdo controller 2.4GHz mode' +arch=('x86_64' 'aarch64') +license=('GPL') +depends=('libevdev' 'xboxdrv' 'systemd' 'udev') +install="install" +source=('file://99-8bitdo-ultimate-controllers.rules' + 'file://8bitdo-ultimate-dinput@.service' + 'file://8bitdo-ultimate-xinput@.service') +sha256sums=('25b2fd49c1c60068f1b9d7607b63e1942442691ba5014d4c0fa96b198bb616ca' + 'c9b8f6853518baa14fcddb8b021dd643142e8ea8f94443c625257272f6b5a66d' + 'a0fe329b4f86af73b594055150fecce1f2c55c48b7d5adeb1c4d287a3e866df5') + +package() { + # install udev rules + install -dm 755 "${pkgdir}/usr/lib/udev/rules.d" + cp "$srcdir"/*.rules "$pkgdir/usr/lib/udev/rules.d/" + + # install systemd services + install -dm 755 "${pkgdir}/usr/lib/systemd/system" + cp "$srcdir"/*.service "$pkgdir/usr/lib/systemd/system" +} diff --git a/install b/install new file mode 100644 index 000000000000..1bc9951fabe6 --- /dev/null +++ b/install @@ -0,0 +1,13 @@ +post_install() { + ## reload udev rules + udevadm control --reload-rules + + ## reload systemd services + systemctl daemon-reload +} + +post_remove() { + udevadm control --reload-rules + + systemctl daemon-reload +} |