xinput을 통해 마우스 휠의 가속도를 높이는 방법은 무엇입니까?

xinput을 통해 마우스 휠의 가속도를 높이는 방법은 무엇입니까?

나는Microsoft 무선 USB 마우스스크롤 휠은 Linux에서 전혀 가속되지 않는 것 같습니다. Windows 및 OSX에서는 스크롤 속도가 빠를수록 페이지 스크롤 속도가 빨라지며 그 반대의 경우도 마찬가지입니다.

다음과 같이 xinput을 사용하여 마우스 감도 설정을 변경했습니다.이 가이드,좋은 결과. 하지만 동일한 단계를 수행하여 마우스 휠 설정을 변경해도 아무 것도 변경되지 않는 것 같습니다.

$ xinput --list-props내 장치의 출력은 다음과 같습니다.

Device 'Microsoft Microsoft® 2.4GHz Transceiver v8.0':
    Device Enabled (133):   1
    Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (259): 0
    Device Accel Constant Deceleration (260):   1.000000
    Device Accel Adaptive Deceleration (261):   1.500000
    Device Accel Velocity Scaling (262):    0.125000
    Device Product ID (250):    1118, 1970
    Device Node (251):  "/dev/input/event2"
    Evdev Axis Inversion (263): 0, 0
    Evdev Axes Swap (265):  0
    Axis Labels (266):  "Rel X" (143), "Rel Y" (144), "Rel Horiz Wheel" (256), "Rel Dial" (257), "Rel Vert Wheel" (258)
    Button Labels (267):    "Button Left" (136), "Button Middle" (137), "Button Right" (138), "Button Wheel Up" (139), "Button Wheel Down" (140), "Button Horiz Wheel Left" (141), "Button Horiz Wheel Right" (142), "Button Side" (254), "Button Extra" (255), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253)
    Evdev Middle Button Emulation (268):    0
    Evdev Middle Button Timeout (269):  50
    Evdev Third Button Emulation (270): 0
    Evdev Third Button Emulation Timeout (271): 1000
    Evdev Third Button Emulation Button (272):  3
    Evdev Third Button Emulation Threshold (273):   20a
    Evdev Wheel Emulation (274):    0
    Evdev Wheel Emulation Axes (275):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (276):    10
    Evdev Wheel Emulation Timeout (277):    200
    Evdev Wheel Emulation Button (278): 4
    Evdev Drag Lock Buttons (279):  0

속성 274를 278로 수정했지만 아무것도 변경되지 않았습니다.

내 배포판은 Debian Linux이고, 데스크탑 환경은 Xfce이고, 컴퓨터는 Lenovo Thinkpad X201입니다. 하지만 문제는 이 마우스에만 국한된 것이지 이들 중 어떤 것도 아닌 것 같습니다. xinput 메소드에서 뭔가 빠졌나요, 아니면 완전히 다른 것을 시도해야 합니까?

편집: 내가 노력하고 있음을 지정해야 합니다증가하다현재 스크롤 속도가 매우 느리기 때문에 마우스 휠의 속도는 가속을 통해 가장 잘 달성됩니다.

답변1

마우스 휠은 실제로 휠을 움직이는 각 "노치"에 대한 버튼 이벤트를 생성합니다. 드라이버 수준에서 작업 속도를 높일 수 있는 좋은 방법은 없습니다(실제 이벤트와 다른 시간 간격으로 가짜 이벤트를 생성해야 함). 사실 드라이버가 evdev이렇게 하는 경우를 들어본 적이 없습니다.

모든 것휠 시뮬레이션이름에서 알 수 있듯이 속성은 다음과 같습니다.시뮬레이션즉, 실제 물리적 스크롤 휠이 아닙니다. evdev매뉴얼 페이지에 따르면 다음 과 같습니다 .

스크롤 휠 에뮬레이션은 특정 실제 버튼을 누르는 동안 마우스를 움직일 때 버튼 누름/해제 이벤트를 시뮬레이션하는 것을 의미합니다.

이것관성매개변수는 시뮬레이션 시작 시기를 제어하기 위한 것이므로 약간의 마우스 움직임으로 인해 실수로 시뮬레이션이 시작되는 일이 없습니다. 그리고 모든 매개변수가 유효한 것은 아닙니다.휠 시뮬레이션속성이 0이고 시뮬레이션이 비활성화됩니다.

반면에 스크롤 속도를 높이는 것은 쉽습니다.애플리케이션: 장기간 스크롤 휠 이벤트가 있는 경우 페이지 스크롤 양을 늘리면 됩니다.

따라서 Windows나 OSX와 같은 동작을 원할 경우 애플리케이션을 변경해야 합니다.

답변2

절대 속도뿐만 아니라 마우스 휠 가속도도 높이고 싶습니다. 이는 MacOSX의 기능이지만 아직 Xorg(및 Wayland)에는 내장되어 있지 않습니다.

이 기능을 사용자 공간에 구현했습니다.여기(마우스 휠 가속 사용자 공간). 이렇게 하면 스크롤 속도가 빨라지거나 스크롤 속도가 빨라집니다. 원하는 옵션을 사용하여 백그라운드에서 실행하면 됩니다. 코드는 매우 간단한 Python 코드이므로 수정하기 쉬워야 합니다.

답변3

가지다https://github.com/albertz/mouse-scroll-wheel-acceleration-userspace- "마우스 휠 가속, 사용자 공간에 구현됨".

답변4

또한 xinput set-prop 13 276 40(글쎄, 내 관성은 278입니다!)을 시도했는데, 관성을 높이면 더 "활공"하게 될 것이라고 생각했지만 작동하지 않았습니다. 내 경우에는 xkbevd를 사용하여 이벤트를 살펴보니 생각보다 이벤트가 많이 발생하지 않아서 마우스가 닳았나 싶었다.

이제 마우스 가격이 8달러이므로 주문할 차례입니다.

관련 정보