Как настроить чувствительность мыши, а не только ее ускорение?

35

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

KDE позволит мне установить ускорение мыши на 1х, но тогда мышь движется слишком медленно, и я не могу понять, как увеличить скорость. Я готов принять решение CLI, но мне удалось только xinputизменить ускорение. Я тоже не припоминаю, чтобы мне повезло xset.

Дэвид Гэй
источник
Разве вы не можете сделать это, увеличив ускорение и порог, при котором ускорение запускается? Имеет ли эта помощь?
Тердон
1
Я так не думаю. Если я правильно понимаю, это просто оставило бы меня с медленной мышью с 1-кратным ускорением, пока я не переместил бы указатель на определенное расстояние, на которое бы сработало ускорение. Я хочу, чтобы мой указатель всегда перемещался с той же скоростью . Я не хочу никакого ускорения вообще.
Дэвид Гей
Я тоже не уверен, но, похоже, я чего-то добиваюсь xset m 3 400, идея состоит в том, чтобы установить порог достаточно высоким, чтобы вы никогда его не проходили, чтобы у вас не было ускорения как такового. Возможно, если вы немного поиграете с этим?
Тердон
Я знаю, что могу устранить ускорение, но я хочу увеличить СКОРОСТЬ без ускорения. Увеличенная скорость, нулевое ускорение. Я сейчас говорю в #kde, и кажется, что единственным решением может быть покупка мыши с большим DPI. : / Если я не получу хорошего ответа через некоторое время, я сам отвечу на него как на невозможный.
Дэвид Гей
3
Об этом спрашивали и отвечали на Ubuntu SE: askubuntu.com/questions/172972/…
Уоррен Янг

Ответы:

26

Просто заставьте указатель пропустить пиксели, вот как:

Первый список устройств ввода:

$ 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): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        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>. Поиграйте немного с этим, пока не найдете подходящий. Примечание: не меняйте последнее значение матрицы. Это была моя ошибка, когда я пытался получить работу - в этом случае вы просто не увидите никакой разницы.

Благодарности: Я благодарен Саймону Туму из списка рассылки xorg, именно он дал подсказку о матрице.

UPD : обратите внимание, что некоторые игры для Windows, работающие с Wine, могут иметь странное поведение указателя (например, заметили, что цель в старом Counter Strike 1.6 снижается до тех пор, пока она не смотрит на пол, независимо от того, как вы двигаете мышь) , в этом случае просто перезагрузите x и y CTM до 1 перед запуском игры.

Привет, ангел
источник
1
@ Wyatt8740 Недавно я заметил, что в некоторых случаях номер свойства может измениться сам по себе, для такого случая можно использовать имя устройства / свойства вместо номера. Т.е. с моим устройством: xinput set-prop "PixArt USB Optical Mouse" "Coordinate Transformation Matrix" 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000.
Привет, Ангел,
да, я тоже использовал эти строки.
Wyatt8740
1
Удивительно, единственное, что работает для меня
MichalH
17

Следующее было дословно скопировано из ответа, который @Luke разместил в Ask Ubuntu. Я публикую его как ответ сообщества вики, поэтому информация может быть и на этом сайте.


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, и мышь движется с половинной скоростью.


Объяснение свойств можно найти на X.org .

Если кто-то использует это в сценариях, может помочь использование полных имен, поскольку идентификатор и т. Д. Могут измениться. Например:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1
тердон
источник
Если вы не согласны с тем, что я сделал здесь, сообщите мне об этом в мета-посте.
Тердон
1
Если бы вы только могли уточнить: имеет ли отношение «Ускорение при постоянном ускорении устройства» к ускорению или чувствительности? Не могли бы вы привести пример команды для моего вопроса? Тот, который удаляет все ускорения мыши, но все же позволяет мне увеличить чувствительность мыши (БЕЗ ускорения)?
Дэвид Гей
@ честно говоря, я понятия не имею. Я скопировал это с сайта, на который я ссылаюсь. Это тоже сайт SE, я бы просто спросил их.
Тердон
@terdon так как мне увеличить скорость указателя мыши? Опция, на которую вы указали, по умолчанию установлена ​​на «1.0», и попытка уменьшить ее далее приводит к отрицательному значению, или, по крайней мере, что-то вроде «0.1» вызывает ошибку.
Привет, Ангел,
1
Это работает только в том случае, если ваше устройство разрешает эту опцию, а моя - нет. Вы можете проверить сxinput list-props <device-id>
Франклин
4

