![如何在Emacs中分别绑定左右ctrl键](https://linux22.com/image/53701/%E5%A6%82%E4%BD%95%E5%9C%A8Emacs%E4%B8%AD%E5%88%86%E5%88%AB%E7%BB%91%E5%AE%9A%E5%B7%A6%E5%8F%B3ctrl%E9%94%AE.png)
我重新分配了left ctrl
键到capslock
键以在 Emacs 中使用 ctrl。
有没有办法分别绑定左右ctrl键?
例如,我想绑定left-ctrl-a
到select all
和right-ctrl-a
到beginning-of-line
。换句话说,我想模仿OS X 的关键概念ctrl
。command
答案1
不幸的是,control
X11 仅支持一种修饰符:
$ xmodmap -pm
xmodmap: up to 5 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Hyper_L (0x42), Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
正如您所看到的,虽然 left 和 right 有单独的键符号Ctrl,但它们都绑定到相同的修饰符control
。但是,您可以将您绑定Ctrl_L
到其他地方未使用的另一个修饰符(mod3
例如,在上面的示例中,这可能是 )并配置您的 Emacs 以使用C-a
(这将是您的正确的 Ctrl)像往常一样(beginning-of-line
)但告诉它处理Mod3-a
(你的左边 Ctrl) 根据你喜欢的。