Налаштування швидкості миші (не прискорення вказівника!)


30

Чи можна збільшити швидкість миші в KDE4? Я не хочу прискорення вказівника, я хочу змінити лише швидкість миші.

Редагувати : На жаль, редагування xorg.conf не є для мене варіантом, тому що я хочу, щоб користувачі могли самостійно налаштувати швидкість миші, і саме політика компанії забороняє користувачам дозволяти змінювати xorg.conf.


2
яка різниця між цими двома?
Web-E

3
@ Прискорення Web-E - швидкість, з якою швидкість змінюється з часом
Олег Припін

@ Web-E це дві різні речі.
Бруно Перейра

Відповіді:


35

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)]

На моєму ноутбуці потрібний ідентифікатор пристрою 10 (SynPS / 2 Synaptics TouchPad). У вашій системі вам доведеться вирішити, який пристрій є правильним. Далі запустіть, 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 і миша рухається з половиною швидкості.


5
Ви просто не можете встановити це нижче 1,0, що все ще занадто повільно в моєму випадку.
понг

2
Немає проблем зі списком-реквізитом, але це set-propпризводить до: X Помилка невдалого запиту: BadAccess (спроба доступу до приватного ресурсу відхилена) X.Org X Server 1.16.0, працює на робочому столі Unity. Для X.Org X Server 1.9.3.90 ідентифікатор миші становить 6, а номер власності 233.
Incnis Mrsi

2
Ще краще: xinput set-prop 'SynPS / 2 Synaptics TouchPad' 'Device Accel Constant Deceleration' 2.5
Simon Thum

2
чи ця настройка залишається після перезавантаження? якщо ні, то чи можемо ми змусити його приклеїтись?
Ciprian Tomoiagă

3
Що робити, якщо "Device Accel Constant Deleration" навіть не є доступним варіантом?
DaVince

14

Термінологія налаштувань миші в Linux (Xorg) дещо відрізняється від світу Windows.

Є три важливі параметри:

  • threshold - Курок для прискорення
  • acceleration - Швидкість після досягнення порогу
  • resolution - "Швидкість"

Ці налаштування не залежать від середовища для робочого столу. Вони є чистими налаштуваннями X. Так це завжди працює. Дивіться також розділ миші проxset справді незалежний спосіб зміни цих налаштувань.

Менеджер налаштувань Unity, схоже, перейменовує thresholdна чутливість. Але як ви говорите про KDE, це не має значення.

Користувач може змінюватися лише thresholdта accelerationможе змінюватися. Це resolutionналаштування, яке слід зробити xorg.conf. Але зазвичай перших двох налаштувань достатньо для більшості користувачів.

Linuxreviews пояснює ці значення.

В основному: миша рухається з базовою швидкістю (модифікується за допомогою resolution). Якщо миша переміститься на n пікселів (n = threshold) за короткий час, тоді основна швидкість множиться на acceleration. Наприклад, якщо ви хочете повністю відключити прискорення, ви можете встановити поріг 0. Словом: Якщо миша перемістить 0пікселі за короткий час, я використаю base-speed * acceleration. Таким чином, поріг 0дає постійну швидкість миші.

Отже, ці два значення дають вам дуже тонкий зернистий контроль над швидкістю.


1
Спеціальний параметр - роздільна здатність, яку неможливо змінити за допомогою xset.
Лука

Для уточнення, поріг = 0 дає поліноміальне прискорення в X, що зовсім не схоже на постійну швидкість. Використовуйте розчин вище.
Симон Thum

@SimonThum це справді так? Я також вважав, що прискорення повинно бути лінійним (незважаючи на перехід між базовою швидкістю до кінцевої швидкості = базова швидкість * прискорення). Я читав це багато разів у розділах коментарів. Чи є у вас джерела, які підтримують вашу претензію?
daniel451


Я не розумію, чому всі очікують використання прискорення миші в наші дні, і роздільна здатність не є доступною. Єдине розумне налаштування, коли ви хочете мати мишу високої точності, - це вимкнення прискорення та зменшення (плоскої) швидкості, оскільки сучасні лазерні миші мають божевільний високий DPI, який систематизується системою на божевільну високу швидкість. Але я не хочу насіння, я хочу точності - бажано субпікселя.
Прокоп Хапала

13

