鼠标加速度 - Arch Linux 中文维基

跳转到内容

# 鼠标加速度

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Mouse acceleration，最近一次同步于 2024-06-07，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- 鼠标按键
- 鼠标轮询率

## 禁用鼠标加速度

使用 Xorg，Arch Linux 将 libinput 设置为默认驱动，位于

    "/usr/share/X11/xorg.conf.d/40-libinput.conf"

为了激活我们的指针设备的`flat`（平坦）配置文件，我们需要将 `flat` 设置为 `1`，并将 `adaptive`（自适应）和 `custom`（自定义）配置文件选项设置为 `0`。

找出您的设备 ID。

    # xinput

第一个数字表示默认的加速度配置文件，第二个数字表示平坦配置文件（无加速度），第三个数字表示自定义配置文件。要激活平坦配置文件：

    # xinput set-prop "deviceid" "libinput Accel Profile Enabled" 0 1 0

确认更改：

    # xinput list-props "deviceid"

通过在 `/usr/share/X11/xorg.conf.d/40-libinput.conf` 中的指针部分添加选项来使其持久化。

    /usr/share/X11/xorg.conf.d/40-libinput.conf

     Section "InputClass"
      Identifier "libinput pointer catchall"
      MatchIsPointer "on"
      MatchDevicePath "/dev/input/event*"
      Driver "libinput"
      Option "AccelProfile" "flat"
     EndSection

## 配置鼠标加速度

本文或本章节的事实准确性存在争议。

原因： 配置取决于输入驱动，在 Xorg 中可以使用 libinput。每个子部分应明确指出假定的驱动。（在 Talk:鼠标加速度 中讨论）

设置鼠标加速度取决于您使用的窗口协议：Xorg 或 Wayland。

- 在 Xorg 上，有几种设置鼠标加速度的方法：
  - 通过编辑 Xorg 配置文件
  - xorg-xset包 和 xorg-xinput包，分别提供 'xset' 和 'xinput'
  - 以及在桌面环境中常见的配置界面。

- 如果您使用的是 Wayland，则事件通过 libinput 控制。这是合成器的工作，以暴露 libinput 带来的设置。目前还没有一种标准的方式来跨合成器更改设置。[1]
- GNOME 自行管理鼠标加速度。可以通过安装 dconf-editor包 并编辑 `org/gnome/desktop/peripherals/mouse/acceleration-profile` 的值，在 `adaptive`（自适应）和 `flat`（平坦）配置文件之间进行选择。或者，也可以使用 gnome-tweaks包 来编辑 `org/gnome/desktop/peripherals/mouse/acceleration-profile`。

### 使用 libinput 配置鼠标加速度

当使用自适应指针加速度配置文件时，libinput 根据 DPI 和参数 `Acceleration Speed` [2] 来计算鼠标加速度。libinput 依赖于 xf86-input-evdev包 [3] 报告的分辨率。使用 `xset m` 设置的反馈设置实际上被忽略了。当使用平坦指针加速度配置文件时，加速度因子是恒定的，不论指针的速度如何。这提供了设备和屏幕上指针之间的 1:1 移动比例。

### 更改加速度

使用 `xinput list` 查找您的设备 ID，并使用以下命令设置加速度。请注意，加速度必须在 [-1,1] 的范围内。查看这个图表以了解不同加速度值的影响。

    $ xinput --set-prop <device id> 'libinput Accel Speed' <acceleration factor>

使用以下命令确认您的更改：

    $ xinput --list-props <device id>

### 持久化配置

libinput 本身不存储配置选项，由调用者管理这些配置。在 Wayland 下，桌面环境会恢复配置。在 Xorg 下，xf86-input-libinput包 读取 Xorg 配置文件并应用选项 [4]。为了在 Xorg 下使更改持久化，可以创建如下的配置文件：

    /etc/X11/xorg.conf.d/99-libinput-custom-config.conf

    Section "InputClass"
      Identifier "<用于标识此片段的名称>"
      MatchDriver "libinput"
      MatchProduct "<设备名称的子字符串>"
      Option "AccelSpeed" "<例如 0.3>"
    EndSection

更多选项请参见 libinput(4)。

## 设置鼠标加速度

### 在 Xorg 配置中

详见 xorg.conf(5)。

示例：

    /etc/X11/xorg.conf.d/50-mouse-acceleration.conf

    Section "InputClass"
    	Identifier "我的鼠标"
    	MatchIsPointer "yes"
    # 分别设置为 1 1 0 以禁用加速度。
    	Option "AccelerationNumerator" "2"
    	Option "AccelerationDenominator" "1"
    	Option "AccelerationThreshold" "4"
    EndSection

    /etc/X11/xorg.conf.d/50-mouse-deceleration.conf

    Section "InputClass"
    	Identifier "我的鼠标"
    	MatchIsPointer "yes"
    # 一些曲线减速
    #	Option "AdaptiveDeceleration" "2"
    # 线性减速（鼠标速度降低）
    	Option "ConstantDeceleration" "2"
    EndSection

您也可以通过在类部分中使用`MatchProduct`、`MatchVendor` 等匹配项来为特定硬件分配设置。运行 `lsusb` 来找出要匹配的产品名称和供应商：

    $ lsusb -v | grep -e idProduct -e idVendor

如果您无法识别您的设备，尝试运行 `xinput list`。一些使用罗技优联接收器的设备共享相同的 USB 连接，因此鼠标在使用 `lsusb` 时可能不出现。

### 使用 xinput

首先，获取已连接设备的列表（忽略任何虚拟指针）：

    $ xinput list

记下设备 ID。如果 ID 容易变化，也可以在命令中使用设备全名。

使用以下命令获取可修改的属性及其当前值的列表：

    $ xinput list-props 9

其中 `9` 是您要使用的设备的 ID。或者

    $ xinput list-props "鼠标名称"

其中 `鼠标名称` 是由 `xinput list` 提供的鼠标名称。

例如，将 `Constant Deceleration` 属性更改为 2：

    $ xinput list-props 9

    Device '鼠标名称':
           Device Enabled (121):   1
           Device Accel Profile (240):     0
           Device Accel Constant Deceleration (241):       1.000000
           Device Accel Adaptive Deceleration (243):       1.000000
           Device Accel Velocity Scaling (244):    10.000000

    $ xinput --set-prop "鼠标名称" "Device Accel Constant Deceleration" 2

要使其永久生效，编辑 Xorg 配置文件（见上文）或将命令添加到 xprofile。后者不会影响在显示管理器中的速度。

### 配置示例

您可能需要使用不止一种方法来实现您想要的鼠标设置。以下是我为一个通用光学鼠标配置的步骤： 首先，将默认移动速度减慢 3 倍，使其更精确。

    $ xinput --set-prop 9 'Device Accel Constant Deceleration' 3 &

然后，启用加速度，并在移动超过 6 个单位后使其速度提高 3 倍。

    $ xset mouse 3 6 &

如果您对结果满意，将上述命令存储在 `~/.xinitrc` 中。

### 在 Hyprland 中

参见 Hyprland#鼠标加速度/灵敏度。

分类：​

- 鼠标
- X 服务器

隐藏分类：​

- 使用“模板:准确性”标记的页面或章节

鼠标加速度
添加话题