libinput을 사용하여 트랙 포인트 스크롤을 비활성화하는 방법은 무엇입니까?

libinput을 사용하여 트랙 포인트 스크롤을 비활성화하는 방법은 무엇입니까?

고쳐 쓰다:이제 가운데 클릭 시뮬레이션이 더 이상 작동하지 않아서 그 어느 때보다 더 꼼짝 못하게 되었습니다. 버튼 1과 3을 누르면 가운데 버튼을 누르는 것과 마찬가지로 스크롤 휠 역할을 합니다.

트랙 포인트가 있는 Lenovo 키보드가 있지만 마우스 가운데 버튼을 클릭하고 드래그할 수 있어야 합니다. 대부분의 기사에서는 스크롤 휠 시뮬레이션을 활성화하는 방법을 설명하지만 반대 문제에 직면했습니다. 스크롤 기능은 기본적으로 켜져 있으며 끌 수 없습니다. 이 문제는 중간 시뮬레이션으로 해결할 수 있지만 두 손을 사용해야 하기 때문에 어색합니다. 보고된 속성은 다음과 같습니다.

$ xinput list-props 'pointer:Lenovo ThinkPad Compact USB Keyboard with TrackPoint'
Device 'Lenovo ThinkPad Compact USB Keyboard with TrackPoint':
        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 (290):       0
        libinput Natural Scrolling Enabled Default (291):       0
        libinput Scroll Methods Available (292):        0, 0, 1
        libinput Scroll Method Enabled (293):   0, 0, 0
        libinput Scroll Method Enabled Default (294):   0, 0, 1
        libinput Button Scrolling Button (295): 2
        libinput Button Scrolling Button Default (296): 2
        libinput Middle Emulation Enabled (297):        0
        libinput Middle Emulation Enabled Default (298):        0
        libinput Accel Speed (299):     0.000000
        libinput Accel Speed Default (300):     0.000000
        libinput Accel Profiles Available (301):        1, 1
        libinput Accel Profile Enabled (302):   1, 0
        libinput Accel Profile Enabled Default (303):   1, 0
        libinput Left Handed Enabled (304):     0
        libinput Left Handed Enabled Default (305):     0
        libinput Send Events Modes Available (275):     1, 0
        libinput Send Events Mode Enabled (276):        0, 0
        libinput Send Events Mode Enabled Default (277):        0, 0
        Device Node (278):      "/dev/input/event24"
        Device Product ID (279):        6127, 24647
        libinput Drag Lock Buttons (306):       <no items>
        libinput Horizontal Scroll Enabled (307):       0
        Evdev Wheel Emulation (391):    0

사용 가능한 스크롤 방법과 가로 스크롤을 비활성화한 것을 볼 수 있습니다. Evdev 속성도 추가되었습니다. 여전히 도움이 될 수 있는 유일한 확실한 방법은 스크롤 버튼(속성 295)을 변경하는 것입니다. 하지만 작동시킬 수는 없습니다.

$ xinput set-int-prop 'pointer:Lenovo ThinkPad Compact USB Keyboard with TrackPoint' 295 8 3
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  19
  Current serial number in output stream:  20

저는 아치 리눅스를 사용하고 있습니다. 이상적인 세계에서는 쉘 스크립트를 사용하여 스크롤 휠을 마음대로 활성화 및 비활성화할 수 있는 동적 솔루션을 찾을 수 있습니다. 그러나 필사적으로 xorg.conf 또는 휠을 활성화하거나 비활성화하기 위해 X 서버를 다시 시작해야 하는 기타 방법과 관련된 솔루션에도 관심이 있습니다.

답변1

이 시도:

xinput set-prop <device> 295 3

이것은 int 소품이 아닌 것 같습니다.

답변2

트랙 포인트의 경우 libinput의 기본값은 다음과 같습니다.버튼 스크롤, 마우스 휠 시뮬레이션 또는 가상 스크롤이라고도 합니다. 이 값을 변경하는 것은 창 관리자에 따라 다르지만 libinput API를 반영합니다.

swaymsg -t get_inputs -r예를 들어 sway에서는 시스템 입력, 해당 식별자 및 현재 적용된 libinput 설정의 json 목록을 가져오기 위해 호출할 수 있습니다 . 그런 다음 이를 사용하여 원하는 스크롤 방법을 설정할 수 있습니다. 예를 들어, 내 관련 장치는 입니다 '2:10:TPPS/2_Elan_TrackPoint'. 버튼 스크롤을 비활성화하려면 scroll_method또는 다른 키 이벤트 를 변경 on_button_down하거나 설정할 수 있습니다 . 여기서 기본값은 274이며 이는 마우스 가운데 버튼에 해당합니다. 이전 명령 기본값을 사용하여 동작을 확인할 수 있습니다. 켜고 끌 수 있습니다. 언제나처럼 봐scroll_buttondisableget_inputs매뉴얼 페이지자세한 내용은.

관련 정보