将 CapsLock 键重新映射到 Exit 和 Super 或 Ctrl

将 CapsLock 键重新映射到 Exit 和 Super 或 Ctrl

CapsLock 的位置很有价值。我想为其添加 3 个功能。这个想法的灵感来自运气史密斯i3-gap 设置仅添加 2 个功能(请参阅remapSuper下面remapCtrl的脚本)

我的窗口管理器是 i3wm,我的操作系统是 Arch Linux。我使用以下脚本重新映射 CapsLock 键

重新映射大写锁定进入极好的Esc键

#remapSuper script: remap the Caslock to Super key (i3wm uses a lot Super key) 
setxkbmap -option caps:super

#remapEsc script: But when it is pressed only once, treat it as escape (Vim uses a lot exit)
killall xcape 2>/dev/null ; xcape -e 'Super_L=Escape'

重新映射大写锁定键入Ctrl

#remapCtrl script: remap the Caps to Ctrl, for tmux + Vim + fzf/Ctrlp/ 
setxbmap -option caps:ctrl

我需要实现的目标:

从外观上看,用户点击CapsLock+Tab键,但功能上:

Ctrl + Tab--> 调用 Remap1 规则(将 Ctrl、CapsLock 位置改为 Super)

超级 + 点击--> 调用 Remap3 规则(将位于 CapsLock 处的 Super 键更改为 Ctrl 键)

我对 remapSuper 和 remapCtrl 之间切换映射的解决方案是

# the switch function between remapCtrl and remapSuper in i3wm
bindsym $mod+Tab exec --no-startup-id remapCtrl
bindsym Ctrl+Tab exec --no-startup-id remapSuper

我遇到的问题:

i3wm 启动时会调用 remapSuper 和 remapEsc,它们工作正常,但是 remapSuper 和 remapCtrl 之间的切换映射不起作用。

问题:

我该如何解决?

相关内容