在有故障的键盘上进行可靠的按键交换

在有故障的键盘上进行可靠的按键交换

我有一个键盘,“P”键不起作用,但我看不出因为一个缺陷而放弃它的意义。因此,我想将工作键之一映射到“P”。事实证明,这是一个巨大的、几乎是循环的挑战。正如 Linux 中的典型情况一样,有很多解决方案,所有这些都有效,但并非真正有效。理想情况下,我希望每次启动时都交换密钥,无论是终端 (CLI) 还是 X/Desktop (GUI)。

“循环”问题是,如果您实际上没有角色 P,那么在下面的修复中输入角色“P”是正确的任务。

如何最好地将工作键(如截面/度数)映射到非工作键(如“P”)?

答案1

  1. 确定您的工作密钥的“密钥代码”(在我的例子中,§称为“section”或“silcrow”):

    秀键

运行此命令,然后按您的工作键。它应该显示如下内容:

keycode 41 press
keycode 41 release

所以“41”是我的工作密钥的密钥代码。

  1. 将该物理键码映射到您丢失的键。

    键码 41 = p | sudo 加载键

现在,如果您实际上无法输入丢失的键(例如“p”),那么它会......有趣......

我发现的最佳解决方案是echo $'\x70'进入一个文件(bash 脚本),然后进入该文件并在脚本命令中使用它。假设您想要将映射添加到引导例程中 - 您可以将其添加到文件中~/.bashrc

echo keycode 41 = p >> ~/.bashrc

现在您需要编辑 .bashrc 并将最后一行更改为:

echo keycode 41 = p

echo keycode 41 = p | sudo loadkeys

现在,如果您重新启动,它应该将键 41(部分)映射到“P”。

注1:解决方案如下:

xmodmap -e "keycode 49 = P"

是一个很好的方法,但它只有在启动 X(桌面)时才有效。这很好,因为它不需要可怕的 sudo,因此您可以将其添加到启动中~/.bashrc

注 2:使用 Ctrl+Shift+u 并输入 0050(“P”的 ASCII 代码)不起作用。

相关内容