Deaktivieren Sie die Laptop-Tastatur bei Bedarf in Wayland

Deaktivieren Sie die Laptop-Tastatur bei Bedarf in Wayland

Ich habe einen HP ENVY 13-ay0000 x360 Convertible Laptop mit einer AMD Ryzen 5 4500U CPU und Ubuntu 22.10. Die automatische Drehung funktioniert nicht und Tastatur und Touchpad sind nur deaktiviert, wenn der Laptop vollständig nach hinten geklappt ist, aber nicht dazwischen. Ich glaube, es liegt an diesem Fehler:https://bugzilla.kernel.org/show_bug.cgi?id=212615.

Als Workaround habe ich versucht, den Bildschirm zu drehen und die Tastatur manuell über ein Skript oder etwas Ähnliches zu deaktivieren. Die Bildschirmdrehung und die Deaktivierung des Touchpads habe ich zum Laufen gebracht, aber ich habe Schwierigkeiten herauszufinden, wie ich die Tastatur deaktivieren und wieder aktivieren kann. Die Verwendung von xinput funktioniert nicht, da ich Wayland verwende. Ich habe diesen Thread überprüft:https://unix.stackexchange.com/questions/381944/how-to-disable-internal-keyboard-on-fedora-26-wayland

Aber keine der Lösungen hat funktioniert, da ich es bei Bedarf deaktivieren und wieder aktivieren muss und nicht dauerhaft. Ich habe versucht, die Tastaturereignisse zu erfassen, aber dies führt dazu, dass sich Touchscreen und Touchpad unregelmäßig verhalten.

Irgendwelche Ideen, wie dies erreicht werden könnte?

Antwort1

Benutzer mit xwayland müssen zuerst die Ereignis-ID suchen.

$ libinput list-devices

Installieren Sie bei Bedarf libinput (sudo apt install libinput-tools). Dadurch werden alle Eingabegeräte und ihre Ereignis-IDs aufgelistet. Scrollen Sie, um den richtigen Abschnitt zu finden (etwa „AT Translated Set 2 Keyboard“) und suchen Sie die Zeile Kernel: /dev/input/event#. Verwenden Sie die Ereignisnummer für den nächsten Befehl:

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

Suchen Sie ein Attribut, das höchstwahrscheinlich eindeutig/eindeutig ist. Zum Beispiel ATTRS{name}=="AT Translated Set 2 keyboard" und erstellen Sie dann eine Regeldatei

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

mit folgender Regel

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

Überprüfen Sie dann mit dem folgenden Befehl, ob es funktioniert hat:

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

und suchen Sie nach

LIBINPUT_IGNORE_DEVICE=1

höchstwahrscheinlich innerhalb der letzten 3 Zeilen. Führen Sie dann einen Neustart durch und Ihre interne Tastatur sollte deaktiviert sein.

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

verwandte Informationen