设置 fn + arrow 代表'home'和'end'

Ali*_*aka 21 keyboard shortcut-keys

我想为 fn+right/left 对添加一个功能,就像在 Mac 中一样 - 'home' 和 'end'。我不是要替换“home”和“end”按钮——只是添加另一个“home”/“end”键。优势在于编写/修改文本。我经常使用箭头,我也使用主页和结束按钮,但为什么要跳到一个全新的按钮?我的左手已经靠近 fn(功能)键 - 准备按下 control 或 shift。

我该如何设置?

谢谢。

Ras*_*mus 8

我绝对理解你为什么要这样做!这是我打赌我所做的:

启动终端并运行“xev”。将鼠标光标放在 Event Tester 窗口上,然后按 fn+right/left。您应该得到如下读数:

    KeyRelease event, serial 36, synthetic NO, window 0x5200001,
root 0xb2, subw 0x0, time 89989888, (98,124), root:(1007,175),
state 0x0, keycode 171 (keysym 0x1008ff17, XF86AudioNext), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False
Run Code Online (Sandbox Code Playgroud)

这是我的键盘和 fn+right。找到密钥代码——这里是 171。

现在去编辑你的主目录中的 .bashrc 文件。它是隐藏的,所以在 Nautilus 中按 Ctrl+H 来显示。然后添加行

    xmodmap -e "keycode 171 = Home"
    xmodmap -e "keycode xxx = End"
Run Code Online (Sandbox Code Playgroud)

用获得的键码替换 171 和 xxx 。然后保存并关闭文件。关闭所有终端,打开一个,你应该准备好了!

现在,有一个缺点:您必须在每次启动时激活它。你通过打开一个终端来做到这一点,就是这样。您可以立即再次关闭它。或者您可以尝试修复它以自动执行,如此处所述。我只是使用快捷方式运行终端,然后将其杀死...

  • fn+right 的键码与仅按右键(没有 fn)相同。这是有问题的,因为我不想覆盖我的右/左键。 (4认同)
  • 单击 FN + 箭头键时,我看不到任何键输出。这是否意味着不可能在那里绑定任何东西? (2认同)
  • 就像@Jurosh 一样,我在执行 fn+leftarrow 时也看不到任何输出(我在 XPS13 上)。您是否知道这是否会导致无法将 home 绑定到 fn+leftarrow? (2认同)