如何更改键盘上«PowerOff»键的映射?

我买了ROG G551JM华硕笔记本电脑,它被certificate是兼容Ubuntu的。 计算机的键盘设计不合理,“Poweroff”键是普通键,放在现场,通常会找到“结束”键。 计算机是好的,所以我买了假设,我能够以某种方式“修复”问题,即将PowerOff按钮重新映射到“结束”键。

PowerOff按钮出错(华硕G551JM): 华硕G551JM

通常有一个«End»键(华硕N56VZ): 华硕N56VZ

“PowerOff”按钮事件由/dev/input/event2: Power Button设备(由evtest报告)生成,代码为116(来自evtest示例行: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1

X服务器也可以看到密钥,最终Ubuntu可以将按键识别为PowerOff密钥并启动“Goodbye user Adam …”半透明对话框,确认我实际关闭计算机的意愿。

问题是绑定PowerOff键的绑定与显示该确认对话框的例程在dconf-editor下是不可见的,我没有提示在何处找到它。

任何人都可以告诉我,在哪里更改(或删除)PowerOff键的默认绑定???

它应该是容易的事情。


编辑21.IX.2016:

有一种方法可以永久禁用该对话框,请参阅如何修改电源按钮的选项? 。 我希望在禁用电源按钮后,可以将其重新分配给其他东西。

我能够在华硕N751JK和Ubuntu 16.04 LTS上运行它:

  1. 首先,将“关机”按钮的动作设置为Johano Fierra的回答中nothing提到的内容 :

     gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing" 

    或者sudo apt install dconf-tools并使用dconf-editor执行此操作(如此处所述)。 需要重新启动或注销才能使其正常工作。

  2. 安装xdotool :

     sudo apt install xdotool 

    这个将允许我们触发关键事件。

  3. 备份ACPI脚本用于处理“关闭电源”按钮的事件:

     sudo cp /etc/acpi/powerbtn.sh /etc/acpi/powerbtn.sh.backup 
  4. 编辑etc/acpi/powerbtn.sh脚本,找到以下内容:

     # If logind is running, it already handles power button presses; desktop # environments put inhibitors to logind if they want to handle the key # themselves. 

    并修改下面的代码,看起来像:

     if pidof systemd-logind >/dev/null; then xdotool key End exit 0 fi 

    当桌面会话激活时,它将触发“结束”按钮并退出并退出。

  5. 为了应用这些更改,应该运行:

     sudo acpid restart 

不幸的是,这种方法的缺点是每次系统重启后都需要手动运行sudo acpid restart 。 它在系统启动时自动无法正常工作(虽然存在acpid进程),看起来像这个过时的主题中描述的内容 。

我尝试了不同的方法在/etc/rc.local中自动重启acpid ,或者在一个单独的bash脚本中指定为LightDM的 session-setup-script ,使用sleepat命令进行不同的组合。 但没有运气。 可能有一些错误阻止它正常启动。 如果有人会为此找到解决方法,那将非常有用……但是,我想,这是另一个问题。

2017年1月21日更新

感谢Adam ,当用户登录时,可以自动重启acpid 。因此,每次sudo acpid restart ,终端中的手动sudo acpid restart ,请添加以下行:

 session optional pam_exec.so /usr/sbin/acpid restart 

/etc/pam.d/common-session文件的末尾。

我确认它也适用于华硕N751JK和华硕GL552VW。

这应该可以解决问题。

输入终端:

 gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"