Кроки для підвищення чутливості миші:

Спочатку перерахуйте всі пристрої:

$ 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)]   

У прикладі ми бачимо, що ідентифікатор миші дорівнює 10. Наступний список його властивостей:

$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 10.400000, 0.000000, 0.000000, 0.000000, 10.400000, 0.000000, 0.000000, 0.000000, 10.400000
        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

«Матриця перетворення координат» - це саме те, що ми хочемо. Згадайте його №142.

Змінивши цю властивість, ми можемо збільшити швидкість вказівника. Ці значення фактично є матрицею перетворення, яка використовується для обчислення руху вказівника . За посиланням:

За замовчуванням CTM для кожного пристрою введення в X є матрицею ідентичності. Наприклад, дозвольте торкнутися сенсорного екрана в точці (400, 197) на екрані:

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

Координати X і Y події пристрою вводяться у другій матриці обчислення. Результатом обчислення є те, де координати X і Y події відображаються на екрані. Як показано, матриця ідентифікації відображає координати пристрою на координатні екрани без будь-яких змін.

Отже, те, що ми хочемо зробити з матрицею - це встановити значення, які відповідно до x і y, будь-яким іншим конкретним значенням, і це змінило б швидкість вказівника. Приклад з мого ПК:

$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000

Це є xinput set-prop <device-id> <property-number> <property-values>. Пограйте трохи з цим, поки не знайдете відповідних. Примітка: не змінюйте останнє значення матриці. Це була моя помилка, коли я спробував її влаштувати на роботу - у цьому випадку ви просто не побачите різниці.

Принаймні останні версії xinputдозволяють вказувати пристрої та параметри за назвою, тому цей приклад також може працювати:

xinput set-prop 'PixArt USB Optical Mouse' 'Coordinate Transformation Matrix' 1.2 0 0 0 1.2 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" "1.2 0 0 0 1.2 0 0 0 1"
EndSection

Якщо ви не впевнені, чи працює це, змініть це на якесь велике значення, наприклад 5.0, збережіть файл і перезавантажте.

Подяки: Я вдячний Саймону Туму з списку розсилки xorg, саме він дав підказку про матрицю.


Найкраще залишити матрицю трансформації координат до її первісного призначення, "перетворюючи координати", наприклад, у випадку орієнтації на екран або роботи з сенсорними екранами і т. Д. Простіше, наприклад, налаштувати постійне уповільнення Device Accel.
Kari Kääriäinen

2
@ KariKääriäinen, як і інші плутаються. Так зване «прискорення вказівника» не має нічого спільного з чутливістю миші, воно просто дозволяє перемістити вказівник так далі, як швидше ви його перемістите. Тобто, якщо ви переміщуєте мишу на однакову відстань, але з різною швидкістю, вказівник буде переміщений на іншу відстань. Це досить незручно, вам потрібно щоразу гальмувати, щоб потрапити на якусь точку. Але зміна матриці перетворення дозволяє вам в деякому сенсі імітувати підвищену чутливість миші. І btw, конкретно deceleration сповільнює швидкість.
Привіт-Ангел

1
Цікаво, але у цього методу є недолік: при використанні цього деякі пікселі просто недоступні. Щоб зробити це більш очевидним, я спробував xinput set-prop 11 138 40, 0, 0, 0, 40, 0, 0, 0, 1і підтвердив, що миша досягала лише координат, на відстані 40 пікселів. У реальному використанні, ймовірно, буде використано лише 2 або 4 замість 40, але все ще пропускають пікселі. Я зупинився на іншому методі (використовую функцію прискорення як постійне посилення швидкості), оскільки він не має цього недоліку.
Стефан Гурішон

4
Єдина правильна відповідь.
MichalH

1
Станом на 2019 рік більше немає властивості "Device Accel Constant Deleration", принаймні не в моєму випадку. Матриця перетворення все ще існує і на неї можна діяти з бажаним ефектом, хоча те, що @ StéphaneGourichon вказує вище, має ідеальний сенс. Ну добре, linux та його дивацтва ...
kellogs

4

Хоча мені це питання не дуже зрозуміло, ось моя пропозиція.

Для KDE

Швидкий пошук виявляє, що немає такої можливості для збільшення швидкості миші під пороговим значенням.

