Wayland에서 노트북 터치패드 비활성화

Wayland에서 노트북 터치패드 비활성화

노트북의 터치패드를 비활성화해야 합니다. 나는 그놈을 사용하고 있습니다웨이랜드에서.

  • libinput이 기능은 제공되어야 하는데 그렇지 않은 것 같습니다.
  • xinputWayland에 있기 때문에 작동하지 않습니다.
  • 나는 Gnome이 이를 위해 입력 설정에 일부 스위치를 제공했다고 생각했지만 더 이상 존재하지 않습니다(Gnome 쉘 3.34 - 아마도 이것은 Xorg 전용 기능일까요?).

입력 장치를 비활성화하려는 경우 이것이 실제로 너무 많은 것을 요구합니까?


편집: xinput해결책이 아닙니다!

매뉴얼 페이지에는 Wayland에 대한 전체 섹션이 있습니다(강조):

액스웰랜드

Xwayland는 Wayland Compositor를 백엔드로 사용하는 X 서버입니다. Xwayland는 X 프로토콜과 Wayland 프로토콜 간의 변환 계층 역할을 하지만 하드웨어에 직접 액세스할 수는 없습니다. Xwayland에서 생성된 X 입력 확장 장치("xwayland-pointer", "xwayland-keyboard" 등)는 물리적 장치가 아닌 Wayland 프로토콜 장치에 매핑됩니다. 이러한 X 입력 확장 장치는다른 X 클라이언트에만 표시동일한 Xwayland 프로세스에 연결합니다. Xwayland 장치의 속성 변경해당 고객의 행동에만 영향을 미침. 예를 들어,xinput을 사용하여 Xwayland 장치를 비활성화해도 Wayland 기본 응용 프로그램에서는 장치가 비활성화되지 않습니다.. 다른 변경 사항은 전혀 영향을 미치지 않을 수 있습니다. 대부분의 경우 Xwayland 장치에서 xinput을 사용하는 것은쉘 스크립트의 오류를 나타냅니다.xinput은 경고를 인쇄합니다. 대신 Wayland Compositor의 기본 장치 구성 방법을 사용하십시오.

긴 이야기 짧게: 터치패드 비활성화를 사용하면 xinput이전과 같이 계속 작동하지만 XWayland 앱에서는 더 이상 커서 움직임을 볼 수 없습니다.

답변1

먼저 이 dconf 설정을 시도하여 도움이 되는지 확인하세요.

gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing 'false'

falsewhile 이름이 의미하는 대로 표현 됩니다 true.

이 설정은 Xserver 구성에 적용됩니다.

gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled'

Fn노트북은 + 를 사용하여 터치패드를 비활성화할 수도 있습니다 F5.

이것이 작동하지 않으면 이것의 출력을 libinput-list-devices질문에 추가하십시오. 당신은 또한 살펴보고 싶을 수도 있습니다터치패드 표시등그놈 쉘 확장.

답변2

xinputWayland를 사용하는 경우에도 작동할 수 있습니다.

xinput필요한 경우 패키지를 설치합니다. 그런 다음 다음을 입력하여 장치를 찾으십시오.

xinput list | grep -i touch

"SynPS/2 Synaptics TouchPad"와 같은 문자열을 찾을 수 있습니다. grep목록이 비어 있으면 해당 섹션을 무시하고 터치패드처럼 들리는 다른 항목을 찾을 수 있는지 확인하세요.

이 문자열을 사용하고(다음 명령에 필요에 따라 수정) 다음을 입력합니다.

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

마지막에 "0" 대신 "1"을 입력하면 터치패드를 다시 활성화할 수 있습니다.

답변3

KDE Plasma에서는 다른 방법이 작동하지 않았기 때문에 다음과 같은 쉬운 방법으로 터치패드를 비활성화해 보았습니다.

ydotool key 530:1 530:0

이 명령은 기본적으로 터치패드를 켜거나 끄기 위해 KEY_TOUCHPAD_TOGGLE 요청을 보냅니다.

이 설정이 작동하려면 ydotoold데몬이 백그라운드에서(예: systemd 서비스로) 실행되고 있어야 합니다.

cat ~/.config/systemd/user/ydotoold.service
[Unit]
Description=Starts ydotoold service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=3
ExecStart=/opt/ydotool/ydotoold
ExecReload=/usr/bin/kill -HUP $MAINPID
KillMode=process
TimeoutSec=180

[Install]
WantedBy=default.target

이제 스크립트나 KDE Connect를 통해 프로그래밍 방식으로 터치패드를 활성화/비활성화하는 것이 가능합니다.

GitHub의 ydotool 버전 ​​1.0.4에서 테스트되었습니다.

관련 정보