跳转至内容

输入重映射工具

来自 ArchWiki


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

makima

makima (makima-binAUR) — 用于键盘、鼠标和控制器的重映射和宏创建的 Linux 守护进程。使用 evdev 接口。通过将 device_name.toml 文件放在 ~/.config/makima 中来按设备进行配置,并且还支持使用 device_name::window_class.toml 进行按应用程序配置(仅限 X11、Sway、Hyprland 和 Niri)。

wtype

wtype (wtype) — 适用于 Wayland 的 xdotool 类型(需要合成器支持 虚拟键盘协议)。

其他

  • Hawck - 低级按键重绑定守护进程
  • IMWheel — 一个用于 X11 的工具,可以根据按下的修饰键以及独立于应用程序来重映射鼠标滚轮事件。
  • Interception-tools — 另一个通用的工具,使用各种插件。
  • Mouse buttons#User tools — 一系列硬件相关的配置鼠标按钮的实用工具。
  • wayland-mouse-mapper — 一个用于在 Wayland 上将鼠标按钮映射到按键输入的简短脚本。
  • evmapy — 用 Python 编写的 evdev 事件映射器。尚未在 AUR 中。
  • python-evdev — 一个允许您在 Linux 上读取和写入输入事件的实用工具。事件可以是按键或按钮按下、鼠标移动或触摸屏点击。
  • kmonad - 高级键盘重映射工具守护进程
  • noinputs (noinputs-gitAUR) — 一个用于列出和禁用(inhibit)输入设备的实用工具。
  • xremap (AUR 中的 xremap) — 使用 evdev 和 uinput 的 X11 和 Wayland 的按键重映射器。

测试

  • evtest (evtest) — 一个可以显示您按下按键时的按钮名称的实用工具,这在配置重映射实用工具时很有帮助。
  • wev (wev) — 一个用于在 Wayland 中查看输入事件的实用工具,类似于 xev

使用 evsieve --input /dev/input/event* --print,您可以查看计算机上发出的所有事件。

测试键盘按键的另一种方法是使用在线网站。大多数此类测试器无法区分左侧和右侧修饰键。一个可以做到这一点的例子是:https://stendec.io/

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.