我有一台 Yoga 11e(Thinkpad 型号,不是 Chromebook),运行的是 Ubuntu 17.04。触摸屏运行良好,这是我首次安装 Ubuntu 时最担心的问题,但现在我遇到了一个问题:在平板电脑模式下键盘保持活动状态,这意味着只需握住设备或将其放下,都可能导致意外按键。
我希望可以安排一个脚本在进入/退出平板电脑模式时运行以禁用键盘,但我还没能弄清楚如何检测该模式的变化。
我在网上找到一些建议,说其他 Yoga 型号在平板电脑模式下会提供特定的键码事件,但这里似乎并非如此。事实上,查看所有可用的输入设备,似乎没有任何与平板电脑和笔记本电脑模式之间转换相关的事件。我使用以下代码来检查输入事件:
#!/usr/bin/env python3
import evdev
from selectors import DefaultSelector, EVENT_READ
selector = DefaultSelector()
for dev in evdev.list_devices():
selector.register(evdev.InputDevice(dev), EVENT_READ)
while True:
for key, mask in selector.select():
device = key.fileobj
for event in device.read():
print(key, event)
我还查看了可通过 acpi_listen 获得的 ACPI 事件,但看起来这个工具本身实际上只是输入子系统的另一种视图。
您是否知道有什么方法可以检测 Yoga 11e 是否更改为平板电脑模式?
更新 1
进一步深入研究,在查看thinkpad_acpi
模块的源代码并拆解 ACPIDSDT
表后,看起来 (a) 模块thinkpad_acpi
依赖名为MHKG
确定平板电脑状态的 ACPI 方法,并且 (b) 在DSDT
Yoga 11e 的表中,此方法似乎为无操作。但是,我对 ACPI 一无所知,所以也许我读得不对……即使我读得对,我也不确定下一步该怎么做。