Змініть швидкість прокрутки за допомогою лібінпута


17

Моє колесо миші прокручується занадто повільно, тому я хочу збільшити кількість рядків для кожного "пробірка" прокрутки. Я читав , що це можливо, встановивши Evdev Scrolling Distanceз xinput, однак, я використовую , libinputі я не бачу , що пов'язано з прокруткою відстані.

Вихід xinput list-propsмиші:

Device Enabled (139):   1                                                                                                       
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (275): -0.640000                                                                                           
libinput Accel Speed Default (276): 0.000000                                                                                    
libinput Accel Profiles Available (277):    1, 1                                                                                
libinput Accel Profile Enabled (278):   1, 0                                                                                    
libinput Accel Profile Enabled Default (279):   1, 0                                                                            
libinput Natural Scrolling Enabled (280):   0                                                                                   
libinput Natural Scrolling Enabled Default (281):   0                                                                           
libinput Send Events Modes Available (259): 1, 0                                                                                
libinput Send Events Mode Enabled (260):    0, 0                                                                                
libinput Send Events Mode Enabled Default (261):    0, 0                                                                        
libinput Left Handed Enabled (282): 0                                                                                           
libinput Left Handed Enabled Default (283): 0                                                                                   
libinput Scroll Methods Available (284):    0, 0, 1                                                                             
libinput Scroll Method Enabled (285):   0, 0, 0                                                                                 
libinput Scroll Method Enabled Default (286):   0, 0, 0                                                                         
libinput Button Scrolling Button (287): 2                                                                                       
libinput Button Scrolling Button Default (288): 274                                                                             
libinput Middle Emulation Enabled (289):    0                                                                                   
libinput Middle Emulation Enabled Default (290):    0                                                                           
Device Node (262):  "/dev/input/event1"                                                                                         
Device Product ID (263):    1133, 50487                                                                                         
libinput Drag Lock Buttons (291):   <no items>                                                                                  
libinput Horizonal Scroll Enabled (264):    1                                                  

Як я можу змінити швидкість прокрутки? Я працюю на Arch Linux, Xfce 4.12.


1
Зараз існує запит на функцію libinput, щоб реалізувати це (люб’язно надано @clel ).
пр.

Відповіді:


5

Немає поточних api для зміни швидкості прокрутки для лібінпутових пристроїв, але цей блог пояснює, як натискання колеса миші відповідає куту руху, який можна змінити на мишу в файлі конфігурації uded системи /usr/lib/udev/hwdb.d/70-mouse.hwdb. Прочитайте коментарі про MOUSE_WHEEL_CLICK_ANGLEпочаток цього файлу.

Щоб внести локальну зміну, створіть новий файл

 /etc/udev/hwdb.d/71-mouse-local.hwdb

і додайте своє правило. Наприклад, якщо у вас є миша ImExPS / 2, ви можете подвоїти 15 градусів за клік за тиском на 30 градусів за допомогою

# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:
 MOUSE_DPI=400@250
 MOUSE_WHEEL_CLICK_ANGLE=30

Перезавантажте базу даних udev

 sudo udevadm hwdb --update
 sudo udevadm trigger /dev/input/event1

1
There is no current api for changing the scroll speed for libinput devices: чи змінилося це відтоді?
orschiro

1
@orschiro У мене складається враження, що апі - це не намір. Будемо сподіватися, що всі пристрої будуть належним чином ідентифіковані та налаштовані у udev, і тоді немає потреби в налаштуваннях користувачів. Перегляньте всі блоги libinput . Зокрема 1.4 відповідає завершенню початкового списку TODO для лібінпуту.
meuh

4
в Ubuntu 16.10 система udev conf знаходиться в /lib/udev/hwdb.d/70-mouse.hwdb
Йонас Берлін

2
все одно робити те ж саме з тачпадом?
Франческо

1
@daboross Так. Слід враховувати два аспекти: наведена вище відповідь просто намагається нормалізувати вихід з пристрою, щоб, коли користувач, наприклад, робив однакову кількість руху на двох різних мишах, система може розрахувати, що вони є рівнозначними, незважаючи на звіти від апаратних засобів, що відрізняються. Другий аспект - це те, скільки цей екран повинен представляти, і це визначається складною кількістю програмного забезпечення, що стоїть перед користувачем, як, наприклад, графічний інструментарій, система вікон, dpi екрана тощо.
meuh

4

Libinput не має поняття "для кожного прокрутки колеса, зробіть n рядків / градусів" як загальна сторона, налаштування, здається, наразі є специфічним для пристрою, оскільки у деяких Logitech є параметр, Evdev Scrolling Distance (278)який, можливо, поставляється зі "старим" Evdev драйвер включає.

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

Існує багато можливостей виправити таку проблему, але це залежить від дистрибутива Linux.

  1. Пощастить і мати чутливість прокрутки до конкретного драйвера - перевірити, виконуючи пошук усіх входів зі змінними прокрутки:

    список xinput | вирізати -f2 | вирізати -f2 -d '=' | \
                xargs -d $ '\ n' -I '{}' sh -c "xinput list-reps '{}' | grep -iq прокрутка && \
                                        (ехо Перелік dev id '{}'; xinput list-props '{}') "
    і встановлення конкретної змінної за , де може бути ім'я пристрою і може бути ім'ям налаштування.xinput --set-prop <ID> <SUB-ID> <values><ID><SUB-ID>

  2. Загальна виправлення об'єднань коду libinput і відновлення .

  3. Ви можете спробувати відкатати інтерфейси udevadm / evdev з X11, а потім спробувати змінну X11 MOUSE_WHEEL_CLICK_ANGLE .

  4. З посилання на останній елемент , його можна використовувати imwheelдля імітації клацань прокрутки миші в кратному значенні.

    # Should use imwheel --kill --buttons "4 5" to restart imwheel,
    # if the mouse has back/forward buttons, otherwhise imwheel --kill is enough.
    # imwheel must be set to autostart in your DE tools.
    #Edit ~/.imwheelrc to include, where '3' is a multiplier
    ".*"
    None,      Up,   Button4, 3
    None,      Down, Button5, 3
    Control_L, Up,   Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
    
  5. Існують конкретні налаштування програми для чутливості колеса миші, як Chrome SmoothScroll та Firefox SmoothWheel ref .


1
Перехід Libinput багато в чому регресував UX, майже всі вони зводилися до контролю користувачів над поведінкою свого обладнання ... Що прикро, враховуючи платформу, на якій це відбувається.
Дуглас Гаскелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.