将旋转脚本分配给硬件按钮

kir*_*gum 7 keyboard thinkpad ubuntu button-remapping

我有一台 ThinkPad X201 平板电脑。

在平板电脑上有一个旋转屏幕的按钮。它在 Windows 中运行良好,但在 Linux 中不能正常运行;它旋转屏幕但不旋转 wacom(手写笔和手指触摸)

按钮的键码(来自 showkeys)是 154。

我希望它执行以下 bash 脚本:

#!/bin/bash

xrandr -o right
xsetwacom set "Serial Wacom Tablet stylus" Rotate CCW
xsetwacom set "Serial Wacom Tablet eraser" Rotate CCW
exit 0
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 如何为按钮分配脚本?(#154)
  2. 如何在启动时运行此作业?

小智 2

这通常是通过 ACPI 调用完成的。首先确保acpid守护进程已安装并正在运行。然后,您需要为其创建规则,以便在按下按钮时启动脚本。这里棘手的部分是识别按钮名称。您可以通过acpid在前台运行守护程序并启用调试,然后按按钮来完成此操作。如果您看到一些消息,请记下按钮名称并使用它来编写调用自定义脚本的规则。阅读man acpid详情。