Capslock icon indicating copy to clipboard operation
Capslock copied to clipboard

能否为xmodmap提供一样的功能

Open kktt007 opened this issue 4 years ago • 5 comments
trafficstars

目前已非常依赖此脚本的功能 但是在linux上xmod只能提供capslock配合hjkl等键使用。 此脚本有一个很好的特性 Ctrl, Alt Compatible ,不知是否可以用在xmodmap上,感谢提供脚本。

kktt007 avatar Apr 30 '21 05:04 kktt007

ummm,要不你开分支自己手写一个简单的

Capslock ,hjkl,uiop,swq?

提交分支,然后看其他 Linux 用户觉得好用,继续添砖加瓦。

感觉 Windows+虚拟机,或者直接 Mac 用户很多,两个平台都覆盖了, 纯 Linux (xmod)比较少。

miozus avatar Aug 03 '21 15:08 miozus

倒不是不想,主要是不会😂。一直是走ssh从mac用Linux的。 所以也确实没有这个需求和知识,抱歉了。 但如果您愿意尝试fork DIY一个,我会非常乐意参与测试与校对。

Vonng avatar Aug 04 '21 02:08 Vonng

"> 倒不是不想,主要是不会😂。一直是走ssh从mac用Linux的。

所以也确实没有这个需求和知识,抱歉了。 但如果您愿意尝试fork DIY一个,我会非常乐意参与测试与校对。 撤回让我来说,主要是真不会,-_-

虽说现在在Linux Kde桌面下,可以绑定快捷键,但是有个类似此项目的配置还是非常方便的(绑定单个按键同时,还支持组合键). 我想知道那些用vim和emacs之外的人都是如何在vscode,sublime这些编辑器上快速移动的(home,end,箭头这些肯定是低效的),

目前我感觉此项目是windows最高效的,所以寻求Linux上的应用,目前用的是xmodmap(https://tonsky.me/blog/cursor-keys/),但是他能绑定的是单个快捷键,组合键没有

kktt007 avatar Aug 04 '21 03:08 kktt007

xmodmap映射一点简单的还可以,Linux上要完美配置是要编写一个XKB的键盘布局方案。可以参考现在提供的neo2和l3布局。 但是XKB文档很不完善,一些高级用法比较晦涩难懂。 而且不能实现单独按<CAPS>输出一个KeySym,作为修饰键与其它键组合一起按又输出另一个KeySym。这个功能可以由xcape实现。而映射为shell命令启动程序可以由xbindkeys+xdotool实现。

简单地说XKB,一般会用到ISO_Level3_Shift和ISO_Level5_Shift,可以分别定义修饰键Mod3和Mod5来实现。而Mod3和Mod5可以映射到<CAPS><RALT><COMP>。这样就会多出来3,4,5,6,7,8层,即6层布局,加上原来2层,共8层布局。 然而,GUI程序一般只识别通用的修饰键Shift、Ctrl、Alt、Super,额外映射的Mod3、Mod5并不能在这些程序中与其它键组合作快捷键。所以通常会映射为标点、符号、欧洲语言字母、控制字符。如何映射为一组控制序列,或者一个另一组快捷方式,我还不掌握(本人暂时没有这个需求)。 比如说我自己用的方案

XKB、xmodmap、xbindkeys、xdotool都有自身局限性,很难单独完全实现Karabiner,需要配合起来。但这样未免也搞得太复杂了。而且Linux用户和Win/Mac用户相比习惯差太多,内部Vim和Emacs用户的怪癖也不相同,映射会极具个性化。要搞一套方案价值不大,还是自己选择合适的工具吧。

cantoraz avatar May 12 '22 04:05 cantoraz

我已经收到邮件,有空多联系~~

ShortTailedRat avatar May 12 '22 04:05 ShortTailedRat