如何将 + hjkl映射到箭头键function?

我已经习惯了vim的hjkl最近搬家了,并且发现自己想要在使用vim之后立即使用它们。

将fn + h / j / k / l映射到左/下/上/右的最佳方法是什么?

编辑:任何 + h / j / k / l只要不与其他键盘快捷键冲突就会令人满意。

尝试这些,不能保证它是否会破坏任何东西,但我希望它不会:

  1. 如果你通过xmodmap -pke查看映射,你会看到它有四列字符映射到每个键,用于不同的修改。 这些修改的顺序就像

    keycode = <1> <2> <3> <4>

    <1>

    <2>

    <3> <"Mode_switch"-key>

    <4>

  2. “Mode_switch”,不完全确定,但我想默认情况下映射为空。 实际上,您可以使用xmodmap查看密钥的代码,并在结果底部的某处查找它,并找出该代码所属的密钥。 我做的是将其重新分配给另一个密钥,例如Super_L ,它是lefp超级密钥,具有以下代码:

     xmodmap -e "keysym Super_L = Mode_switch" 

    或者你可以用自己的选择代替Super_L

  3. 现在,继续编辑要重新分配的四个键的列。 让我们在你的xmodmap文件中找到它们:

     xmodmap -pke | grep h 

    在输出中应该是行说的

     keycode 43 = h H h H 

    编辑它以便它就像

     keycode 43 = h H Left H 

    为此,请使用该命令

     xmodmap -e "keycode 43 = h H Left H" 

    然后尝试它是否有效。

  4. 对要映射的其余键执行此操作。

我认为这不太可能打破任何严重的问题,只要你可以返回并将keycode重新编写为原始代码。 唯一可怕的部分是我将“Mode_switch”映射到Super_L的地方。 ( 编辑 :这实际上禁用了我的超级密钥,我可以通过xmodmap -e "keysym Mode_switch = Super_L"分配来恢复工作,这是xmodmap -e "keysym Mode_switch = Super_L" 。映射一个你知道不会让你失败的密钥到Mode_switch)

虽然我很同情你(我有一个快乐的黑客键盘,并希望在我的笔记本电脑上使用相同的布局,使用Fn +;'[/分别左上向上),function键Fn几乎总是完全在硬件,并没有办法将其绑定为软件中的修饰键。

如果有任何修饰符,则使用xmodmapAltGr执行以下xmodmap

首先,找到h,j,kl的密钥代码。 这可以在终端中运行xev ,然后按下相应的键来完成。 对我来说, h的键码是43 。 要将此加AltGr映射到left ,请使用该命令

 xmodmap -e "keycode 43 = h H NoSymbol NoSymbol Left" 

重复其余的键,你将完成:)要启动,请参阅此问答 。

从某个时候开始xmodmapxmodmap ! 要获得系统范围的设置,您必须使用xkb 。 因此,编辑/usr/share/X11/xkb/symbols/的语言文件,在那里添加更改。

请参阅https://askubuntu.com/a/898462/34298