Initial release of 8BitDo Control Center
Provide a Linux desktop controller configuration app with evdev input, uinput remapping, profiles, calibration, and reconnect recovery. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
32
scripts/setup-linux.sh
Normal file
32
scripts/setup-linux.sh
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Installs the least-privilege access rule needed for evdev/uinput. This
|
||||
# script intentionally changes host state only when the user runs it.
|
||||
|
||||
readonly GROUP_NAME="8bitdo"
|
||||
readonly RULE_FILE="99-8bitdo-control-center.rules"
|
||||
readonly PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
readonly SOURCE_RULE="${PROJECT_ROOT}/resources/udev/${RULE_FILE}"
|
||||
readonly DESTINATION_RULE="/etc/udev/rules.d/${RULE_FILE}"
|
||||
|
||||
if [[ ! -f "${SOURCE_RULE}" ]]; then
|
||||
echo "Missing udev rule: ${SOURCE_RULE}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! getent group "${GROUP_NAME}" >/dev/null; then
|
||||
sudo groupadd --system "${GROUP_NAME}"
|
||||
fi
|
||||
|
||||
sudo install -Dm644 "${SOURCE_RULE}" "${DESTINATION_RULE}"
|
||||
sudo usermod -aG "${GROUP_NAME}" "${USER}"
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --subsystem-match=input
|
||||
|
||||
cat <<EOF
|
||||
Installed ${DESTINATION_RULE}.
|
||||
|
||||
${USER} was added to the ${GROUP_NAME} group. Log out and back in (or reboot)
|
||||
before starting 8BitDo Control Center, then verify permissions in Settings.
|
||||
EOF
|
||||
Reference in New Issue
Block a user