https://github.com/jialeicui/KeySwift
特点:
不足:
示例配置
const curWindowClass = KeySwift.getActiveWindowClass();
const Terminals = ["kitty", "Gnome-terminal", "org.gnome.Terminal"];
const inTerminal = Terminals.includes(curWindowClass);
KeySwift.onKeyPress(["cmd", "v"], () => {
if (curWindowClass === "com.mitchellh.ghostty") {
KeySwift.sendKeys(["shift", "ctrl", "v"]);
return
}
if (inTerminal) {
KeySwift.sendKeys(["cmd", "shift", "v"]);
}
});
背景:
我个人比较喜欢 macOS 下的快捷键方式, 一部分是 Cmd+xxx 对 terminal 和 vim-mode 的编辑器比较友好, 一部分是绝大部分编辑框都支持 emacs 方式的编辑
用了 xremap 两年多, 很好用, 但是偶尔会出些问题, 某些 modifier 键的处理可能有 corner case, 会卡在 pressed 状态, 又不会 rust, 用 go 写了一个, 用来学习+自己方便按照自己的思路搞搞
获取当前窗口的功能评估了很多方案, 最后还是采取了 xremap 的 gnome extension 的方式
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.