Деякі користувачі пропонують змінити роздільну здатність миші в /etc/X11/xorg.conf файлі ( mouse InputDevice section)

Option "Resolution" "400"

Але більшість користувачів сказали, що це не працює.

Ви можете збільшити порогове значення, щоб прискорення не почалося до досягнення порогового значення. (Налаштування ввімкнено Mouse> Advanced Settings)

Пов’язану публікацію можна знайти тут .

За єдність

  • Натисніть Super клавішу (клавіша Windows).
  • Шукати mouse .
  • Виберіть Mouse And Touchpad
  • Тепер змініть чутливість на більш високе значення. Можливо, саме цього ви хочете.

    налаштування миші


2
Добре, це саме те налаштування, яке я шукаю, але ваш знімок екрана зроблений від Gnome, і моє питання стосується KDE4.
Андре

Вибачте, що неправильно перевірили своє запитання. Оновлено.
Web-E

Нічого, дякую! Здається, ви доклали багато зусиль для цього. На жаль, редагувати xorg.conf - це не варіант, тому що я хочу, щоб користувачі могли самі налаштувати "роздільну здатність", і політика компанії забороняє користувачам змінювати xorg.conf. Я додам це обмеження до оригінального коментаря, але все ж підтверджую ваш коментар.
Андре

3
О Боже мій. Можливість встановлення «роздільної здатності вказівника» за допомогою лише конфігураційного файлу (тобто не в інтерактивному режимі) слід вважати помилкою. Скільки разів користувач повинен перезапустити XServer, щоб знайти відповідне рішення? П’ять? Десять? Це так само смішно, як і сумно…
Привіт-Ангел

Я щойно встановив unity-control-center, встановив чутливість миші до високої, і це не спрацювало.
Привіт-Ангел

2

З огляду на те, що було сказано у вищезгаданому пості, я знайшов цю роботу.

Справа в тому, що миша рухається з постійним кратним базової швидкості, де кратне значення встановлюється параметром "прискорення".

Однак цей множник застосовується лише після того, як миша рухатиметься швидше, ніж "порогова" швидкість, задана параметром "чутливість".

Це створює незручне відчуття "прискорення", коли якщо ви почнете швидко рухати мишкою, вона починає безконтрольно стрибати навколо, коли рухається повз порогову швидкість.

Тож, що ви можете зробити, це встановити "чутливість" до 0, зробивши таким чином поріг у 0. Це означає, що ваше прискорення застосовується весь час до швидкості миші.

Тоді швидкість вашої миші просто кратна вашому параметру "прискорення", а оскільки це лінійне множення, ви повинні мати постійну швидкість, пропорційну параметру прискорення. Без відчуття прискорення і стрибків.

Отже, коротше: встановіть чутливість до 0. Відрегулюйте параметр "прискорення" так, ніби це "швидкість"


Ця відповідь є загальною версією відповіді на KDE, орієнтованої на KDE. Я зробив саме це, хоча спершу спробував пороговий 1 піксель, оскільки в інших відповідях вказано 0 як "відключити". У будь-якому разі я міг би перевірити це відразу, запустивши це: xset mouse 4 0і подібне, і нарешті вирішив xset mouse 2 0. Це свого роду хак (використовуючи функцію accel для простої швидкості), але працює, хоча я напевно відчуваю, що все ще застосовується деякий поріг.
Стефан Гурішон

1

Особисто я вважаю, що точний рух вказівника краще для загального робочого столу, тому ця настройка важлива і для мене. Мені завжди було цікаво, чому дизайнери ОС UXP не тільки роблять прискорення за замовчуванням, але і, як правило, знімають управління з користувальницького інтерфейсу.

Ви можете виявити, що прискорення, яке повинно зробити вам більш комфортним UXP, насправді небажане в деяких ситуаціях, оскільки ви можете пропустити потрібні елементи інтерфейсу на екрані під час швидкого переміщення миші або просто потрібна точність для деяких програм CAD. Зокрема, важко керувати елементами інтерфейсу слайдера та прядильника або переміщати форму на користувальницькому інтерфейсі дизайнера. Крім того, з прискоренням складно розташувати курсор миші в текстовому редакторі точно під час копіювання та вставки області тексту. Деякі можуть стверджувати, що коли вам потрібно отримати точність, ви просто сповільнюєтесь, але що робити, якщо ви не хочете гальмувати і все одно отримуєте точність?

