V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yadam  ›  全部回复第 1 页 / 共 7 页
回复总数  125
1  2  3  4  5  6  7  
@hangyi #2 老哥是高手, 真是帮我大忙了.

两条都中, 关闭之后就没问题了, 没关闭的话先输入一个英文字母, 然后再输入中文就可以输入了.

想学习一下原理, 就只搜到了这个页面 https://fcitx-im.org/wiki/Hall_of_Shame_for_Linux_IME_Support
老哥有关键词可以分享一下么? 我再学习学习
我之前也有类似的想法, 但是自己能力太差放弃了.
看楼上也有很多有类似想法的, 要不要考虑搞个开源的 repo, 纯当大家一起练手
11 天前
回复了 hzzhzzdogee 创建的主题 Terminal Kitty, Wezterm, Alacritty, Ghostty 该用哪个?
认同 #9 (除了 wezterm, 我没用过)

- kitty 目前是我的主力, 没有遇到过什么问题
- alacritty 是之前我的备用, 主要场景是要开两个 terminal, 并且希望绑定两个全局的 run or raise 的快捷键
- ghostty 感觉系统原生 UI 做的比较好, macOS 和 gnome 下都很融入系统, 有 tab, 在显示图片的时候比 kitty 分辨率高很多(类似 kitty icat 那种), 缺点是 ssh 到一台新机器的时候要把它自己的 terminfo 拷一份过去, 否则有些程序会报错. 然后 copy on select 之类的功能还不支持, 看有 issue 在讨论. 确实需要再养养, 现在它取代了 alacrity 作为我的第二终端模拟器
21 天前
回复了 yadam 创建的主题 Linux 分享一个 Linux 下的改键工具
@kuanat #4


感谢回复, 老哥太专业了, 句句直戳要害
我说一下在做这个工具的时候自己的一点儿思考, 希望老哥能够百忙之中再指导指导


关于 2:

这个真是大坑而且不太好在 remapping 的逻辑里处理完
我目前的做法是针对 ctrl 和 alt 做了特殊处理 (其实如你所说, alt 更加不好处理,我自己疏忽了没有考虑到 alt 在很多场景是不是完全的 modifier)

我对 ctrl 处理的需求是想解决按住 ctrl 打开浏览器链接的时候会强制在新 tab 打开
当前的处理逻辑是(以 ctrl 为例):
- 独立按下的时候透传一个 down 的 event
- 在 down 的状态如果还有其他键比如 C 按下并且匹配到改键逻辑, 则在发送改键 event 之前发送这个 ctrl 的 up event
- 发送修改之后的组合到 uinput
- 丢掉 src dev 后面 ctrl 和 C 的 up event

所有的 remap 的配置我都是使用当前 down 的所有 key 做匹配


关于 3:

我的初版实现是用 yaml 做配置文件的, 好处就是所有用户的逻辑可以提前知道, 性能可以做到比较好
但是只要想表达复杂逻辑 if else or and 之类的, 在 yaml 上做就很反人类

那自然想到脚本语言, 我评估了三种:

1. lua, 最开始就想到它, vim, 以及我个人比较喜欢的一个叫做 Hammerspoon 工具都用它
但是我自己不太会写 lua, 以及看到一些大佬评价 lua 的某些缺点, 就不做最优先考虑了
2. 像 AHK 一样, 有自己的脚本引擎, 这个是我最想要做的, 好处有:
- 可以做到配置特别简洁, 比如 remap 只需要两个 a::b 就行
- 脚本运行之前就能掌控所有的用户配置, 好做优化
- 支持复杂的 if else 等逻辑

缺点: 对我这样的初级开发者来讲, 实现起来太难了. 对用户来讲需要学习一个新的脚本语法
3. js, 算是综合前面所有考虑之后的妥协