Если вы используете Xorg.conf для настройки своего X-сервера, вы можете использовать его для настройки ускорения или замедления. Просто добавьте что-нибудь к эффекту:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "ConstantDeceleration" "multiplier"
EndSection

где множитель - во сколько раз медленнее вы хотите, чтобы мышь двигалась. 0,5 удвоит скорость, или 2 уменьшит ее вдвое. Эквивалентно, хотя и более сложный:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "TransformationMatrix" "a b c d e f g h i"
EndSection

где «a» - «i» - матрица преобразования, как описано в других ответах.
Источник: xorg.conf manpage

Кири Оцелот
источник
2

Я использую следующие настройки в Mint 17.2 + Cinnamon, но я думаю, что это работает и в вашей среде.

xinput list # to get the id of your mouse
xinput list-props 10 # to list the properties of your mouse
xinput set-prop 10 'Device Accel Profile' -1 # turns off mouseaccel
xinput set-prop 10 'Device Accel Constant Deceleration' 1.5 # settings the sens

Я предлагаю вам сначала установить максимальное значение DPI на вашей мыши (у меня есть кнопки для этого). После этого вы можете уменьшить замедление, если у вас все еще слишком низкая чувствительность.

Если все в порядке, вы можете поместить это в нужный файл в вашей системе, чтобы он загрузил настройки при загрузке. Для меня этот файл является ~/.xinputrc.

Некоторая информация об этих свойствах xinput: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/

(Примечание: я люблю Linux! <3 После того, как я «обновил» свою систему с XP в 2009 году. С тех пор у меня был mouseaccel на Windows 7, независимо от того, какой акселфикс я пробовал. Поверьте мне, я попробовал все из них. Теперь через 6 лет Мне удалось отключить его на Linux Mint. :-) Было уже слишком поздно, из-за этого я по крайней мере частично закончил свою игровую карьеру. Это означало -20% точности в моем FPS. Таким образом, я играл на 40% вместо 50-60% соотв., Что является навыком с низким средним значением вместо высокого. Игра сейчас мертва, но все же это релиз, в котором мне не нужно переносить эту мышиную вещь с помощью операционной системы.)

inf3rno
источник
0

в Ubuntu 16.04 свойство для моей мыши:

Device Accel Constant Deceleration (279)

По умолчанию установлено значение 1.0. Если вы увеличите значение, то ваша мышь будет замедляться.

Acarkan
источник
0

попробуйте LXInput, это то, что я использую, я не понимал, что сделали ускорение и чувствительность, пока не прочитал ваш пост ^ (спасибо!), он находится в стандартном репозитории для Ubuntu 16.04. Обратите внимание, что я устанавливаю DPI мыши через Solaar, поэтому не уверен, что Solaar и LXInput взаимодействуют таким образом, что делает LXInput бесполезным сам по себе. редактировать извините, я думаю, что «чувствительность» и «ускорение» LXInpu отличаются от скорости. я думаю, "чувствительность" - насколько чувствительно ускорение. извиняюсь. однако-> Solaar определенно может использоваться для установки DPI / Speed ​​для мышей logitech, но только последние из github, а не те, что в репозиториях


LXInput - это приложение с графическим интерфейсом для облегченной среды рабочего стола X11 (LXDE).

Он настраивает настройки клавиатуры и мыши:

  • Задержка и интервал для повторения символов * Включить / выключить звуковые сигналы ошибки ввода с клавиатуры * Поменять местами левую и правую кнопки мыши * Ускорение и чувствительность мыши

0.3.5-1 Ubuntu

406,5 кБ

Фрэнни
источник