我如何将右 Ctrl 映射到 Fn?

我如何将右 Ctrl 映射到 Fn?

运行 Ubuntu 14.04 LTS 的 Dell XPS 13。我经常使用HomeEnd键。(似乎大多数人不再使用这些键。)不幸的是,由于这台计算机太小,Dell 将HomeEnd放在了左右箭头键的上方,需要按住该Fn键才能获得HomeEnd

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,因此映射FnCtrl是不可能的。

然而,取决于你的键盘硬件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_UpAlt+ Arrow_Down,但我不建议使用 或Ctrl键,因为有些程序已经将它们用作快捷键。例如火狐使用那些。

相关内容