如何将Ctrl +箭头绑定到Home和End键? xmodmap不起作用
在Windows上,我曾经通过ahk将Ctrl + Left绑定到Home并将Ctrl + Right绑定到End 。
现在我正在努力在Ubuntu中实现这种行为。 我试过编辑/etc/inputrc
:
"\e[1;5C": end-of-line "\e[1;5D": beginning-of-line
它只能在终端窗口中工作。 我也试过xmodmap:
xmodmap -e "keycode 113=Left NoSymbol Home"
但它不起作用。
这里奇怪的是,如果我在xmodmap中绑定到Shift + Left ,它可以工作:
xmodmap -e "keycode 113=Left Home"
我的猜测是, Ctrl + Left (跳过单词)的默认行为在某种程度上优先于xmodmap绑定。
我在哪里可以找到默认绑定的位置以及如何删除它? 或者,也许我可以在那里绑定所需的行为?
我在Ubuntu 12.04上
AutoKey可以做这样的绑定,但它需要在后台运行服务(比如ahk,但不像xmodmap)。
配置文本为
的“短语”,粘贴方法为Keyboard
,热键为
:
我在Ubuntu工作站上使用Apple铝键盘,以下xmodmap命令为我做了:
# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that # they act like on the MacBook keyboard with Fn key pressed xmodmap -e "keycode 37=Mode_switch" xmodmap -e "keycode 113 = Left NoSymbol Home" xmodmap -e "keycode 114 = Right NoSymbol End" xmodmap -e "keycode 111 = Up NoSymbol Prior" xmodmap -e "keycode 116 = Down NoSymbol Next"
这非常有效,因为我的Caps Lock键使用Ubuntu键盘首选项重新映射到Controlfunction,因此不需要左键控制键。 由于它位于MacBook键盘上的Fn键位置,因此在桌面和MacBook键盘之间切换不会影响肌肉记忆。