我可以将 Control 映射到 Caps Lock 键并保留 Linux 中的切换功能吗?

我可以将 Control 映射到 Caps Lock 键并保留 Linux 中的切换功能吗?

我可以将 Caps Lock 键更改为 Control 键,同时仍保留 Caps Lock 的开/关特性吗?我尝试过使用 xmodmap,但似乎遇到了死胡同。许多人想交换它们,但他们也想交换它们的工作方式。我宁愿将我的新 Control 键保留为 Control 的开/关开关。

答案1

除了错误之外,Linux 或 Xorg都没有对 的低级支持Ctrl Lock,因此您要么需要将 Ctrl 按下操作反馈到某个输入缓冲区以模拟锁定的软件,要么需要一个直接支持它的键盘。

答案2

正如 Ignacio 所说,使用键盘映射无法做到这一点。但可以简单地使用以下脚本绑定键工具

首先,使用 xmodmap 剥离 Caps Lock 的特殊功能(每次启动 X 时都必须执行此操作):

xmodmap -e 'keycode 66 = F13'

然后,添加以下绑定.xbindkeysrc

"xdotool keyup Control_L; xdotool keydown Control_L"
    F13
"xdotool keydown Control_L; xdotool keyup Control_L"
    Control + F13

这会创建一次每次按下 Caps Lock(现在为 F13)时 Ctrl 键的虚假按键(无需释放)。向上+向下顺序的存在是出于虚假事件工作方式的一些技术原因。

在此版本中,按下(左)Ctrl 键可释放锁定。这可以修改(要么两个控件都释放它,要么都不释放它),但这会稍微复杂一些(例如,可以创建另一个控制键(例如 F14)并假装按下它而不是 Control_L)。

相关内容