如何将 right-Ctrl 映射到 Fn?

I. *_*edy 12 keyboard-layout

运行 Ubuntu 14.04 LTS 的戴尔 XPS 13。我经常使用HomeEnd键。(似乎大多数人不再使用这些键了。)不幸的是,因为它是一台如此小的计算机,戴尔将HomeEnd放在左右箭头键的顶部,需要按住该Fn键才能获得HomeEnd

Ctrl光标键旁边有一个键。我从不使用这个键,因为我已经CapsLock映射到Ctrl. 我希望它像一个Fn键一样,这样我就可以用一只手按下Fn Left( Home) 和Fn Right( End) 。

有没有办法做到这一点?

编辑:正如@AB 的评论所建议的那样,我同时运行了 showkey 和 xev,并且 Fn 键不会触发任何输出。我有一种感觉,这意味着我的请求是不可能的。

在此处输入图片说明

A.B*_*.B. 4

安装xautomation,我们需要命令xte

sudo apt-get install xautomation
Run Code Online (Sandbox Code Playgroud)

xbindkeys

sudo apt-get install xbindkeys
Run Code Online (Sandbox Code Playgroud)

创建或编辑文件~/.xbindkeysrc

nano ~/.xbindkeysrc
Run Code Online (Sandbox Code Playgroud)

并添加以下行

"xte 'key Home'"
 m:0x4 + c:113

"xte 'key End'"
 m:0x4 + c:114
Run Code Online (Sandbox Code Playgroud)

测试用

killall xbindkeys
xbindkeys -f ~/.xbindkeysrc
Run Code Online (Sandbox Code Playgroud)

该软件包xbindkeys安装一个自动启动条目

/etc/xdg/autostart/xbindkeys.desktop
Run Code Online (Sandbox Code Playgroud)

不需要更多的事情。


Fab*_*bby 1

不幸的是,对您来说,这Fn是一个死键:这意味着它本身没有扫描码,只有在与其他键一起按下时才会向其他键提供额外的扫描码。

\n\n

tty1当你去那里执行时你可以看到这一点:

\n\n
showkey --keycodes\n
Run Code Online (Sandbox Code Playgroud)\n\n

你按下的任何键都会给你一个输出,除了 Fn,所以映射FnCtrl是不可能的。

\n\n

但是,根据键盘的硬件Fn+\xe2\x86\x92 可以映射到 EG Ctrl+ ,但随后您将失去这两个键\xe2\x86\x92的功能......Ctrl

\n\n

(我在键盘上尝试过,不可能像Fn+\xe2\x86\x92那样\xe2\x86\x92给出相同的扫描代码......)

\n