将 LeftAlt+J 重新映射到 ArrowDown

将 LeftAlt+J 重新映射到 ArrowDown

在最基本的 Linux 安装中 (使用xkb/ xmodmap),是否可以重新映射LeftAlt+J以发送ArrowDown?我找到了各种解决方法或略有不同的方案,CapsLock+J但都没有使用完全相同的方案LeftAlt+J

理想情况下,这应该无需更改即可工作LeftAltAltGr并且LeftAlt仍将保持其正常行为。例如:仍然在具有菜单的应用程序中LeftAlt+F打开菜单。File

另外,我提到是xkb因为xmodmap我希望它可以在任何地方工作,而不仅仅是在某些应用程序中重新映射。

要使其成为可接受的解决方案,最低要求之一是,人们应该能够打开 Firefox,聚焦地址栏,输入一些内容,并LeftAlt+J浏览建议。

xdotool在我的测试中,像和这样的工具xte效果不佳,但我很高兴得到纠正。

系统:带有 BSPWM 的 Linux,因此没有 Gnome 或 KDE 解决方法。

附言:我并不是在寻求一种人工解决方案,但如果有人能给我指明正确的方向,我会自己做剩下的事情。

谢谢你!

答案1

(这个答案还没有经过测试,但你暗示这是可以的。)

按键映射表 该命令打印的内容xmodmap -pke包括几列,其中前4列代表以下组合:

  1. 钥匙
  2. Shift+键
  3. 模式_开关+按键
  4. 模式_切换+Shift+键

我不知道“Mode_switch”代表什么,但可以通过以下命令将其指定为 LeftAlt:

xmodmap -e "keysym Alt_L = Mode_switch"

这意味着上面的第三个条目现在代表该键与 LeftAlt 的组合。

的密钥代码j似乎是 44。xmodmap可以通过以下方式检索文件中的条目:

xmodmap -pke | grep 44

可能会返回:

keycode  44 = j J j J dead_hook dead_horn dead_hook

然后将其修改为 map LeftAlt+ Jto Down即可:

keycode  44 = j J Down J dead_hook dead_horn dead_hook

为此,请使用命令

xmodmap -e "keycode 44 = j J Down J dead_hook dead_horn dead_hook"

这个答案可能需要一些调整,但可能会有效。


或者你可以考虑使用 自动键:适用于 Linux 和 X11 的桌面自动化实用程序(另请参阅 维基百科)。

AutoKey 可能已经作为标准包在您的存储库中可用。

在此处输入图片描述

相关内容