![Какой исходный код мне нужно отредактировать и перекомпилировать, чтобы курсор работал медленнее?](https://rvso.com/image/170293/%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%20%D0%BE%D1%82%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B8%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%2C%20%D1%87%D1%82%D0%BE%D0%B1%D1%8B%20%D0%BA%D1%83%D1%80%D1%81%D0%BE%D1%80%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%BB%20%D0%BC%D0%B5%D0%B4%D0%BB%D0%B5%D0%BD%D0%BD%D0%B5%D0%B5%3F.png)
У меня Linux Mint 19.3 (MATE x64) и мышь Logitech G402, которую я хотел бы использовать с ним.
Используя настройки по умолчанию, мой курсор перемещается точно50раз быстрее, чем мне бы хотелось, чтобы он двигался.
Я перепробовал всевозможные настройки, чтобы замедлить движение курсора, но они не работают.
Настройки скорости указателя (меню «Пуск» -> «Настройки» -> «Мышь») практически не имеют значения, даже если я устанавливаю их на абсолютный минимум.
Вот вывод xinput
с настройками по умолчанию:
$ xinput list-props "Logitech Gaming Mouse G402"
Device 'Logitech Gaming Mouse G402':
Device Enabled (155): 1
Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (292): 0
libinput Natural Scrolling Enabled Default (293): 0
libinput Scroll Methods Available (294): 0, 0, 1
libinput Scroll Method Enabled (295): 0, 0, 0
libinput Scroll Method Enabled Default (296): 0, 0, 0
libinput Button Scrolling Button (297): 2
libinput Button Scrolling Button Default (298): 2
libinput Middle Emulation Enabled (299): 1
libinput Middle Emulation Enabled Default (300): 0
libinput Accel Speed (301): 0.000000
libinput Accel Speed Default (302): 0.000000
libinput Accel Profiles Available (303): 1, 1
libinput Accel Profile Enabled (304): 1, 0
libinput Accel Profile Enabled Default (305): 1, 0
libinput Left Handed Enabled (306): 0
libinput Left Handed Enabled Default (307): 0
libinput Send Events Modes Available (277): 1, 0
libinput Send Events Mode Enabled (278): 0, 0
libinput Send Events Mode Enabled Default (279): 0, 0
Device Node (280): "/dev/input/event5"
Device Product ID (281): 1133, 49278
libinput Drag Lock Buttons (308): <no items>
libinput Horizontal Scroll Enabled (309): 1
Единственная опция, которая может повлиять на скорость моего курсора, — это Матрица преобразования координат (также Скорость ускорения, но она не превышает -1, а мне нужно, чтобы она превышала -1). Если я установлю ее на 1 0 0 0 1 0 0 0 50
, моя скорость курсора будет правильно разделена на 50.Однаконестандартная матрица преобразования координат приведет к тому, что игры, захватывающие курсор (например, Minecraft), будут работать некорректно, сбрасывая курсор почти в верхний левый угол экрана каждый раз, когда курсор освобождается, и заставляя моего персонажа резко вращаться в направлении верхнего левого угла во время захвата.
Похоже, у меня больше нет вариантов заставить мышь работать должным образом, используя предполагаемые методы, поэтому я чувствую, что мне придетсяотредактируйте исходный код, чтобы мой курсор двигался с разумной скоростью, как бы безумно это ни звучало. Я в таком отчаянии, что готов был бы вставить / 50.0
что-нибудь жестко закодированное в какой-нибудь код на C, скомпилировать, установить и на этом закончить, но, к сожалению, я понятия не имею, куда это вставить.
Конечно, мы все, вероятно, понимаем, что это чудовищно сложный вопрос, который я здесь задаю, поэтому если есть еще варианты настройки моего курсора, которые я просто не смог найти или найти в Google в течение нескольких дней, то я был бы рад узнать о них.
решение1
Я нашел соответствующий код в libinput
, в filter-low-dpi.c
. Я разделил возвращаемое значение функции calculate_acceleration_factor
на 50.0
, затем скомпилировал и установил согласно инструкциям.
Если у вас возникли похожие проблемы, в зависимости от модели вашей мыши вам может потребоваться редактирование filter-mouse.c
.