首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CAPS+hjkl绑定到箭头键;大写绑定到ESC

将CAPS+hjkl绑定到箭头键;大写绑定到ESC
EN

Unix & Linux用户
提问于 2018-01-05 06:42:53
回答 2查看 11.3K关注 0票数 15

目前运行Antergos Linux。我想要的设置如下。

  1. 按压和释放盖子发送ESC。
  2. 大写和任意CAPS+h、CAPS+j、CAPS+k、CAPS+l的组合分别发送左、下、上和右。一旦释放帽子,ESC就不会被发送。

当然,这里的目标是在没有它们的程序中获得一些VIM风格的绑定。

在这里,xcape似乎是有用的:

https://github.com/alols/xcape

但这些例子并没有让我达到我想要的程度。

任何帮助都是非常感谢的。

编辑:我在这里找到了一个非常有用的答案:

https://unix.stackexchange.com/a/163675/267068

有谁能帮我弄清楚如何修改这个过程,以便我在需要的时候得到CAPS+hjkl。我可以用Hyper_L代替答案中的Super_L,然后将Hyper_L + hjkl映射到左、下、上、右?

EN

回答 2

Unix & Linux用户

发布于 2019-09-24 20:07:35

我很难让它正确地使用/etc/profile,因此扩展@matrinica的答案,我就能够通过以下方法(在ubuntu/gnome上)获得成功:

步骤0:安装xclip和xcape

代码语言:javascript
复制
sudo apt install xclip
sudo apt install xcape

步骤1:创建~/..xmodmap

复制以下案文:

代码语言:javascript
复制
keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down

创建包含内容的文件:

代码语言:javascript
复制
touch ~/.xmodmap
xclip -o > ~/.xmodmap

步骤2:创建脚本

复制以下案文:

代码语言:javascript
复制
xmodmap ~/.xmodmap
xcape -e 'Mode_switch=Escape'

创建包含内容的文件:

代码语言:javascript
复制
touch ~/xmodmap.sh
xclip -o > ~/xmodmap.sh

使文件可执行:

代码语言:javascript
复制
chmod +x ~/xmodmap.sh

步骤3:创建自动启动条目

复制以下案文:

代码语言:javascript
复制
[Desktop Entry]
Type=Application
Exec=sh -c "$HOME/xmodmap.sh"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=xmodmap
Comment=xmodmap script

创建包含内容的文件:

代码语言:javascript
复制
touch ~/.config/autostart/xmodmap.deskop
xclip -o > ~/.config/autostart/xmodmap.deskop

注:

此方法不适用于Wayland,因此也不适用于将来。关于实现类似结果的Wayland兼容方法,请参阅:

https://askubuntu.com/a/898462

https://wiki.archlinux.org/index.php/Keyboard_输入

https://realh.co.uk/wp/linux-keymap-hacking/

如果你能想出一个干净的方法,这是兼容Wayland,请张贴在这里。

票数 0
EN

Unix & Linux用户

发布于 2021-01-04 19:34:34

我使用第三层符号并将箭头分配给字母hjkl

安装gnome-tweaks工具

内部gnome-调整到更多的布局选项,并选择Caps作为选择第3层的关键。

然后打开您的终端,转到/usr/share/X11/xkb/symbols/,您的计算机上有所有的键盘布局存储。

备份您的布局

cp us us_old

将文件修改为根

sudo nano us

数组中的第三个值是您的键:

代码语言:javascript
复制
key <AC01> {[a,A,Home]};
key <AC02> {[s,S,BackSpace]};
key <AC03> {[d,D,Delete]};
key <AC04> {[f,F,End]};
key <AC05> {[g,G]};
key <AC06> {[h,H,Left]};
key <AC07> {[j,J,Down]};
key <AC08> {[k,K,Up]};
key <AC09> {[l,L,Right]};
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/414926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档