Настройте скорость мыши (не ускорение указателя!)

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 ]

Интересующее вас свойство - «Device Accel Concel Deleleration (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' 'Ускорение устройства с постоянным замедлением' 2.5
Simon Thum
2
эта настройка остается после перезагрузки? если нет, мы можем заставить это придерживаться?
Ciprian Tomoiagă
3
Что делать, если «Device Accel Concel Deleleration» даже не доступна?
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дает вам постоянную скорость мыши.

Итак, эти два значения дают вам очень точный контроль над скоростью.

exhuma
источник
1
Конкретно рассматриваемый параметр - это разрешение, которое нельзя изменить с помощью xset.
Лука
Чтобы уточнить, порог = 0 дает вам полиномиальное ускорение по X, которое совсем не похоже на постоянную скорость. Используйте решение выше.
Саймон Тум,
@ SimonThum это действительно так? Я также думал, что ускорение должно быть линейным (несмотря на переход между базовой скоростью и конечной скоростью = базовая скорость * ускорение). Я читал это много раз в комментариях. У вас есть источники, подтверждающие ваши претензии?
daniel451
Ну, см. Cgit.freedesktop.org/xorg/xserver/tree/dix/ptrveloc.c#n840, который является текущим воплощением cgit.freedesktop.org/xorg/xserver/tree/dix/…
Simon Thum
Я не понимаю, почему все ожидают использования ускорения мыши в наши дни, а разрешение не легко доступно. Единственная разумная настройка, когда вы хотите иметь высокоточную мышь, - это отключение ускорения и снижение (ровная) скорость, потому что современные лазерные мыши имеют сумасшедший высокий 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, именно он дал подсказку о матрице.

Привет, ангел
источник
Лучше оставить Матрицу преобразования координат в ее первоначальном назначении, например, «преобразование координат» в случае ориентации экрана или работы с сенсорными экранами и т. Д. Более простым способом является, например, регулировка замедления при постоянном ускорении устройства.
Кари Kääriäinen
2
@ KariKääriäinen, как и другие, сбиты с толку. Так называемое «ускорение указателя» не имеет ничего общего с чувствительностью мыши, оно просто позволяет перемещать указатель по мере его увеличения. То есть, если вы перемещаете мышь на то же расстояние, но с разными скоростями, указатель будет перемещен на другое расстояние. Это довольно неудобно, вы должны замедляться каждый раз, чтобы достичь какой-то точки. Но изменение матрицы преобразования позволяет в некотором смысле эмулировать повышенную чувствительность мыши. И, кстати, в частности, 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 Concel Deleleration, по крайней мере, в моем случае. Матрица преобразований все еще существует и может воздействовать на нее с желаемым эффектом, хотя то, что @ StéphaneGourichon указывает выше, имеет смысл. Ах, хорошо, Linux и его странности ...
kellogs
4

Хотя я не очень ясно по этому вопросу, вот мое предложение.

Для KDE

Быстрый поиск показывает, что нет такой опции, чтобы увеличить скорость мыши ниже порогового значения.

Некоторые пользователи предлагают изменить разрешение мыши в /etc/X11/xorg.conffile ( mouse InputDevice section), например

Option "Resolution" "400"

Но большинство пользователей сказали, что это не сработало.

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

Соответствующий пост можно найти здесь .

Для единства

  • Нажмите Superклавишу (клавиша Windows).
  • Ищите mouse.
  • Выбрать Mouse And Touchpad
  • Теперь измените чувствительность на более высокое значение. Возможно, это то, что вы хотите.

    настройки мыши

Web-E
источник
2
Хорошо, это именно та настройка, которую я ищу, но ваш скриншот взят из Gnome, и мой вопрос касается KDE4.
Андре
Извините за неправильную проверку вашего вопроса. Обновлено.
Web-E
Вау, спасибо! Кажется, вы приложили много усилий для этого. К сожалению, редактирование xorg.conf не вариант, потому что я хочу, чтобы пользователи могли сами настраивать настройку «Разрешение», и это политика компании, которая запрещает пользователям изменять xorg.conf. Я добавлю это ограничение в исходный комментарий, но, тем не менее, добавлю комментарий.
Андре
3
О, мой бог. Возможность установить «разрешение указателя» только через файл конфигурации (т.е. не в интерактивном режиме) следует рассматривать как ошибку. Сколько раз пользователь должен перезапустить XServer, чтобы найти подходящее разрешение? 5? Десять? Это так же смешно, как и грустно ...
Привет, Ангел,
Я только что установил unity-control-center, установил высокую чувствительность мыши, и это не сработало.
Привет, Ангел,
2

Учитывая то, что сказал вышеупомянутый пост, я нашел эту работу вокруг.

Дело в том, что мышь движется с постоянной кратной базовой скорости, где кратность задается параметром «ускорение».

Однако этот множитель применяется только после того, как ваша мышь двигается быстрее, чем «пороговая» скорость, указанная параметром «чувствительность».

Это создает неловкое ощущение «ускорения», когда, если вы начинаете быстро двигать мышью, она начинает бесконтрольно прыгать, перемещаясь выше пороговой скорости.

Итак, вы можете установить «чувствительность» на 0, таким образом, установив порог равным 0. Что это делает, так это то, что ваше ускорение все время применяется к скорости мыши.

Тогда ваша скорость мыши будет кратна вашему параметру «ускорения», и, поскольку это линейное умножение, вы должны иметь постоянную скорость, пропорциональную параметру ускорения. Без ощущения ускорения и прыжков.

Итак, вкратце: установите чувствительность на 0. Настройте параметр «ускорение», как если бы он был «скорость»

Evan
источник
Этот ответ является общей версией KDE-ориентированного ответа Лолмауса. Я сделал именно это, хотя я сначала попытался с порогом 1 пиксель, так как другие ответы упоминали 0 как «отключить». Во всяком случае, я мог проверить это немедленно, запустив это: xset mouse 4 0и тому подобное, и наконец согласился xset mouse 2 0. Это своего рода хак (использование функции ускорения для простой скорости), но оно работает, хотя я чувствую, что при использовании все еще применяется определенный порог.
Стефан Гурихон
1

Лично я считаю, что точное движение указателя лучше для общего рабочего стола, поэтому этот параметр важен и для меня. Мне всегда было интересно, почему разработчики OS UXP не только делают ускорение по умолчанию, но и стремятся убрать управление из пользовательского интерфейса.

Возможно, вы обнаружите, что ускорение, которое должно сделать вас более удобным UXP, на самом деле нежелательно в некоторых ситуациях, поскольку вы можете пропустить нужные элементы интерфейса на экране при быстром перемещении мыши или просто нуждаетесь в точности для некоторых приложений САПР. В частности, трудно контролировать элементы пользовательского интерфейса ползунка и вращателя или перемещать фигуру в пользовательском интерфейсе какого-либо дизайнера. Кроме того, с ускорением трудно позиционировать курсор мыши в текстовом редакторе точно так же, как при копировании и вставке области текста. Кто-то может возразить, что когда вам нужно добиться точности, вы просто замедляетесь, но что, если вы не хотите замедляться и все же получаете точность?

Вы можете проверить, есть ли ускорение или нет:

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

Идентификатор устройства = 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

В качестве альтернативы, начиная с libinput-1.1.0-1 и xf86-input-libinput-0.15.0-1, вы можете использовать плоский профиль ускорения. Чтобы включить его, создайте следующий файл:

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

Раздел «InputClass» Идентификатор «Моя мышь» Драйвер »libinput« MatchIsPointer »yes« Опция «AccelProfile» «flat» Опция «AccelSpeed» «0» EndSection

и перезапустите X.

Другой вариант - эта команда:

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

Который не требует перезапуска X, но не является постоянным. Хотя его можно настроить на автоматический запуск с автозапуском.

Kellogs
источник
0

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

Это разговорное краткое изложение ответа exhuma, не забудьте высказать его.

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

Первая скорость не настраивается (по крайней мере, из GUI). Вторая скорость настраивается.

Решение:

  1. Установите «Порог указателя» на 0. В результате вторая скорость будет применяться всегда.
  2. Отрегулируйте «ускорение указателя», чтобы увеличить или уменьшить эту скорость.

Вы получите постоянную, не динамическую скорость курсора, настроенную по вашему вкусу.

Лолмаус - Андрей Михайлов
источник