Thinkpad T480s에는 "터치패드"가 있습니다. 즉, 물리적 전용 버튼이 아닌 터치패드(부품) 자체를 누를 수 있습니다.
X.org 7.7을 실행하면 터치패드 하단에 마우스 버튼 1, 2, 3(예: 왼쪽, 가운데, 오른쪽) 역할을 하는 가로 줄무늬가 있습니다.
+-----------------+
| |
| |
| |
| |
|11111 22222 33333|
|11111 22222 33333|
+-----------------+
버튼 2를 비활성화하고 버튼 1과 3 사이의 영역을 재분배하려면 어떻게 해야 합니까? 즉, 다음과 같은 레이아웃을 원합니다.
+-----------------+
| |
| |
| |
| |
|11111111 33333333|
|11111111 33333333|
+-----------------+
노트이 질문은 다음과 다릅니다.mtrack: 수직 버튼 영역을 얻는 방법은 무엇입니까?왜냐하면 저는 mtrack이 아닌 XInput의 맥락에서 이 작업을 수행하려고 하기 때문입니다. 또한 하드웨어는 Synaptics가 아닙니다.
문제의 하드웨어는 XInput에 의해 다음과 같이 식별됩니다.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=12 [slave pointer (2)]
답변1
다음을 입력하면:
$ xinput get-button-map 'DLL07BF:01 06CB:7A13 Touchpad'
나는 다음을 얻습니다: 1 2 3 4 5 6 7
나는 다음을 사용하려고합니다 :
$ xinput set-button-map 13 1 2 0 4 5 6 7
가운데 클릭과 오른쪽 클릭을 비활성화합니다.
답변2
어떤 숫자가 어떤 버튼에 해당하는지 파악한 후에는 가운데 클릭 대신 왼쪽 클릭을 사용할 수 있습니다.
제 경우에는 두 번째 숫자가 가운데 클릭에 매핑됩니다.
1 2 3 4 5 6 7
^
따라서 이것은 왼쪽 클릭으로 대체됩니다.
xinput set-button-map x 1 1 3 4 5 6 7
x
xinput에서 얻은 ID는 어디에 있습니까?
답변3
다음과 같이 가운데 "버튼"을 사용하여 쉽게 등록을 중지할 수 있습니다.
xinput set-button-map 11 1 2 0 4 5 6 7 8 9 10 11 12
여기서 첫 번째 매개변수는 장치 ID(이 경우 위에 게시한 출력을 기준으로 11 xinput
)를 지정하고 나머지 매개변수는 버튼을 기능에 매핑합니다. 처음 두 개는 왼쪽 및 오른쪽 버튼(1과 2는 일반 클릭 및 상황에 맞는 메뉴)이고, 세 번째는 가운데 버튼(보통 로 설정 3
하지만 0
xinput에 무엇이든 매핑하도록 지시함)이고 나머지는 다른 항목보다 우선합니다. (스크롤 등).
패드 바닥 전체를 덮도록 다른 두 개의 버튼을 조정하는 것은 약간 까다롭고 실제로 불가능할 수 있습니다. 이와 같은 트랙패드는 트랙패드 아래에 클릭을 유발하는 스위치가 있는 다음 트랙패드에서 손가락의 위치를 관찰하여 어떤 버튼으로 등록되는지 결정하는 방식으로 작동합니다. 이 문제는 세 가지 방법으로 처리할 수 있습니다.
- 패드 자체의 펌웨어에는 구성 옵션이 없습니다.
- 패드 자체의 펌웨어에는 구성 옵션이 있습니다.
- 드라이버의 사용자 공간 부분에 있습니다.
두 번째 방법은 장치가 이전 PS/2 스타일 직렬 연결을 통해 연결되지 않은 경우에만 작동합니다(대부분의 Thinkpad가 이러한 방식으로 연결되어 있을 수 있습니다). Synaptics는 이를 달성하기 위해 방법 3을 사용하고 거의 모든 것에 대해 많은 구성 옵션을 제공합니다. Elantech가 어떻게 처리하는지 잘 모르겠지만 USB 또는 I2C 연결 장치가 아닌 한 아마도 첫 번째 경우일 것이라고 추측합니다. 이 경우 기술적으로 세 번째 경우입니다. X용 특수 입력 드라이버.
답변4
1. 신분증 찾기
터치패드의 경우 xinput list
:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)]
분명히 "...TouchPad"라는 것이 id=11
...
2. 하단 이미지 가져오기
ID 카드 사용 시:
xinput get-button-map 11
1 2 3 4 5 6 7
3. 새로운 버튼 매핑을 설정해 보세요
이제 시행착오를 통해 버튼 이미지가 무엇을 의미하는지 파악해야 합니다. 일반적으로 1이 왼쪽 클릭 동작이라고 가정할 수 있습니다. 가장 먼저 시도해 볼 것은 두 번째 위치가 하단 중앙 버튼이라고 추측하는 것입니다. 이것을 왼쪽 클릭 동작( 1
)으로 바꾸십시오:
$ xinput set-button-map 11 1 1 3 4 5 6 7
^
4. 작동하는지 확인하세요
감사해요아담의 대답(이로부터 영감을 얻었습니다.) 원하는 결과를 얻으려면 한 번만 시도하면 됩니다.
+-----------------+
| |
| |
| |
| |
|11111 11111 33333|
|11111 11111 33333|
+-----------------+
즉, 하단 스트립의 왼쪽 2/3가 왼쪽 버튼 역할을 하고 오른쪽 3분의 1이 오른쪽 버튼 역할을 합니다.
5. 작동하지 않으면 어떻게 되나요?
버튼 다이어그램의 다른 부분을 3단계와 유사한 키로 바꿔보세요. 1
터치패드가 어떻게 반응하는지 확인하세요. 원하는 결과를 얻지 못한 경우 버튼 매핑을 1단계에서 얻은 값으로 재설정하여 원래 동작을 복원하세요.
노트
ThinkPad T570에서 실행했지만 대부분의 터치패드에서 작동합니다.