输入重映射工具

出自 ArchWiki


此文章或章节的 factual accuracy 存疑。

原因: XKB 是否在 Wayland 上使用? 最初的 Wayland 注释 看起来没问题。(在 Talk:Input remap utilities 中讨论)

在 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/