Уменьшите чувствительность мыши ниже стандартного предела

42

К моему ноутбуку Ubuntu подключена USB-мышь. Эта мышь (к сожалению) очень чувствительна, поэтому иногда трудно нажимать на маленькие значки указателем мыши. Это действительно аппаратная проблема, это не ошибка и не ошибка Ubuntu / gnome. Тем не менее, я бы очень хотел решить эту проблему с помощью программного обеспечения (решение с помощью оборудования подразумевало бы покупку новой мыши).

Вернувшись в Windows, если я установил очень низкую чувствительность, это было достаточно удобно. В Ubuntu даже самая низкая доступная чувствительность и ускорение (в меню « Система»> «Настройки»> «Мышь» ) по-прежнему разочаровывает. Как я могу уменьшить его ниже минимального значения по умолчанию?

Я попробовал xset, но кажется, что xset имеет дело только с ускорением и порогом, но не с фактической чувствительностью.

Malabarba
источник
1
Где я могу разместить эти строки кода?

Ответы:

55

У меня есть мышь Razer DeathAdder, и, как и в вашем случае, чувствительность / ускорение слишком высоки, даже если я установил их на самом низком уровне в настройках мыши. Чтобы решить эту проблему, я использовал команду xinput.

Во-первых, вам понадобится мышь ProductName и ID:

xinput list
...
 Razer Razer DeathAdder                     id=8    [slave  pointer  (2)]
...

Затем вы устанавливаете постоянный уровень замедления, который соответствует вашим потребностям, с помощью этой команды:

xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.

Чтобы сделать конфигурацию постоянной (и сделать ее общесистемной) , вам нужно отредактировать ваш xorg.conf ( /etc/X11/xorg.conf).

Section "InputClass"
   Identifier      "Razer"                    # Whatever you want.
   MatchProduct    "Razer Razer DeathAdder"   # Product name from xinput list.
   Option          "ConstantDeceleration" "3" # The same value as xinput.
EndSection

После перезагрузки вы получите тот же результат, что и команда xinput.

Дайте мне знать, если это поможет.

JackTravis
источник
Удивительно! Я бросил это несколько недель назад. Большое вам спасибо, это действительно помогает.
Малабарба
5
Бах: «свойство« Device Accel
Concel Deleleration
1
Все еще работает, даже для Linux Mint 17! Спасибо :)
Ричард де Вит
3
если у меня нет xorg.confфайла, я должен создать его?
Ciprian Tomoiagă
1
@mlissner попробуйте другой идентификатор устройства, у меня есть 3 указателя, и мне пришлось использовать 10
flcoder
6

Ubuntu 17.04

Следуйте инструкциям ниже, но измените:

xinput set-prop 10 "Device Accel Constant Deceleration" 3

Для того, чтобы:

xinput set-prop 10 "libinput Accel Speed" -0.4

Спасибо @tambre. Не уверен, что это так же идеально, как старые настройки, но это довольно близко.

xset m 3

Это все еще работает чертовски хорошо. Нужно выяснить, как сохранить, так что это по умолчанию при перезагрузке.

Ubuntu 16.04

Ответ @JackTravis был невероятно полезным, но я думаю, что стоит обновиться до 16.04, потому что файл xorg.conf был перемещен и разбит на несколько файлов. Прежде чем писать этот ответ, я попытался с помощью xsetи играл с xinputнастройками на некоторое время , прежде чем решить , что JackTravis в xinput ConstantDeceleration 3установке была лучшим вариантом как для моей Logitech M510 на моем рабочем столе и некоторая старая проводная мышь на моем ноутбуке.

1. Список мышей

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=10   [slave  pointer  (2)]
⎜   ↳ Synaptics Inc. Composite TouchPad / TrackPoint    id=13   [slave  pointer  (2)]
...

Моя мышь была Logitech M510, id=10поэтому я собираюсь использовать это в этом примере. Вам нужно будет заменить это на то, что ваша мышь называется. Теперь используйте, xinput set-propчтобы опробовать различные настройки, пока ваша мышь не будет двигаться точно так, как вы этого хотите. Ниже 10приведено соответствие id=10для моей мыши в моей системе. Вам, вероятно, придется изменить это.

2. Временно измените настройки

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

Если вам интересно, какие другие настройки влияют на ваше устройство, попробуйте

$ xinput --list-props 10

Чтобы очистить настройки после того, как я действительно испортил их, все, что мне нужно было сделать, это отключить и снова подключить мою мышь.

3. Сохранить новую настройку навсегда

Если вам нравится ConstantDeceleration, равный 3, то вам нужно добавить файл xorg.conf новым способом Ubuntu 16.04: добавив новый файл в поле « /usr/share/X11/xorg.conf.d/ Вы хотите изменить» Logitech M510и logitech-m510в имени файла, которое соответствует вашей мышке. Я думаю, что 60-в начале имени файла указан приоритет загрузки этих файлов. Следующая однострочная команда оболочки - это то, что я поместил в свой machineSetup.shфайл в Dropbox, чтобы я мог быстро настроить новую машину именно так, как она мне нравится, в течение нескольких минут после новой установки:

