小编Ele*_*126的帖子

如何完全抑制盖子开关事件?

语境:

由于我的二合一敞篷车缺少驱动程序,向后折叠屏幕只会触发盖子开关事件。这会导致笔记本电脑暂停,或者在 Gnome 中禁用“笔记本电脑盖关闭时暂停”时,仍会导致所有输入设备被禁用(包括触摸屏,这会使平板电脑模式无用)。

作为一种解决方法,我想手动处理切换到平板电脑模式。这需要禁止所有盖子开关事件。

题:

如何在 Linux 中完全禁止盖子开关事件?

或者,找到一种列出/禁用响应盖子开关的进程的方法可以解决问题。

目前,在平板电脑模式下折叠屏幕并返回记录以下事件:

Jul 25 23:58:54 jl-xps systemd-logind[816]: Lid closed.
Jul 25 23:58:58 jl-xps systemd-logind[816]: Lid opened.
Run Code Online (Sandbox Code Playgroud)

盖子开关事件映射到/dev/input/event0. /proc/bus/input/devices列表(截断):

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=0
B: EV=21
B: SW=1
Run Code Online (Sandbox Code Playgroud)

尝试:

方法1:systemd-inhibit从采取如何禁用自动暂停,当我关闭笔记本盖子?

# systemd-inhibit --what=handle-lid-switch sleep 1m
Run Code Online (Sandbox Code Playgroud)

然后在计时器结束前翻转屏幕。盖子开关事件仍然由 记录systemd-logind,我可以看到/dev/input/event0正在写入(并且其他输入设备仍然被禁用)。

方法二:ACPI

$ echo "LID0" | sudo tee /proc/acpi/wakeup
Run Code Online (Sandbox Code Playgroud)

并检查它是否确实被禁用:

LID0 …
Run Code Online (Sandbox Code Playgroud)

laptop input devices wayland libinput

5
推荐指数
1
解决办法
3233
查看次数

如何在 Gnome 3.28 (Wayland) 中以编程方式旋转屏幕?

我知道如何在 Xorg 中使用GUIxrandr或在 Wayland 中使用gnome-control-centerGUI旋转屏幕,但是有没有办法在 Wayland 中使用命令行界面或 API 调用来完成它?

上下文:我有一台不受 支持的可转换笔记本电脑iio-sensor-proxy,我想使用脚本或快捷方式快速旋转屏幕。回到 Xorg 不是一种选择。

gnome wayland

5
推荐指数
1
解决办法
5025
查看次数

标签 统计

wayland ×2

devices ×1

gnome ×1

input ×1

laptop ×1

libinput ×1