Linux/Ubuntu:Alt + ijkl 重新映射,因为箭头键无法正常工作

Linux/Ubuntu:Alt + ijkl 重新映射,因为箭头键无法正常工作

在 Windows 上,我使用 Alt + ijkl 来模拟箭头键。我使用 Autohotkey 来做到这一点。我正在 VirtualBox 中使用 Ubuntu 来学习如何使用它,并看看它是否是适合我编程的操作系统。

我找到了解决我的问题的方法:在 Linux 上将箭头键重新映射到 win+ijkl 但是,这个可接受的解决方案存在一个问题。我现在可以在按住 alt 键时将 ijkl 键用作箭头键。但它会禁用 alt 键的所有其他功能。这意味着我不能再使用 Alt-Tab 之类的功能了。有人知道我该如何解决这个问题吗?

如果没有选项,我想改用 Windows 键 + ijkl。但我如何重置对 Alt 键所做的更改?

(我想问这个问题并对那个答案发表评论,但我是新来的,所以这个网站让我很难做事。看起来他们想让新用户尽可能困难。)

答案1

我找到了如何重置(所有)修改的方法:https://askubuntu.com/questions/29603/how-do-i-clear-xmodmap-settings 简而言之:“setxkbmap -layout us”解决了这个问题。

我找到了比 xmodmap 更好的解决方案:xdotool(http://xmodulo.com/simulate-key-press-mouse-movement-linux.html

要将 ijkl 键设置为箭头键,并将 alt 设置为修饰键,您必须转到设置 > 键盘 > 快捷键 > 自定义快捷键。
到达那里后,单击“+”按钮。
为其命名,然后输入此命令:xdotool keyup Alt && xdotool key Up && xdotool keydown Alt
之后您必须分配快捷键。为此,请单击右侧的“禁用”,然后按快捷键按钮。

它运行 3 个命令。第一个命令将 Alt 键的状态设置为“向上”(未按下)。第二个命令感知(在示例中)向上键的按键按下。第三个命令将 Alt 键的状态重新设置为“向下”(按下)。

如果您想使用 Ctrl+[箭头键],则需要使用 Ctrl+Alt+[字母] 创建另一个快捷键。它执行的命令需要与没有 Ctrl 键时相同。这是因为快捷键 Ctrl-Alt-[字母] 是 Alt+[字母] 之外的另一个快捷键,但是一旦执行“xdotool 键 [箭头键]”,Ctrl 键就已经被按下,因此它会将其视为您按下了 Ctrl+[箭头键]

如果您忽略上下键上的 Ctrl 输入,按住 Ctrl 键时导航也会变得更容易。为此,我使用了以下命令:xdotool keyup Alt && xdotool keyup Ctrl && xdotool key Up && xdotool keydown Ctrl && xdotool keydown Alt

答案2

我用了

首次安装:sudo apt-get install xbindkeys

在文件 ~/.xbindkeysrc (隐藏文件)中粘贴以下内容

"xvkbd -xsendevent -text '\[Left]'"
m:0x18 + c:44
alt + j

"xvkbd -xsendevent -text '\[Down]'"
m:0x18 + c:45
alt + k

"xvkbd -xsendevent -text '\[Right]'"
m:0x18 + c:46
alt + l

"xvkbd -xsendevent -text '\[Up]'"
m:0x18 + c:31
alt + i

以下是我为感兴趣的人提供的版本

然后在你的终端

启动 xbindkeys 程序: xbindkeys -f ~/.xbindkeysrc

停止程序运行: killall xbindkeys

一些解释:

  • xvkbd....是需要发送的按键事件。

  • 第二行是执行第一个命令时应按下的键

  • 第三个只是一些评论。

  • `# 你可以用这个写评论

m:0x18 = 移位

c:number 是关键

如何查找键码

使用xev(打开终端写入xev按回车键)

通过按下一个键,您可以看到该键的名称。

对于 shift alt 等,请查看stateKeyrelease 事件

相关内容