sudo sh -c "echo 'Section \"InputClass\"\n\
   Identifier      \"My awesome new mouse\"\n\
   MatchProduct    \"Logitech M510\"\n\
   Option          \"ConstantDeceleration\" \"3\"\n\
EndSection\n' > /usr/share/X11/xorg.conf.d/60-logitech-m510.conf"

ИЛИ , если вы хотите сделать это с помощью графического интерфейса, откройте редактор как root, затем вставьте и отредактируйте следующее в/usr/share/X11/xorg.conf.d/60-<whatever>.conf

Section "InputClass"
   Identifier      "My Awesome Blue Mouse"
   MatchProduct    "Logitech M510"
   Option          "ConstantDeceleration" "3"
EndSection

4. Перезагрузка

Вот и все. Просто перезагрузите компьютер и убедитесь, что новые настройки вступили в силу.

GlenPeterson
источник
1
Я, к сожалению, получаю следующее: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatпри попытке команды на 2-м шаге (с моим идентификатором устройства).
Tambre
@tambre Я предполагаю, что вы не использовали правильный числовой идентификатор, указанный на шаге 1, когда выполняли шаг 2. Если это не так, то я, вероятно, не буду знать достаточно, чтобы иметь возможность помочь вам.
ГленПетерсон
1
После перечисления свойств Device Accel Constant Decelerationтам не существует. Кажется, он использует libinput в качестве драйвера, поэтому мне пришлось изменить значение libinput Accel Speed, допустимые значения которого от -1 до 1.
тамбр
1
Это сработало для меня, но моя мышь («Razer Razer DeathAdder 2013») появлялась несколько раз под Virtual core pointer(дважды) и Virtual core keyboard(один раз). Только pointerустройства имели Device Accel Constant Deceleration, поэтому я должен был выбрать одно из этих устройств при тестировании с xinput. xorg.conf.dФайл по- прежнему работал отлично.
Алекс
2

Поздний ответ, но я думаю, что это стоит опубликовать:

Так как мы говорим об игровой мышке здесь. Лучше полностью отключить ускорение мыши (полезно для геймеров FPS и т. Д.). Сэкономьте некоторые циклы ЦП, не используя его для расчета ускорения мыши и, скорее всего, также для более точных показаний (зависит от того, встроен ли аппаратный сенсор мыши для экстраполяции).

xinput set-prop <mousedevice_nr> "Device Accel Profile" -1

или

Section "InputClass"
   Identifier      "Razer"
   MatchProduct    "Razer DeathAdder"         # Product name from xinput list.
   Option          "AccelerationProfile" "-1" # Turn mouse accel off saving CPU cycles
EndSection

Источник

user165961
источник
Я получаю это: X Error of failed request: BadValue (integer parameter out of range for operation).
MasterOfBinary
здорово, это было здорово, спасибо. У меня проблемы с моим Kingsis Peripherals Evoluent VerticalMouse 3. У него есть настройка DPI в нижней части мыши и при самых высоких настройках DPI - даже самые низкие настройки чувствительности все еще слишком высоки.
anon58192932
2

Небольшая модификация ответа Глена, это работает для моей мыши Logitech и удваивает «медлительность» с 1 до 2.

Добавьте в ~ / .profile (как указано в комментарии) (или .bashrc, но затем вам нужно запустить терминал, чтобы изменения произошли)

MOUSE_SLOWNESS=2
MOUSE_ID=`xinput list | grep Mouse | awk '{print $(NF-3)}' | cut -c4-5`
xinput set-prop $MOUSE_ID "Device Accel Constant Deceleration" $MOUSE_SLOWNESS
lahjaton_j
источник
1
Я думаю, что лучше добавить эти строки в конец, .profileа не .bashrc. .profileзапускается только интерактивными оболочками входа в систему, при этом.bashrc он запускается при каждом запуске bashоболочки. Смотрите этот ответ для получения дополнительной информации.
Chus
технически .bash_aliasesработа работает так же, как стандартный .bashrcфайл ubuntu загружает это правильно?
anon58192932
1

Если вы используете порт PS2, движение мыши будет намного медленнее при том же разрешении мыши.

Для вашей мыши попробуйте использовать конвертер USB в PS2 и поместите мышь в порт PS2.

Редактировать:

Я нашел xorg.confрабочее решение:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

Где чувствительность 1 является значением по умолчанию, а 0,2 уменьшает его в пять раз.

iugamarian
источник
Это креативная идея. Я думаю, что у меня дома есть конвертер, поэтому попробую завтра.
Малабарба
Я нашел работающее решение xorg.conf. Отредактированный ответ.
югамарский
1
Это не будет работать на ноутбуках, хотя.
Даниэль Сильва
Где xorg.conf?
Зеленый