libinput을 사용하여 스크롤 속도를 변경하는 방법은 무엇입니까?

libinput을 사용하여 스크롤 속도를 변경하는 방법은 무엇입니까?

저는 Arch Linux, Xfce 4.12에서 실행 중입니다.

마우스 휠 스크롤이 너무 느려서 스크롤 "틱"당 줄 수를 늘리고 싶습니다. 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                                                  

스크롤 속도를 변경하는 방법은 무엇입니까?

답변1

라이브러리 입력각 스크롤 휠에 대해 어떤 종류의 "도 없습니다.N선/도" 개념이 일반적인 측면으로, 설정은 현재 일부 장치에 따라 달라지는 것 같습니다.로지텍Evdev Scrolling Distance (278)"이전" Evdev 드라이버와 함께 제공되었을 수 있는 매개변수가 있습니다.

이것은 다음과 같이 취급될 것이다반품일반 툴킷(libinput)에 구성 가능한 마우스 스크롤 감도를 포함시키는 것은 처음에는 사용자 경험 측면에서 거부되었지만 지금은 그렇습니다.풀 리퀘스트향후 버전에서는 모든 데스크톱 환경에서 함수 호출을 구현해야 할 수도 있습니다.

이런 종류의 문제를 해결할 수 있는 가능성은 많지만 Linux 배포판에 따라 다릅니다.

  1. 다행히 드라이버별 스크롤 감도가 있습니다. 스크롤 변수를 사용하여 모든 입력을 검색하여 이를 확인하세요.

    x 입력 목록|cut-f2 |cut-f2-d'='|
                xargs -d $'\n' -I'{}' sh -c "xinput list-props'{}' | grep -iq 스크롤 && \
                                        (echo 목록 개발자 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의 부드러운 스크롤그리고파이어폭스 스무스 휠 인용하다.

답변2

현재 libinput 장치의 스크롤 속도를 변경하는 API는 없지만이 블로그마우스 휠 클릭이 systemd의 udev 구성 파일에서 변경할 수 있는 각 마우스 이동 각도에 어떻게 대응하는지 설명합니다 /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

답변3

다음 방법을 사용하면 스크롤 "단계 크기"를 더 작게 만들어 전체적으로 스크롤 속도를 느리게 만들 수 있습니다.

xinput --set-prop "YOUR TOUCHPAD" "libinput Scrolling Pixel Distance" YOUR_SPEED

Option "ScrollPixelDistance" "YOUR_SPEED"영구적으로 만들려면 트랙패드의 xorg conf에 추가하세요 .

자세한 내용은 다음 문서를 참조하세요.

https://man.archlinux.org/man/libinput.4#SCROLL_PIXEL_DISTANCE

관련 정보