Зниження чутливості миші нижче норми


42

У моєму ноутбуці Ubuntu приєднана USB-миша. Ця миша (на жаль) дуже чутлива, і тому інколи стає важко вражати невеликі значки покажчиком миші. Це справді апаратне питання, це не помилка, і це не вина Ubuntu / gnome. Все-таки я дуже хотів би вирішити цю проблему через програмне забезпечення (вирішення через апаратне забезпечення означало б придбання нової миші).

Ще в Windows, якщо я встановив чутливість як дійсно низьку, це було досить комфортно. В Ubuntu навіть найнижча доступна чутливість та прискорення (у меню Система> Переваги> Миша ) все ще неприємні. Як я можу зменшити його нижче мінімального за замовчуванням?

Я спробував xset, але, схоже, xset має справу лише з прискоренням та порогом, але не з реальною чутливістю.


1
Де я кладу ці рядки коду?

Відповіді:


55

У мене є миша Razer DeathAdder, і, як і у вашому випадку, чутливість / прискорення занадто високі, навіть якщо я ставлю їх на найнижчий рівень у налаштуваннях миші. Тому для вирішення цієї проблеми я використав команду xinput.

По-перше, вам знадобиться ваше ім'я та ідентифікатор продукту миші:

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.

Дайте мені знати, чи допоможе це.


Дивовижний! Я відмовився від цього тижнів тому. Дякую велике, це справді допомагає.
Малабарба

5
Bah: "властивості" Device Accel Constant Deleration "не існує, потрібно вказати її тип та формат
mlissner

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налаштуваннями, перш ніж вирішити, що xinput ConstantDeceleration 3налаштування JackTravis було найкращим як для мого 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. Перезавантажте

Це воно. Просто перезавантажте та переконайтеся, що нові настройки набули чинності.


1
Я, на жаль, отримую таке: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatпри спробі команди на другому кроці (з моїм ідентифікатором пристрою).
тамбре

@tambre я здогадуюсь, що ви не використовували правильний числовий ідентифікатор, визначений на кроці 1, коли ви робили крок 2. Якщо це не так, я, мабуть, не знаю достатньо, щоб можна було вам допомогти.
GlenPeterson

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

Джерело


Я отримую це: 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

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 - зменшує її в п’ять разів.


Це творча ідея. Думаю, у мене вдома є перетворювач, тож спробую його завтра.
Малабарба

Я знайшов робоче рішення xorg.conf. Відредагована відповідь.
іюгамаріан

1
На ноутбуках це не працюватиме.
Даніель Сільва

Де xorg.conf?
Зелений
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.