두 개의 버튼을 스크롤 시뮬레이션에 매핑하는 방법은 무엇입니까?

두 개의 버튼을 스크롤 시뮬레이션에 매핑하는 방법은 무엇입니까?

나는 2개의 큰 버튼과 2개의 작은 버튼이 있는 Logitech Trackman Marble을 가지고 있습니다. 또한 스크롤 휠이 없습니다.

사용이 구성은 Arch wiki에서 가져온 것입니다., 작은 버튼 중 하나를 스크롤 수정자로 구성할 수 있습니다.

하지만 왼손 모드에서도 마우스를 사용하는데 다른 작은 버튼은 누를 수 없습니다. 그래서 내가 원해둘 다스크롤을 활성화하는 작은 버튼입니다.

다음 버튼 매핑을 추가해 버튼 9를 버튼 8에 매핑하여 둘 다 스크롤을 트리거하도록 했습니다. 그러나 두 번째 버튼은 뒤로 버튼만 실행합니다.

Option          "ButtonMapping" "1 2 3 4 5 6 7 8 8"

어떻게 해야 하나요?

아니면 오른손잡이용 구성과 왼손잡이용 구성 간에 쉽게 전환하는 방법은 무엇입니까? 마우스를 "미러링"하기 위해 네 번째 쓸모 없는 버튼을 구성할 수 있다면 좋을 것입니다.

답변1

나는 동일한 트랙볼을 가지고 있으며 이것은 /etc/X11/xorg.conf.d/99-logievdev.conf스크롤을 활성화하는 데 사용하는 트랙볼입니다.

Section "InputClass"
    Identifier      "Logitech USB Trackball"
    MatchProduct    "Logitech USB Trackball"
    MatchDevicePath "/dev/input/event*"
    MatchIsPointer  "true"
    Driver          "libinput"
    Option          "ButtonMapping"         "1 0 3 4 5 0 0 8 2"
    Option          "ScrollMethod"          "button"
    Option          "ScrollButton"          "8"
EndSection

트랙볼 스크롤을 활성화하려면 Option "ScrollMethod"및 행만 필요합니다 .Option "ScrollButton"

내 손이 당신의 손과 다를 수도 있지만 네 개의 버튼이 모두 나에게 적합하다고 생각합니다. 그래서 가끔 필요한 오래된 X11 프로그램을 위해 작고 접근하기 어려운 버튼을 마우스 가운데 버튼(버튼 2)에 할당했습니다. 이것이 Option "MiddleEmulation"제가 링크한 Arch Wiki 구성에 사용된 구성을 사용하지 않는 이유이기도 합니다 .

아마도 이 ScrollButton옵션은 이전에 처리되어 ButtonMapping하나의 버튼에만 스크롤을 할당할 수 있게 되었을 것입니다.

구성 간에 전환하려면 다음 스크립트와 같은 것을 사용할 수 있습니다.

#!/bin/sh
MOUSENAME="Logitech USB Trackball"
CUR_SC_BUTTON=$(xinput --list-props "$MOUSENAME" | grep "Scrolling Button (" | cut -d : -f 2)
case $CUR_SC_BUTTON in
    8)
        # mouse is currently right-handed, switch to left
        xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 9
        xinput --set-button-map "$MOUSENAME" 3 2 1 4 5 6 7 9 8
        # note: may need to switch 9 and 8 around, depending on how
        # ButtonMapping and ScrollingButton interact
        ;;
    9)
        # mouse is currently left-handed, switch to right
        xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 8
        xinput --set-button-map "$MOUSENAME" 1 2 3 4 5 6 7 8 9
        ;;
esac

면책조항: 저는 이 스크립트를 직접 테스트하지 않았으며 지금 막 작성했습니다.

"쓸모 없는" 버튼을 사용하여 마우스 구성을 전환하려면 선택한 데스크탑 환경에서 적절한 도구를 사용하여 마우스 버튼을 누를 때 이 스크립트가 실행되도록 지정할 수 있습니다.

관련 정보