Wayland에서 주문형 노트북 키보드 비활성화

Wayland에서 주문형 노트북 키보드 비활성화

Ubuntu 22.10을 실행하는 AMD Ryzen 5 4500U CPU가 장착된 HP ENVY 13-ay0000 x360 컨버터블 노트북이 있습니다. 자동 회전은 작동하지 않으며, 키보드와 터치패드는 노트북을 완전히 뒤로 접은 경우에만 비활성화되며, 그 사이에는 비활성화되지 않습니다. 나는 이것이 이 버그 때문이라고 생각합니다.https://bugzilla.kernel.org/show_bug.cgi?id=212615.

해결 방법으로 스크립트 등을 통해 화면을 회전하고 키보드를 수동으로 비활성화하려고 했습니다. 화면 회전 및 터치패드 비활성화 작업을 시작할 수 있었지만 키보드를 비활성화하고 다시 활성화하는 방법을 찾는 데 어려움을 겪고 있습니다. wayland를 사용하고 있으므로 xinput을 사용할 수 없습니다. 이 스레드를 확인했습니다.https://unix.stackexchange.com/questions/381944/how-to-disable-internal-keyboard-on-fedora-26-wayland

그러나 영구적으로가 아니라 필요에 따라 비활성화하고 다시 활성화해야 하기 때문에 두 솔루션 모두 작동하지 않았습니다. 키보드 이벤트를 잡으려고 시도했지만 이로 인해 터치스크린과 터치패드가 비정상적으로 작동하게 됩니다.

이것이 어떻게 달성될 수 있는지에 대한 아이디어가 있습니까?

답변1

xwayland 사용자의 경우 먼저 이벤트 ID를 찾으세요.

$ libinput list-devices

필요한 경우 libinput을 설치합니다(sudo apt install libinput-tools). 그러면 모든 입력 장치와 해당 이벤트 ID가 나열됩니다. 스크롤하여 올바른 섹션("AT Translated Set 2 키보드"와 같은 것)을 찾고 Kernel: /dev/input/event# 줄을 찾습니다. 다음 명령에는 이벤트 번호를 사용하십시오.

$ udevadm info -a -p /sys/class/input/event#

아마도 고유하거나 구별되는 속성을 찾으십시오. 예를 들어 ATTRS{name}=="AT Translated Set 2 키보드"를 입력하고 규칙 파일을 생성합니다.

sudo nano /etc/udev/rules.d/99-disable_touchscreen.rules

다음 규칙으로

KERNEL=="event*", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{LIBINPUT_IGNORE_DEVICE}="1"

그런 다음 다음 명령을 사용하여 작동하는지 확인하십시오.

$ udevadm test /sys/class/input/event#

그리고 검색해 보세요

LIBINPUT_IGNORE_DEVICE=1

아마도 마지막 3줄 안에 있을 겁니다. 그런 다음 재부팅하면 내부 키보드가 비활성화됩니다.

예의:https://wiki.archlinux.org/title/Dell_XPS_13_(9343)#Disable_the_touchscreen

관련 정보