가운데 버튼을 클릭하고 드래그하는 트랙패드와 마우스의 이상한 점

가운데 버튼을 클릭하고 드래그하는 트랙패드와 마우스의 이상한 점

저는 3버튼 트랙패드가 내장된 Dell Precision 7560 노트북에서 RHEL 8.9를 실행하고 있습니다(왼쪽, 가운데, 오른쪽 버튼은 모두 트랙패드와 노트북의 전면 가장자리 사이에 있음). 중간 버튼 클릭 및 드래그 이벤트를 읽고 처리해야 하는 gtk3 앱이 있습니다. 트랙패드의 가운데 버튼을 사용하면 앱이 제대로 작동하지만, 외부 3버튼 마우스를 사용하면 작동하지 않습니다. (외부 마우스의 가운데 버튼이 다른 시스템에서 작동하는 것으로 확인되었고, 두 번째 외부 마우스도 시도했지만 실패했습니다.) 트랙 패드 또는 마우스 커서를 이동하는 동안 트랙 패드 가운데 버튼을 길게 누르면 마우스를 사용하면 디스플레이의 커서가 예상대로 움직이고 모든 것이 내 앱에서 제대로 작동하는 반면, 디스플레이 커서는 외부 마우스 가운데 버튼 드래그로 움직이지 않으며 내 앱에는 모션 이벤트가 표시되지 않습니다. 그러나 외부 마우스의 간단한 중간 버튼 클릭 및 해제는 제대로 작동합니다. 저는 다양한 디스플레이 서버(X11 대 Wayland, Classic 대 Unclassic(?) 등)를 각각 실행해 보았지만 여기서는 모두 동일하게 작동합니다.

xev로 디버깅을 시도했고 트랙패드 중간 버튼, 즉 Button Press, 일련의 MotionNotify, ButtonRelease를 사용하여 예상할 수 있는 결과를 정확하게 확인했습니다. 외부 마우스 가운데 버튼을 클릭하여 끌기를 시도할 때 가운데 버튼을 처음 누르고 있으면 이벤트가 발생하지 않으며, 후속 끌기는 MotionNotify 이벤트가 나타날 것으로 예상될 때마다 ButtonPress/Release 이벤트 쌍을 생성하고 마지막으로 버튼을 놓으면 이벤트가 보고되지 않습니다.

위의 동작이 충분히 이상하지 않다면, 가장 중요한 점은 이와 관련하여 최소한 두 개의 서로 다른 터미널 앱(gnome-terminal 및 xfce4-terminal)의 반대 동작입니다. 외부 마우스 가운데 버튼을 클릭하고 끌면 터미널 창 내용이 스크롤되지만(즉, 모션 이벤트가 어떻게든 터미널로 전달됨) 디스플레이 커서는 움직이지 않습니다. 그러나 트랙패드 가운데 버튼을 클릭하고 드래그하면 디스플레이 커서가 움직여도 터미널 창 내용이 스크롤되지 않습니다.

xinput을 사용해 조금 살펴봤지만 뚜렷한 영향을 미칠 것으로 보이는 장치나 장치 속성을 발견하지 못했습니다.

% xinput --list
 Virtual core pointer                           id=2    [master pointer  (3)]
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]
   ↳ xwayland-pointer:17                        id=6    [slave  pointer  (2)]
   ↳ xwayland-relative-pointer:17               id=7    [slave  pointer  (2)]
 Virtual core keyboard                          id=3    [master keyboard (2)]
   ...  
        
% xinput --list-props xwayland-pointer:17
Device 'xwayland-pointer:17':
        Device Enabled (121):   1
        Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (247):     0
        Device Accel Constant Deceleration (248):       1.000000
        Device Accel Adaptive Deceleration (249):       1.000000
        Device Accel Velocity Scaling (250):    10.000000

xinput 장치 목록에 고유한 트랙패드와 마우스 장치를 명확하게 나타내는 항목이 없다는 것이 조금 이상하게 보입니다.

여기서 무슨 일이 일어나고 있는지 아는 사람 있나요? 외부 마우스와 닫힌 노트북으로 작업하고 싶습니다. 나는 이 사이트와 다른 곳에서 몇 가지 유사한 상황을 검색했지만 나에게 적용되는 해결책을 찾지 못했습니다. 노트북에는 포인팅 스틱이 없으며 ~/.config에 제가 알고 있는 바로가기를 만들지 않았습니다.

감사해요!

관련 정보