如果 Enter 键不起作用,如何按此键

如果 Enter 键不起作用,如何按此键

我需要紧急帮助,我的 Enter 键刚被损坏,我无法再正常使用终端。我把饮料洒在键盘上,除了 Enter 键之外,所有键都可以正常工作。

所以我想问一下,我是否有办法将它映射到不同的键,就像我在 Windows 上所做的那样

谢谢您的帮助

答案1

您需要两个应用程序:xev 和 xmodmap,它们都是命令行工具。

运行 xev。然后按下要更改其行为的键。即 Enter。然后xev会输出有关所按下的键的一些信息。注意第三行。它应该是这样的:

state 0x10, keycode 110 (keysym 0xff55, Prior), same_screen YES,

在此示例中,Prior 是当前分配给该键的行为的名称,数字 keycode 是用于识别该键的内部 ID。现在使用另一个键(即 PgDown)执行此操作,输出如下

state 0x10, keycode 115 (keysym 0xff56, Next), same_screen YES,

这里对我们来说最有趣的部分是键码 115 和 Next。现在,当您想要交换这两个键时,请使用 xmodmap。

 xmodmap -e "keycode 110 = Next"

这会将键盘上键码为 110 的键更改为下一步操作。这很简单。

答案2

如果 Enter 键不起作用,如何按此键

如果您很幸运地打开了一个终端,请同时按下Ctrl+ Shift+ U,然后按Shift+ A(大写 A)插入“Enter”的 Unicode。

否则,您将必须使用屏幕键盘(可能安装有辅助功能工具)或使用外部键盘。

在 X11 桌面中重新映射键

  1. 使用命令获取要重新映射的键的键码xev

    KeyRelease event, serial 34, synthetic NO, window 0x4a00001,
    root 0xc5, subw 0x0, time 482692681, (-95,23), root:(499,342),
    state 0x11, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
    

    按下右 Shift 键时的示例输出,其键码为 62。

  2. Return使用以下命令重新映射所需的键码xmodmap,例如:

    xmodmap -e "keycode 62 = Return"
    

    将键码 62 从 重新映射Shift_RReturn

  3. 如果您对当前的键盘映射感到满意并且希望在未来的 X-sessions 中使用它,请运行以下命令来保存它:

    xmodmap -pke > ~/.Xmodmap
    

在本机 Linux 控制台中重新映射键

  1. 内核键码与 X11 键码不同。我发现此键码表在快速的 Google 搜索中。我会选择R Shift内核密钥代码为 54 的那个。
  2. 运行以下命令来转储当前的键盘映射:

    dumpkeys > ~/keymap.dmp
    
  3. 现在,修改转储的键映射:您需要将键码 28 的行为复制到新键码,即如果您想使用右移,则为键码 54。您可以在文本编辑器中手动执行此操作,也可以使用以下命令(将行为从键码 28 复制到键码 54):

    sed -n '/keycode *28 = /p' ~/keymap.dmp > ~/keymap.return
    sed -i 's/28 =/54 =/' ~/keymap.return
    sed -e '/keycode *54 = /!b;r '$HOME'/keymap.return' -e 'd' ~/keymap.dmp > ~/keymap.new
    

    您的新键盘映射现在位于 ~/keymap.new 中

  4. 在控制台中加载新的键盘映射(需要 root 访问权限):

    sudo loadkeys ~/keymap.new
    
  5. 对结果满意吗?在 Ubuntu 上,您可以在 中更改默认键盘设置/etc/default/keyboard。将修改后的键盘映射文件复制到安全位置,并了解如何在启动时自动加载它,这样您就不必loadkeys每次都运行。

答案3

添加该行对我有用。

~/ tail -1 .tmux.conf
run-shell 'xmodmap -e "keycode 104 = Return"'

相关内容