Ви можете перевірити, є прискорення чи ні:

(1). Перемістіть курсор миші праворуч від екрана, помітіть фізичне положення пристрою на столі.

(2). Помірно перемістіть мишу трохи ліворуч, щоб курсор переміщався по центру екрану, а потім дуже повільно повертав фізичний пристрій у вихідне положення.

(3). Повторіть кроки (1) та (2) кілька разів.

Якщо прискорення немає, курсор повинен весь час надходити праворуч від екрана. Якщо є прискорення, вказівник переміщуватиметься все більше і більше вліво, тому після 3 або 4 разів він просто потраплятиме вліво на екран, тому вам потрібно це виправити.

Жодне прискорення не означає, що вам потрібно налаштувати Device Accel Velocity Scaling параметр.

Це загальмуватиме рух миші загалом, тому вам потрібно компенсувати це постійним регулюванням швидкості. Це можна зробити зі зменшеннямDevice Accel Constant Deceleration параметра.

Ось що для мене спрацювало:

  1. Знайдіть ідентифікатор пристрою миші:

$ xinput list ... ⎜ ↳ PixArt USB Optical Mouse id=10 [slave pointer (2)] ...

Id пристрою = 10

  1. Перелічіть властивості пристрою

$ xinput list-props 10 ... Device Accel Constant Deceleration (276): 1.000000 ... Device Accel Velocity Scaling (278): 10.000000 ...

  1. Зменшіть параметр масштабування до мінімуму, це повинно давати рух одного миші відносно фактичного фізичного руху. Якщо ви встановите його на щось на зразок 0,1, 0,001 або 1e-30, це не має значення, оскільки це набагато нижче прискорення, ніж 10,0 за замовчуванням. Ви не можете встановити його на нуль, оскільки це вважається помилкою.

$ xinput set-prop 10 278 1e-10

  1. (необов’язково) Тепер ви можете помітити, що, незважаючи на точність, швидкість взагалі знижена, тому вам може знадобитися пограти з Constant Decelerationпараметром, щоб відновити комфортну швидкість. У моєму випадку зручне налаштування становило 0,7, що пришвидшило вказівник наполовину, зробило рух миші відчуттям приблизно такої ж швидкості, що була раніше, але без прискорення:

$ xinput set-prop 10 276 0.7

Якщо ви хочете швидше, встановіть тут менше значення, наприклад, 0,5, 0,4 і т.д. Якщо ви хочете повільніше, встановіть його на щось на зразок 1,0, 1,2 або навіть 1,5


1

Наведені вище відповіді застаріли. Що для мене найбільш акуратно працює - це останній розділ цієї статті у Вікі :

з лібінпутом

Крім того, оскільки libinput-1.1.0-1 і xf86-input-libinput-0.15.0-1, ви можете використовувати плоский профіль прискорення. Щоб увімкнути його, створіть такий файл:

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

Розділ "InputClass" Ідентифікатор "My Mouse" Driver "libinput" MatchIsPointer "так" Option "AccelProfile" "flat" Варіант "AccelSpeed" "0" EndSection

та перезапустіть X.

Інший варіант - це ця команда:

$ xinput --set-prop 'libinput Accel Profile Enabled' 0, 1

Котрий не потребує перезавантаження X, але не є стійким. Хоча його можна налаштувати для автоматичного запуску за допомогою автоматичного запуску.


0

Як налаштувати швидкість миші в KDE
  • без включення прискорення миші
  • і лише за допомогою діалогового вікна settigns (без консолі, без конфігураційних файлів)

Це розмовна резюме відповіді ексгуми, не забудьте її підкріпити.

У KDE прискорення миші не є логарифмічним. Тобто він має дві постійні швидкості миші: неприскорену та прискорену. Він перемикається з одного на інший, коли ви досить швидко натискаєте мишкою.

Перша швидкість не налаштована (принаймні, від GUI). Друга швидкість настроюється.

Рішення таке:

  1. Встановіть "Поріг вказівника" на 0. В результаті, друга швидкість буде застосовуватися постійно.
  2. Відрегулюйте "Прискорення вказівника", щоб зробити цю швидкість більшою або меншою.

Ви отримаєте постійну нединамічну швидкість курсору, налаштовану на свій смак.

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