AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1122391
Accepted
vroom
vroom
Asked: 2019-03-02 19:46:27 +0800 CST2019-03-02 19:46:27 +0800 CST 2019-03-02 19:46:27 +0800 CST

检查 acpi 键绑定并将键盘按键事件重新映射到 acpi 事件

  • 772

我有两个安装了 Ubuntu 18.04.1 的系统。两者具有相似的硬件和软件配置,但其中一个暂停到 SBTN 新闻事件,而另一个什么也不做。我检查了 gsettings 并且两者都有相似的 org.gnome.settings-daemon.plugins.power 配置。我想知道与 SBTN 键事件相关的完整键绑定。

我如何以及在哪里可以检查这些?

另外,如何将键盘按键事件(比如暂停/中断按钮的键码 127)重新映射到 SBTN 按钮/PWBN 按钮?

如何将系统挂起操作映射到键盘暂停/中断按钮?

PS:我正在使用 acpi_listen 收听 PWBN 和 SBTN 按键事件,并且我能够看到按键。为了检查键盘事件,我正在使用 xinput 测试。此外,我需要在暂停操作后使用相同的按键使系统恢复正常。

keyboard suspend events remapping
  • 2 2 个回答
  • 1147 Views

2 个回答

  • Voted
  1. NetIceGear
    2019-03-02T20:13:58+08:002019-03-02T20:13:58+08:00

    首先,检查您是否在另一台机器上运行了 acpi 服务,使用sudo systemctl status acpid或sudo service acpid status

    如果这样做,请systemctl suspend在对按下睡眠/暂停按钮没有响应的另一台机器上进行测试,看看是否打印了任何错误或警告。

    至于将自定义键绑定设置为暂停/中断键,我会尝试将其绑定到执行systemctl suspend命令的脚本,因为尝试重新映射睡眠/暂停按钮将需要清除内置睡眠/暂停键的先前绑定,如果有一个,如果我没记错的话。换句话说,制作一个脚本suspendme.sh。

    touch suspendme.sh
    nano suspendme.sh
    

    在suspendme.sh 脚本中:

    #!/bin/bash systemctl suspend

    chmod u+x suspendme.sh
    mv suspendme.sh /usr/local/bin/
    

    然后您可以在 Gnome 和 Unity 中使用“系统设置”>“键盘”>“快捷方式”>“自定义快捷方式”来设置快捷方式。只需单击 + 并使用 Pause 键执行命令,suspendme.sh因为它位于 /usr/local/bin 中,并将成为路径的一部分。

    • 0
  2. Best Answer
    vroom
    2019-03-08T16:00:03+08:002019-03-08T16:00:03+08:00

    上述方法的问题是创建的键盘快捷键适用于会话中的用户。我希望按钮分配在所有用户中都是持久的,并且不希望输入任何密码来执行挂起。

    扩展@BarBar1234 的方法并解决电源按钮事件而不是睡眠按钮事件,以下工作很好,尽管不是发布问题的确切解决方案。

    $sudo vi /etc/acpi/events/power
    event=button/power
    action=/etc/acpi/suspendsys.sh
    
    $sudo vi /etc/acpi/suspendsys.sh
    #!/bin/bash
    systemctl suspend
    
    $sudo chmod u+x /etc/acpi/suspendsys.sh
    
    $sudo systemctl restart acpid
    
    • 0

相关问题

  • 如何让我的电脑中的风扇在暂停时关闭?[关闭]

  • 输入语言切换键只接受 shift-alt 而不是 alt-shift [关闭]

  • 如何在键盘上映射未映射的键?[关闭]

  • 如何重置我的键盘布局?

  • 为什么我的 Kubuntu 会话在恢复后需要相当长的时间才能响应?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve