我有一台 HP ENVY 13-ay0000 x360 可轉換筆記型電腦,配備 AMD Ryzen 5 4500U CPU,運行 Ubuntu 22.10。自動旋轉不起作用,僅當筆記型電腦完全向後折疊時鍵盤和觸控板才會被停用,而在中間則不會。我相信這是由於這個錯誤:https://bugzilla.kernel.org/show_bug.cgi?id=212615。
作為解決方法,我嘗試透過腳本或類似方式手動旋轉螢幕並停用鍵盤。螢幕旋轉和觸控板禁用我設法開始工作,但我正在努力弄清楚如何停用和重新啟用鍵盤。使用 xinput 不起作用,因為我正在使用 wayland。我檢查了這個線程: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 Keyboard”)並找到行 Kernel: /dev/input/event#。使用事件#作為下一個命令:
$ udevadm info -a -p /sys/class/input/event#
找到一個最有可能是唯一/獨特的屬性。例如 ATTRS{name}=="AT Translated Set 2 Keyboard" 然後建立規則文件
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