我能取消我的系统上的飞行模式吗?

我能取消我的系统上的飞行模式吗?

我在使用飞行模式时遇到了问题。修复这些问题听起来非常困难。我想我只想通过任何硬件事件来消除飞行模式或飞行模式切换的存在(也许仍然能够通过命令行启用它?)我很少使用飞行模式。有什么方法可以做到这两点吗?

更多细节:

我买了一台惠普笔记本电脑(HP ENVY X360 15-EW1073CL),它有一个触摸屏,可以一直打开,直到另一侧再次关闭。它还有一个加速度计,可以在我旋转它时改变显示屏的旋转。在 ubuntu 中,一切几乎都运行正常(甚至显示屏也会相应地旋转,除了正常位置,但这是另一天的问题)。问题是,无论我做什么:移动笔记本电脑、打开或关闭盖子,或者移动盖子,它都会进入飞行模式。

它尝试了 hp keycodes 服务为什么我的 HP 笔记本电脑在 Ubuntu 18.04 上“飞行模式”不断切换?,但没有运气。我认为这可能会阻止其中一个屏幕旋转阈值进入飞行模式(这台笔记本电脑似乎有大约四个这样的旋转阈值,每个阈值都会触发飞行模式开关)

我还运行了 showkeys 来检查在旋转、打开等情况下触发了哪些键码。所有这些事件似乎总是 247。我尝试将这个 247 代码添加到服务解决方案中的列表中,但也没有成功。此外,当我运行 时sudo showkey --scancodes,倾斜不会产生任何扫描码。

这是 acpi_listen 的结果,并旋转屏幕:

sudo acpi_listen 

 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
video/tabletmode TBLT 0000008A 00000001
video/tabletmode TBLT 0000008A 00000001
 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
video/tabletmode TBLT 0000008A 00000000
video/tabletmode TBLT 0000008A 00000000
 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
button/lid LID close
button/lid LID open

当我旋转笔记本电脑时会发生以下情况,可能会产生加速度计事件:

sudo acpi_listen 
 A6FEA33E-DABF- 000000d0 00000000
video/tabletmode TBLT 0000008A 00000001
video/tabletmode TBLT 0000008A 00000001
 A6FEA33E-DABF- 000000d0 00000000
 A6FEA33E-DABF- 000000d0 00000000
video/tabletmode TBLT 0000008A 00000000
video/tabletmode TBLT 0000008A 00000000

答案1

这是一个糟糕的解决方案,但我搜索和尝试了一整天,却一无所获。

创建此脚本并使其可执行:

#!/usr/bin/env bash
while :; do
  sudo rfkill unblock all
  sleep 0.3
done

将其设置为在启动时运行。让我们看看效果如何。

相关内容