我想要实现的目标:
重新映射笔记本电脑的电源按钮,该按钮荒谬地放置在键盘上的一个键上。
语境:
我最近买了一台升级版的华硕 VivoBook Pro N552VW 笔记本电脑。这是一款很棒的机器,规格也很棒。我喜欢它的每一个细节,除了一件事,我简直无法接受,也无法理解它到底为什么存在。
一位产品设计天才决定将用于打开和关闭计算机的电源按钮放置在键盘按键之间。更明智的是,这位天才决定将其放置在通常放置专用“End”键的位置,如下图所示:
缓解问题:
虽然这种设计显然容易出错,即总是存在意外按下电源键然后在工作过程中让笔记本电脑进入睡眠状态的风险。但这很容易解决,只需进入 Windows 的电源设置并定义按下电源按钮时不发生任何事情即可。参见下图:
尚待做的事情:
但是,我真正想做的是映射这样的键,使其再次表现得像专用的 End 键一样。我尝试了多个键映射软件,但都没有用。我知道电源键通常在相当低的级别映射到 BIOS 供电过程,因此我打算放弃。
就在那时,我在 AskUbuntu Stackoverflow 上发现了这个问题:https://askubuntu.com/questions/580902/how-to-change-mapping-for-the-poweroff-key-on-keyboard
那里给出了针对 Ubuntu 操作系统的解决方案。这让我重拾希望,在 Windows 下也可以实现同样的功能。因此,我的问题是:如何正确地重新映射愚蠢的华硕电源按钮,使其表现得像“结束”键一样?
我首选的解决方案是通过 Windows 注册表来实现。只有当这完全不可能时,我才会尝试使用必须始终加载的外部重新映射软件。
我具体尝试过什么:
我实际上尝试过更改注册表和使用外部软件。我找不到任何免费软件可以让我正确地重新映射电源键。
更改注册表,我能找到的最好的方法是让 NumLock 键成为 End 键(然后可以通过 Ctrl+Alt+PauseBreak 访问 NumLock):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\键盘布局
“扫描码图”= 00,00,00,00,00,00,00,00,03,00,00,00,4f,e0,45,00,45,00,46,e0,00,00,00,00
不用说,这是一个相当肮脏的解决方案,因为它会造成更多的混乱。
答案1
使用
夏普键
查看键盘上的 Power 键是否生成扫描码。如果生成,则 SharpKeys 可以重新映射注册表中的键,这将适用于所有程序。
有关教程,请参阅文章
将任意键映射到 Windows 10、8、7 或 Vista 上的任意键。
如果电源键在 Windows 下不生成扫描码,则无法映射,只能像您一样禁用。即使 Linux 可以重新映射它,因为它可以更好地控制键盘,但 Windows 却不行。
在这种情况下,您最多可以做的是重新激活电源键并将其重置为再次关机,然后捕获并取消该事件,将其重新映射到另一个键(例如键)End。这可以通过使用 自动热键,但可能得不偿失。如果您感兴趣,我可以扩展我的答案来展示如何做到这一点。
我确实注意到,有时使用电源按钮是半有序地关闭死机计算机的唯一方法。