输入重映射工具
在 X 或 Wayland 环境中,大多数重映射任务可以通过本地 XKB 配置完成,请参阅 X keyboard extension#Local XKB folder。 要在 linux 控制台中重映射按键,请参阅 Linux console/Keyboard configuration。 对于报告不正确键码的键盘或设备,请参阅 Map scancodes to keycodes。
一些特殊的配置或行为使用软件守护程序来转换输入事件。 此页面列出了可用于重新配置来自键盘、鼠标和其他硬件的输入事件的软件。
实用程序
evremap
evremap (evremap-gitAUR) — 一款适用于 Linux/Wayland 系统的键盘输入重映射工具。 此工具可以通过以下方式进行重映射:将 CapsLock
键重映射为按住时产生 Ctrl
,但轻击时产生 Esc
,并将 n
个键重映射为 m
个键。 例如:将 F3
映射到 Ctrl+c
,将 Alt+Left
映射到 Home
。
安装后,创建配置文件 /etc/evremap.toml
(仓库中的示例),或编辑 evremap.service
以指向您的配置。 然后启动该服务。
evdevremapkeys
evdevremapkeys (evdevremapkeys-gitAUR) — 一款用于重映射 Linux 输入设备上的按键事件的守护程序。 此工具可以重映射键盘和鼠标事件。 它可以映射到重复操作(例如,执行双击),并且可以在按下按钮时生成它们(例如,在按住后退按钮时生成滚轮向上事件)。
也可以将组合键重映射到组合键,但这尚未合并,并且在 pronobis 分支中可用。 参见此处。
evsieve
evsieve (evsieveAUR) — 一款底层实用程序,可以从 Linux 事件设备 (evdev) 读取事件并将它们写入虚拟事件设备 (uinput),同时对事件执行简单的操作。 在 Wayland 上工作。 Evsieve 特别旨在与 Qemu 的 evdev-passthrough 功能结合使用。
kbct
kbct (kbct-gitAUR) — Linux 键盘自定义工具。 尽管名称如此,但也支持鼠标事件。 此工具允许您将一个事件(键盘或鼠标按钮)映射到另一个事件。 您可以定义多个“层”——取决于您使用输入键按下哪个修饰键的映射列表。 遗憾的是,目前 kbct 不允许您生成多按钮事件。 参见 [1]。
安装后,根据需要编辑 /etc/kbct/config.yml
,然后启动 kbct.service
。
keyd
keyd (keyd) — 一款 Linux 键位重映射守护程序,它使用灵活的系统范围守护程序,该守护程序使用内核级输入原语(evdev、uinput)重映射按键。 Keyd 在图形环境(如 X11 和 Wayland)以及 Linux 虚拟控制台中均可工作。 阅读项目的 README 以获取有关 keyd 与类似软件相比的更多信息。
Input Remapper
Input Remapper input-remapper-gitAUR — 一款实用程序,提供 GUI 和 CLI 来配置输入设备重映射。 适用于 X 和 Wayland。
wtype
wtype (wtype) — 适用于 Wayland 的 xdotool type(需要合成器支持虚拟键盘协议)。
其他
- Hawck - 一款底层按键重绑定守护程序
- IMWheel — 一款适用于 X11 的工具,可以根据按下的修饰键和每个应用程序单独重新映射鼠标滚轮事件。
- Interception-tools — 又一款多功能工具,使用各种插件。
- 鼠标按钮#用户工具 — 用于配置鼠标按钮的硬件相关实用程序列表。
- wayland-mouse-mapper — 一个用于将 Wayland 上的鼠标按钮映射到击键的小脚本。
- evmapy — 一款用 Python 编写的 evdev 事件映射器。 尚未在 AUR 中。
- python-evdev — 一款实用程序,允许您在 Linux 上读取和写入输入事件。 事件可以是按键或按钮按下、鼠标移动或触摸屏上的点击。
- noinputs (noinputs-gitAUR) — 一款用于列出和禁用(抑制)输入设备的实用程序。
- xremap (AUR 中的 xremap) — 适用于 X11 和 Wayland 的按键重映射器,使用 evdev 和 uinput。
测试
- evtest (evtest) — 一款实用程序,可以在您按下按钮时显示按钮名称,这在配置重映射实用程序时很有帮助。
- wev (wev) — 一款用于查看 wayland 中的输入事件的实用程序,类似于 xev。
使用 evsieve --input /dev/input/event* --print
您可以看到计算机上发出的所有事件。
测试键盘按钮的另一种方法是使用在线网站。 大多数此类测试器无法区分左右修饰键。 一个可以的例子是: https://stendec.io/