当前位置: 首页>>技术教程>>正文


xorg – 配置鼠标速度(不是指针加速!)

, ,

问题描述

有没有办法在KDE4中提高鼠标速度?我不希望任何指针加速,只是我要更改的鼠标速度。

编辑:不幸的是,编辑xorg.conf不是我的选择,因为我希望用户能够自己配置鼠标速度,并且公司政策拒绝用户更改xorg.conf的权限。

最佳方法

KDE尚未将其内置到其控制中心中,但是您可以从命令行使用xinput。首先,运行xinput list查找鼠标的设备号:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

在我的笔记本电脑上,我想要的设备ID是10(SynPS /2 Synaptics触摸板)。在您的系统上,您将必须确定哪个设备是正确的。接下来,运行xinput list-props <your device id>以查看该设备的当前设置:

$ xinput list-props 10
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (144):   1
    Device Accel Profile (266):     1
    Device Accel Constant Deceleration (267):       2.500000
    Device Accel Adaptive Deceleration (268):       1.000000
    Device Accel Velocity Scaling (269):    12.500000
  [ many more settings omitted ]

您感兴趣的属性是“设备加速常数减速度(267)”。要降低鼠标速度,必须通过运行xinput set-prop <your device id> <property id> <value>增加该值:

$ xinput set-prop 10 267 5.0

在此示例中,该值从2.5增加到5.0,并且鼠标移动到half-speed。

次佳方法

Linux(Xorg)中鼠标设置的术语与Windows世界略有不同。

有三个重要设置:

  • threshold-加速触发器

  • acceleration-达到阈值后的速度

  • resolution-“speed”

这些设置独立于桌面环境。它们是纯X设置。因此,这始终有效。另请参阅xset的鼠标部分,以真正独立地更改这些设置。

Unity设置管理器似乎将threshold重命名为灵敏度。但是,当您谈论KDE时,这并不重要。

用户只能更改thresholdaccelerationresolution是要在xorg.conf中进行的设置。但是通常,前两个设置对于大多数用户来说就足够了。

Linux会检查这些值的has an explanation

基本上:鼠标以基本速度移动(可使用resolution修改)。如果鼠标在短时间内移动了n个像素(n = threshold),则基本速度将乘以acceleration。例如,如果要完全禁用加速,可以将阈值设置为0。换句话说:如果鼠标在短时间内移动0像素,我将使用base-speed * acceleration。因此,阈值0为您提供常数mouse-speed。

因此,这两个值使您可以非常精细地控制速度。

第三种方法

只需强制指针跳过像素,方法如下:

首先列出输入设备:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PixArt USB Optical Mouse                  id=10   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ USB2.0 UVC 2M WebCam                      id=9    [slave  keyboard (3)]
    ↳ Asus Laptop extra buttons                 id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]

在示例中,我们看到鼠标为PixArt USB Optical Mouse。接下来列出其属性:

$ xinput list-props "PixArt USB Optical Mouse"
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (260):        2362, 9488
        Device Node (261):      "/dev/input/event5"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
        Button Labels (273):    "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
        Evdev Middle Button Emulation (274):    0
        Evdev Middle Button Timeout (275):      50
        Evdev Third Button Emulation (276):     0
        Evdev Third Button Emulation Timeout (277):     1000
        Evdev Third Button Emulation Button (278):      3
        Evdev Third Button Emulation Threshold (279):   20
        Evdev Wheel Emulation (280):    0
        Evdev Wheel Emulation Axes (281):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (282):    10
        Evdev Wheel Emulation Timeout (283):    200
        Evdev Wheel Emulation Button (284):     4
        Evdev Drag Lock Buttons (285):  0

通过更改“坐标变换矩阵”属性,我们可以提高指针速度。 Documentation says it is used to calculate a pointer movement。报价:

By default, the CTM for every input device in X is the identity matrix. As an example, lets say you touch a touchscreen at point (400, 197) on the screen:

⎡ 1 0 0 ⎤   ⎡ 400 ⎤   ⎡ 400 ⎤ ⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥ ⎣ 0 0 1 ⎦   ⎣  1  ⎦   ⎣  1  ⎦ 

The X and Y coordinates of the device event are input in the second matrix of the calculation. The result of the calculation is where the X and Y coordinates of the event are mapped to the screen. As shown, the identity matrix maps the device coordinates to the screen coordinates without any changes.

因此,我们要增加X和Y值,其余的保持不变。我的电脑上的一个例子:


$ xinput set-prop "PixArt USB Optical Mouse" "Coordinate Transformation Matrix" 2.4 0 0 0 2.4 0 0 0 1

试一下,直到对速度满意为止。

这些更改仅在当前会话中有效,因此,一旦选择了良好的敏感性,就可以通过将其添加到xorg.conf(或创建类似/etc/X11/xorg.conf.d/40-mouse-sensitivity.conf的文件)来永久性地应用它:

Section "InputClass"
    Identifier "PixArt USB Optical Mouse"
    MatchIsPointer "Yes"
    Option "TransformationMatrix" "2.4 0 0 0 2.4 0 0 0 1"
EndSection

感谢Xorg邮件列表中的Simon Thum提供有关该矩阵的提示。

UPD:请注意,在Wine中运行的某些Windows游戏可能会开始表现出奇怪的指针行为(例如,注意到无论您如何移动鼠标,Counter Strike 1.6中的十字准线都会下降,直到它凝视地板为止),在这种情况下,只需重置X和在运行游戏之前,CTM的Y返回1。

第四种方法

尽管我对这个问题不太清楚,但这是我的建议。

对于KDE

快速搜索显示没有这样的选项可以在阈值以下提高鼠标速度。

一些用户建议更改/etc/X11/xorg.conf文件(mouse InputDevice section)中的鼠标分辨率,例如

Option "Resolution" "400"

但是大多数用户说这没有用。

您可以增加阈值,以便直到达到阈值才开始加速。 (设置在Mouse> Advanced Settings中)

可以找到here的相关文章。

为了团结

  • Super键(Windows键)。

  • 搜索mouse

  • 选择Mouse And Touchpad

  • 现在将灵敏度更改为更高的值。可能这就是您想要的。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10670.html,未经允许,请勿转载。