另外提到全拦截, 我看到的最优雅的是 kmonad, 最开始我也实现了一个 layer 的方案, 但是后来发现对于我这样只想映射少量键的请, 要配置层多了之后每个层都要把所有键配置一下也挺烦的
最后想开了: 不要想大而全, 不要想让很多人都用, 就只做好一小部分功能就不错了
从这个角度出发, 我甚至都考虑过不开放配置, 就叫做: 让你的 linux 快捷键用起来像 macOS
我自己用的话可能就用 go 写死一个这个 [Engine]( https://github.com/jialeicui/KeySwift/blob/d21ee1e683cab0ee16862d08612ea0ccadb50327/pkg/engine/interfaces.go#L15) 的实现了


关于 4:

是我自己的强需求, 目前只实现了 gnome 相关的, 要做好确实要有好多路要走

老哥其他提到的很多知识点/名词都让我学到很多, 再次感谢!
22 天前
回复了 yadam 创建的主题 Linux 分享一个 Linux 下的改键工具
@xiling000000 #2
学习了, 原来还可以这样, 确实方便

我现在比较依赖于不同的 app 不同的快捷键
比如 emacs 形式的快捷键和 terminal 以及开了 vim mode 的程序都会打架 (比如 ctrl+b 和 tmux 打架)

以前用基于 X 的桌面的时候用过一阵子 autokey, 也挺好用的

我现在的配置是: https://github.com/jialeicui/KeySwift/blob/main/examples/config.js
恭喜, 祝越来越好
136 天前
回复了 voydomnvd 创建的主题 Linux 本人用 Linux 发行版的一些疑惑
@lpdink #4 我自己主要是离不开 aur
152 天前
回复了 capgrey 创建的主题 Linux 哪个 Linux 发新版本支持 Darwin(Mac OS)的键位?
如果是基于 X 的 DE, 用 autokey 可以满足大部分的场景
wayland 下的 DE 的话, 我现在用 xremap, 这东西的好处是可以基于不同的 app 做配置, 大部分场景也都没问题
kmonad 的 layer 概念很 nb, 不过我用不习惯

下面是我现在用的 xremap 的配置 (jb 我在 ideavim 里配了一些, 基本跨操作系统无感)

```yaml
keymap:
- name: "chrome"
application:
only: Google-chrome
remap:
Super-1: C-1
Super-2: C-2
Super-3: C-3
Super-4: C-4

- name: "default"
application:
not: [kitty, org.gnome.Console, org.kde.konsole, jetbrains-goland, jetbrains-pycharm, jetbrains-idea, jetbrains-clion, jetbrains-webstorm, jetbrains-phpstorm, jetbrains-rubymine, jetbrains-datagrip, jetbrains-appcode, jetbrains-android-studio]
remap:
Super-c: C-c
Super-v: C-v
Super-w: C-w
Super-t: C-t
Super-p: C-p
Super-a: C-a
Super-r: C-r
Super-f: C-f

- name: "window"
remap:
Super-Shift_L-Alt-m: Super-Up

- name: "jetbrains"
application:
only: [jetbrains-goland, jetbrains-pycharm, jetbrains-idea, jetbrains-clion, jetbrains-webstorm, jetbrains-phpstorm, jetbrains-rubymine, jetbrains-datagrip, jetbrains-appcode, jetbrains-android-studio]
remap:
Super-1: Alt-1
Super-2: Alt-2
Super-3: Alt-3
Super-w: C-4
Super-c: C-Insert
Super-v: Shift-Insert

```
341 天前
回复了 coderMonkey 创建的主题 OpenAI AI 关于字符串回答总是错误的问题
#5 的文章写的很详细, 学习了
如果 op 的流程里一定依赖这种数长度流程的话, 会不会用 tool calling 可以比较完美的解决?
355 天前
回复了 Knuth 创建的主题 MacBook 后端开发一定要买 macbook 吗
如果不是公司提供的电脑是 mac, 个人觉着没必要用 mac, 特别是 cpp 开发
Windows 没有问题, 如果是我的话, 更可能会 Linux 作为开发机, 最主要的是跑各种 docker container 比 wsl 稍微自然一些
如果是公司提供开发机, 那 Windows 更没问题了, vscode remote 或者 vim 过去, 自己电脑是啥无所谓
2024-03-14 13:06:49 +08:00
回复了 1800ml 创建的主题 Apple 有 Mac、Win 双修的老哥吗 关于快捷键适应问题
从各种地方揉了一个自个的 ahk 脚本, 供参考 https://gist.github.com/jialeicui/0a6f5328beb83ec525fc3e620f4be0b4
2024-02-08 10:06:20 +08:00
回复了 dododada 创建的主题 程序员 第一次写总结, 2023 总结
嗯,能健康就挺好的
2024-02-02 17:25:23 +08:00
回复了 yadam 创建的主题 程序员 给小爱音箱做一个开源固件
@zzbd #28 嗯, 是的, 这个项目适用性比我的这个广, 因为不用 root 音箱. 我在描述里提到了, repo 最下方也有链接 😀
2024-01-31 21:54:29 +08:00
回复了 yadam 创建的主题 程序员 给小爱音箱做一个开源固件
@kekeones 自己搞应该是正途,我对硬件设计完全不懂,就算找几个现成方案攒起来大概率贵&集成度不好
2024-01-29 12:34:43 +08:00
回复了 yadam 创建的主题 程序员 给小爱音箱做一个开源固件
@zzbd #24 看到这么一个公司, 没深入研究 https://www.iflyos.cn/
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5052 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 08:07 · PVG 16:07 · LAX 01:07 · JFK 04:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.