首页
/ 探索Linux键盘映射新境界:keyd开源项目推荐

探索Linux键盘映射新境界:keyd开源项目推荐

2024-09-17 09:40:48作者:翟萌耘Ralph

项目介绍

在Linux的世界里,键盘映射一直是一个让人头疼的问题。为了实现理想的键盘布局,用户往往需要借助多种工具(如xcape、xmodmap等),而这些工具通常只能在特定的环境中使用(如X11)。为了解决这一痛点,keyd应运而生。keyd是一个灵活的系统级守护进程,通过使用内核级别的输入原语(如evdev、uinput)来重新映射键盘按键,从而实现跨环境的键盘布局定制。

项目技术分析

keyd的核心优势在于其速度、简单性、一致性和模块化设计:

  • 速度keyd采用C语言编写的手动调优输入循环,处理时间小于1毫秒,确保了高效的键盘映射。
  • 简单性:配置格式直观易懂,用户可以轻松上手。
  • 一致性:默认情况下,修饰键与层级配合良好,避免了常见的兼容性问题。
  • 模块化:通过IPC机制,keyd的核心功能可以扩展,支持UNIX哲学。

项目及技术应用场景

keyd适用于以下场景:

  • 自定义层级:用户可以轻松创建自定义的层级(如自定义Shift键)和一次性修饰键。
  • 多键盘布局:支持同一台机器上使用不同布局的多个键盘。
  • 按键重映射:用户可以重映射按键(如C-1)而不破坏修饰键的语义。
  • 跨环境使用keyd的配置在虚拟终端(VT)中同样有效,用户可以在不同环境中无缝切换。

项目特点

keyd拥有多项独特功能,包括:

  • 层级支持:支持混合修饰键的层级,类似于QMK等自定义键盘固件。
  • 按键重载:按键在轻触和长按时可以有不同的行为。
  • 键盘特定配置:支持为不同的键盘设置不同的配置。
  • 即时重映射:无需重新刷写固件,即可实现按键映射的即时更新。
  • 客户端-服务器模型:支持脚本编写和显示服务器无关的应用程序重映射。
  • 系统级配置:配置在系统范围内有效,适用于虚拟终端。
  • 修饰键重载:支持修饰键的重载,提供更灵活的按键映射。
  • Unicode支持:支持Unicode字符的输入。

总结

keyd是一个强大且灵活的Linux键盘映射工具,它不仅解决了传统工具的局限性,还提供了许多独特的功能。无论你是键盘布局的爱好者,还是需要在不同环境中高效工作的开发者,keyd都能为你提供极大的便利。快来尝试keyd,让你的键盘映射体验更上一层楼!


项目地址: keyd GitHub

安装指南:

git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd

快速开始:

  1. 安装并启动keyd
  2. /etc/keyd/default.conf中配置你的键盘映射。
  3. 运行sudo keyd reload以应用配置。

更多信息: 请参阅man keyd获取详细的使用说明。


通过keyd,你将体验到前所未有的键盘映射自由,快来加入我们,探索Linux键盘映射的新境界吧!

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
50
13
carboncarbon
轻量级、语义化、对开发者友好的 golang 时间处理库
Go
7
2
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
409
311
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
85
234
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
267
382
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
85
151
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TSX
285
26
cloudpodscloudpods
开源、云原生的多云管理及混合云融合平台
Go
70
5
凹语言凹语言
凹语言(凹读音“Wā”)是针对 WebAssembly 设计的编程语言,目标:为高性能网页应用提供一门简洁、可靠、易用、强类型的编译型通用语言。凹语言的代码生成器及运行时为全自主研发(不依赖于LLVM等外部项目),实现了全链路自主可控。目前凹语言处于工程试用阶段。
Go
13
4
surenesssureness
A simple and efficient security framework that focus on protection of API.
Java
6
0