마우스 오른쪽 버튼 클릭 에뮬레이션을 실행하는 동안 Xorg를 비활성화하는 방법

마우스 오른쪽 버튼 클릭 에뮬레이션을 실행하는 동안 Xorg를 비활성화하는 방법

다음을 통해 오른쪽 클릭을 시뮬레이션하도록 구성한 터치 스크린(실제로는 Banana Pi Pro)이 있는 컴퓨터가 있습니다 xorg.conf.

Section "InputClass"
    Identifier "Touchscreen"
    Option "EmulateThirdButton" "1"
    Option "EmulateThirdButtonTimeout" "750"
    Option "EmulateThirdButtonThreshold" "30"
EndSection

이것은 정말 잘 작동합니다. 그러나 때로는 실제 마우스를 사용하고 싶을 때 마우스 왼쪽 버튼을 길게 누르면 마우스 오른쪽 버튼을 클릭하는 것으로 변환되기 때문에 이러한 설정이 상당히 짜증스럽습니다. 또한 30픽셀 임계값으로 인해 드래그 선택이 부정확해집니다.

마우스를 사용할 때 마우스 오른쪽 버튼 클릭 시뮬레이션을 비활성화할 수 있는지 궁금합니다.

  1. "InputClass" 부분을 변경하기 위해 런타임에 Xorg 구성을 수정하는 것이 가능합니까?

  2. 그렇지 않은 경우 이 섹션을 하나의 특정 입력 장치(터치스크린)에만 적용할 수 있습니까?

  3. 유일한 방법이 xorg.conf서버를 업데이트하고 다시 시작하는 것이라면 가장 덜 고통스러운 방법은 무엇입니까? 이상적으로는 이미 실행 중인 애플리케이션을 유지하는 것이 좋지만 그것이 가능할지는 의문입니다.

  4. 아무런 변경 없이 내가 원하는 것을 수행하는 프로그램이 있습니까 xorg.conf? 그림이 문제xrandr를 통해 구성할 때 정적인 동적 구성 매개변수에 사용 됩니다 xorg.conf.

답변1

xinput입력 설정을 제어합니다. xrandr디스플레이와 마찬가지로 입력에도 동일하게 작동합니다 .

장치를 나열하려면 실행하세요 xinput list. 각 장치에는 이름과 숫자 ID가 있습니다. 이 이름이나 이 ID를 사용하여 해당 장치의 속성을 나열할 수 있습니다. 장치 ID는 장치가 감지된 순서에 따라 달라질 수 있으므로 특정 장치를 대상으로 하려면 해당 이름을 사용하십시오. 예를 들어 장치 8에 마우스가 있다고 가정해 보겠습니다. 다음은 해당 속성을 발췌한 것입니다.

$ xinput list-props 8
    Evdev Third Button Emulation (280):     0
    Evdev Third Button Emulation Timeout (281):     1000
    Evdev Third Button Emulation Button (282):      3
    Evdev Third Button Emulation Threshold (283):   20

따라서 다음 명령 중 하나를 사용하여 이 장치에 대한 세 번째 버튼 에뮬레이션을 켤 수 있습니다.

xinput set-prop 8 280 1
xinput set-prop 8 'Evdev Third Button Emulation' 1

장치에는 그래픽으로 표현되는 계층 구조가 있습니다 xinput list. 장치에 속성을 적용하면 해당 하위 장치에도 적용됩니다. 예를 들어 루트 포인터에 속성을 적용하여 모든 포인팅 장치에 속성을 적용할 수 있습니다 Virtual core pointer.

답변2

@Gilles의 답변 덕분에 xinput터치스크린 장치의 이름을 설치하고 발견했습니다.

xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ft5x_ts                                   id=7    [slave  pointer  (2)]
⎜   ↳ GiGa HiD                                  id=9    [slave  pointer  (2)]

xorg.conf이 정보를 사용하여 장치 ft5x_ts(터치 스크린) 에만 영향을 미치도록 파일을 사용자 정의할 수 있습니다.MatchProduct범위:

Section "InputClass"
    Identifier "Touchscreen"
    MatchProduct "ft5x_ts"
    Option "EmulateThirdButton" "1"
    Option "EmulateThirdButtonTimeout" "750"
    Option "EmulateThirdButtonThreshold" "30"
EndSection

다시 시작한 후 마우스 오른쪽 버튼 클릭 에뮬레이션은 터치스크린에서만 작동합니다.

추신: 내 컴퓨터가 Banana Pi Pro를 기반으로 한다는 점을 언급할 가치가 있을 수도 있습니다.레메이케 LCD 모듈, 다른 Banana Pi 사람들이 이 주제를 찾을 수 있도록 합니다.

관련 정보