运行 Ubuntu 14.04 LTS 的 Dell XPS 13。我经常使用Home和End键。(似乎大多数人不再使用这些键。)不幸的是,由于这台计算机太小,Dell 将Home和End放在了左右箭头键的上方,需要按住该Fn键才能获得Home和End。
Ctrl光标键旁边有一个键。我从不使用此键,因为我已将CapsLock其映射到Ctrl。我希望它充当一个Fn键,这样我就可以用一只手按下Fn Left( Home) 和Fn Right( End)。
有什么办法可以做到这一点?
编辑:我按照@AB 的评论建议,运行了 showkey 和 xev,但 Fn 键没有触发任何输出。我觉得这意味着我的请求不可能实现。
答案1
安装xautomation
,我们需要命令xte
sudo apt-get install xautomation
和xbindkeys
sudo apt-get install xbindkeys
创建或编辑文件~/.xbindkeysrc
nano ~/.xbindkeysrc
并添加以下几行
"xte 'key Home'"
m:0x4 + c:113
"xte 'key End'"
m:0x4 + c:114
测试
killall xbindkeys
xbindkeys -f ~/.xbindkeysrc
该包xbindkeys
会安装一个自动启动项
/etc/xdg/autostart/xbindkeys.desktop
无需再做其他事。
答案2
不幸的是,Fn是一个死键:这意味着它本身没有扫描码,只有与其他键一起按下时才会为其他键提供额外的扫描码。
当你进入tty1
并执行以下代码时你会看到:
showkey --keycodes
你按下任何键都会有输出,除了 Fn,因此映射Fn到Ctrl是不可能的。
然而,取决于你的键盘硬件,Fn+→ 可以映射到 EG Ctrl+ →,但这样您将失去两个键的功能Ctrl......
(我在我的键盘上尝试过,但不可能像Fn+那样→给出→相同的扫描码......)
答案3
这是一个更简单的解决方案:绑定sh -c "xdotool getactivewindow key Home "
和sh -c "xdotool getactivewindow key End "
命令,到Alt+,和Alt+.
当然你需要xdotool
先安装sudo apt-get install xdotool
。
然后进入Settings-> Keyboard-> Shortcuts-> Custom。点击加号按钮并创建新的快捷方式。
注意:您也可以使用Alt+Arrow_Up和Alt+ Arrow_Down,但我不建议使用 或Ctrl键,因为有些程序已经将它们用作快捷键。例如火狐使用那些。