Xmodmap 是一个 Linux/Unix 命令行程序,用于重新映射键盘的按键。它允许用户修改键盘的按键功能或者将按键映射到其它按键。

例如将 Caps Lock 键映射为 Ctrl 键或将右 Alt 键映射为 Compose 键。在本教程中,我们将向你说明如何在 Linux 使用 Xmodmap 命令的基本用法和重新映射键盘。

Xmodmap 命令

Xmodmap 命令选项并不多并且多数都是用于打印键盘映射。通常你需要在重新映射键盘之前备份一下现在键盘映射,避免将键盘不能用的情况。

你可以运行命令 xmodmap -pke > ~/.Xmodmap 备份当前键盘映射,命令将会在你家目录下保存键盘映射的文件 ~/.Xmodmap

如果你需要在当前会话中加载键盘映射可以运行命令 xmodmap ~/.Xmodmap

xmodmap -pke > ~/.Xmodmap #保存当前键盘映射

xmodmap ~/.Xmodmap #加载键盘映射

这将在当前会话中重新映射键。如果您希望在每次登录时自动加载 .xmodmap 文件,请将命令 xmodmap ~/.Xmodmap 添加到您的 ~/.bashrc 文件中。

映射按键

Xmodmap 命令的主要用途是重新映射键。例如,以下规则将 Caps Lock 键映射为左 Ctrl 键:

keycode 66 = Control_L

这意味着当您按下 Caps Lock 键时,它将被视为左 Ctrl 键。您可以将此规则添加到 .xmodmap 文件中,然后使用上述命令加载它。

您可以使用 xev 命令查看每个键的键码。在终端中运行 xev 命令,这将打开一个小窗口,在该窗口中按下您要重新映射的键。键码将显示在终端中:

xev

映射多个键

您可以将多个键映射到同一个键码。例如,以下规则将 Caps Lock键和左 Ctrl 键映射为同一个键码:

clear lock
keycode 37 = Control_L
keycode 66 = Control_L
add control = Control_L

这意味着当您按下 Caps Lock 键或左 Ctrl 键时,它们都将被视为 Ctrl 键。请注意,此规则还包括了“clear lock”命令,该命令将 Lock 键清除为普通按键。

映射组合键

您还可以将多个键映射到一个组合键。例如,以下规则将右 Alt 键和空格键映射为 Compose 键:

keycode 108 = Mode_switch
keycode 65 = space
keycode 66 = space
compose:ralt + space = space

这意味着当您按下右 Alt 键和空格键时,它们将被视为 Compose 键。请注意,这里使用了“compose”命令,该命令指定了组合键。

取消映射键

如果您希望取消键的映射,可以使用以下命令:

keycode [keycode] = [keysym]

其中[keycode]是您要取消映射的键的键码,[keysym]是您要将其映射回的键。例如,以下命令将Caps Lock键映射回普通的Caps Lock键:

keycode 66 = Caps_Lock

结论

Xmodmap 命令是一个强大的工具,可以帮助您重新映射键盘的按键。在本教程中,我们介绍 Xmodmap 命令的基本用法和一些常见的用例。

包括映射按键,映射多个键,映射组合键和取消映射键。如果您经常使用 Linux 或Unix 系统,Xmodmap 命令可能会成为你的得力助手。