Единственный способ, который я нашел, который работает (и я только попробовал на Ubuntu) , с помощью команды xinput
.
Сначала вы должны определить номер устройства для мыши, которую вы хотите изменить:
# xinput list
â¡ Virtual core pointer id=2 [master pointer (3)]
â â³ Virtual core XTEST pointer id=4 [slave pointer (2)]
â â³ Microsoft Microsoft 5-Button Mouse with IntelliEye(TM) id=10 [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)]
â³ Power Button id=7 [slave keyboard (3)]
â³ CHICONY USB Keyboard id=8 [slave keyboard (3)]
â³ CHICONY USB Keyboard id=9 [slave keyboard (3)]
â³ IR-receiver inside an USB DVB receiver id=11 [slave keyboard (3)]
Теперь в этом примере я буду играть с мышью Microsoft. ID = 10
Теперь посмотрим, с какими свойствами может работать это устройство:
# xinput list-props 10
Device 'Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)':
... cruft cut ...
Device Accel Profile (259): 3
... cruft cut ...
Это значение как драйвер обрабатывает ускорение:
-1: нет никаких зависимых от скорости указателя ускорения или замедления. Если постоянное замедление также не используется, обработка движения подавляется, сохраняя некоторые циклы.
0: классический (по умолчанию) похож на старое поведение, но более предсказуем. Выбор между «полином» и «простой» на основе порога =/!= 0
1: зависит от устройства, если его устанавливает аппаратный драйвер. Может быть, приходят на синаптики.
2: полином. Весы полином: скорость служит коэффициентом, ускорение является показателем степени. Очень удобный, рекомендуемый профиль.
3: гладкие линейные шкалы, в основном линейные, но с плавным (нелинейным) началом.
4: простые переходы между ускоренным / не ускоренным, но с плавным диапазоном перехода. Это имеет фундаментальную проблему ускорения на двух niveaus, на которых ускорение остается независимым от скорости. Традиционно по умолчанию однако.
5: мощность ускоряется функцией мощности. скорость является показателем здесь. Придерживается порога. Вам будет сложно управлять, поэтому важно, чтобы вы правильно настроили оценку скорости.
6: линейный, только линейный по скорости и ускорению. Просто и чисто.
7: ограниченный плавно поднимается к ускорению, максимизируя на пороге, где он становится плоским (ограничен).
Итак, из этого мы можем видеть, что если мы установим это свойство в -1, оно полностью отключит ускорение.
$ xinput set-prop 10 259 -1
Так что теперь у нас нет ускорения, но мы этого хотим? Мышь сейчас немного медленная. К сожалению, так оно и есть. При отключенном ускорении вы получаете соотношение 1:1 между мышью и дисплеем. Вы перемещаете мышь влево на одну точку, а указатель мыши перемещается на один пиксель влево. Если бы был способ умножить входное движение (скажем, на 2), то каждый второй пиксель на каждой оси был бы недоступен для мыши. Это затруднит точное позиционирование мыши. Настройка «чувствительности» в некоторых панелях управления мыши с графическим интерфейсом на самом деле противоположна ожидаемой - наиболее чувствительным является соотношение 1:1 - это ускорение, которое заставляет его казаться намного быстрее.
Итак, вы хотите более быстрое движение, но не хотите ускорения. Единственный способ сделать это - аппаратно. По сути, вам нужно будет купить более чувствительную мышь. Ищите один с более высоким разрешением (точек на дюйм - да, как принтер). Я считаю, что мой старый Microsoft IntelliEye достаточно чувствителен с отключенным ускорением, чтобы его можно было использовать.
Или, может быть, ваша мышь слишком чувствительна? Даже с отключенным ускорением это слишком быстро на ваш вкус? Ну, вот где
Device Accel Constant Deceleration (260): 1.0000
настройка приходит. Это постоянный коэффициент замедления (или рассасывания). По умолчанию это 1:1, но будет больше любого числа (даже дроби). Чтобы получить небольшое замедление мыши:
$ xinput set-prop 10 260 1.2
Или серьезное замедление для действительно деликатной работы:
$ xinput set-prop 10 260 10
Или верните его в нормальное состояние:
$ xinput set-prop 10 260 1
Это работает, даже если для профиля ускорения установлено значение -1 (отключено).