Skip to Content

游戏手柄支持

Linux 对主流游戏手柄提供了良好的支持。本文介绍如何在 Ubuntu 26.04 上使用 Xbox、PlayStation 和 Nintendo Switch 手柄。

基础环境

Ubuntu 26.04 内核已内置大部分手柄驱动。确保系统已安装必要组件:

sudo apt install joystick jstest-gtk -y

检测手柄

连接手柄后,检查是否被系统识别:

# 查看输入设备 ls /dev/input/js* cat /proc/bus/input/devices | grep -A 5 "Gamepad\|Controller\|Joystick" # 使用 evtest 查看详细信息 sudo apt install evtest -y sudo evtest

图形化测试工具

# jstest-gtk 图形化手柄测试 jstest-gtk # 或使用命令行测试 jstest /dev/input/js0

Xbox 手柄

Xbox 有线手柄

Xbox 360 和 Xbox One/Series 有线手柄在 Linux 上开箱即用:

# 内核驱动 xpad 已默认加载 lsmod | grep xpad

插入 USB 线即可使用。

Xbox 无线手柄(蓝牙)

Xbox Series 手柄支持蓝牙连接:

  1. 长按手柄上的配对按钮(手柄顶部的小按钮)
  2. 打开 Ubuntu 设置 > 蓝牙
  3. 搜索并连接 Xbox Wireless Controller

Xbox 无线适配器

使用 Xbox 官方无线适配器需要安装 xone 驱动:

# 安装依赖 sudo apt install dkms cabextract -y # 克隆并安装 xone git clone https://github.com/medusalix/xone cd xone sudo ./install.sh # 下载固件 sudo xone-get-firmware.sh

xpadneo(增强的蓝牙驱动)

xpadneo 为 Xbox 手柄的蓝牙连接提供更好的支持(震动、电量显示等):

sudo apt install dkms -y git clone https://github.com/atar-axis/xpadneo.git cd xpadneo sudo ./install.sh

PlayStation 手柄

PS4 手柄(DualShock 4)

USB 连接

直接插入 USB 线即可使用,无需额外驱动。

蓝牙连接

  1. 同时按住手柄的 Share 和 PS 按钮直到灯条快速闪烁
  2. 在 Ubuntu 蓝牙设置中搜索并配对 Wireless Controller

PS5 手柄(DualSense)

USB 连接

Linux 内核 5.12+ 已内置 DualSense 驱动,Ubuntu 26.04 完全支持。

蓝牙连接

  1. 关闭手柄电源
  2. 同时按住 Create 和 PS 按钮直到灯条快速闪烁
  3. 在蓝牙设置中配对

高级功能

DualSense 的自适应扳机和触觉反馈在 Steam 中有部分支持。使用 dualsensectl 工具可以控制更多功能:

# 安装 dualsensectl sudo apt install dualsensectl -y # 设置灯条颜色 dualsensectl lightbar 0 0 255 # 查看电量 dualsensectl battery # 设置麦克风 LED dualsensectl microphone-led on

PS3 手柄(DualShock 3)

# 通过 USB 连接后使用蓝牙 sudo apt install bluez-plugins bluez-tools -y # PS3 手柄需要特殊配对流程 # 先通过 USB 连接,然后拔掉即可使用蓝牙

Nintendo Switch 手柄

Switch Pro 手柄

USB 连接

直接插入即可使用。

蓝牙连接

  1. 长按手柄背面的配对按钮
  2. 在蓝牙设置中搜索并配对 Pro Controller

Joy-Con

Joy-Con 可以通过蓝牙连接,但需要 joycond 守护进程来正确合并左右 Joy-Con。Ubuntu 仓库未提供该包,需从源码编译安装(作者 DanielOgorchock):

# 安装构建依赖 sudo apt install build-essential cmake libevdev-dev libudev-dev -y # 从源码编译安装 git clone https://github.com/DanielOgorchock/joycond.git cd joycond cmake -B build cmake --build build sudo cmake --install build sudo systemctl enable --now joycond

连接步骤:

  1. 长按 Joy-Con 侧面的配对按钮
  2. 分别配对左右 Joy-Con
  3. joycond 会自动将它们合并为一个手柄

Steam 手柄配置

Steam 内置了强大的手柄配置工具 Steam Input,支持几乎所有手柄:

  1. 打开 Steam > 设置 > 控制器
  2. 启用对应手柄类型的支持
  3. 进入游戏后按 Steam 键打开手柄配置界面

Steam 控制器支持的权限配置

# 安装 Steam 的 udev 规则(通常随 Steam 一起安装) sudo apt install steam-devices -y # 或手动添加权限 sudo usermod -aG input $USER

AntiMicroX(手柄映射键盘)

对于不支持手柄的游戏,可以将手柄按键映射为键盘输入:

flatpak install flathub io.github.antimicrox.antimicrox -y flatpak run io.github.antimicrox.antimicrox

手柄校准

# 使用 jstest-gtk 图形化校准 jstest-gtk # 命令行校准 jscal /dev/input/js0

常见问题

手柄无法识别

# 检查 USB 设备 lsusb # 检查内核消息 dmesg | tail -20 # 重新加载驱动 sudo modprobe -r xpad && sudo modprobe xpad

蓝牙连接不稳定

# 重启蓝牙服务 sudo systemctl restart bluetooth # 删除配对重新连接 bluetoothctl # 在 bluetoothctl 中: # remove <MAC地址> # scan on # pair <MAC地址> # connect <MAC地址> # trust <MAC地址>

手柄延迟高

蓝牙连接可能有较高延迟,对于竞技游戏建议使用 USB 有线连接。

手柄USB蓝牙备注
Xbox Series即插即用支持无线适配器需 xone
DualShock 4即插即用支持完整支持
DualSense即插即用支持高级功能部分支持
Switch Pro即插即用支持完整支持
Joy-Con-支持需要 joycond

Ubuntu 26.04 对主流手柄的支持已经相当成熟,大多数情况下即插即用。

Last updated on