linux - 重新映射 "Ctrl+Up"到 5"Up"s 和 "Ctrl+Down"到 5"Down"s

标签 linux xmodmap

虽然 Ctrl+Left/Right 通常映射为将光标向左/向右移动一个单词,但 Ctrl+Up/Down 通常不会映射到 Linux 应用程序中的任何内容。本着同样的精神,我想将 Ctrl+Up/Down 重新映射为 5 次重复的向上/向下键。有什么办法可以用 xmodmap还是通过 XKB 配置?我已经用 XKB 做了一些非常定制的东西(我右边的 Alt 是 Overlay2),但我不知道从哪里开始能够为一个事件/键发送多个事件/多个键。

作为一种解决方法,我可以在 vim 中执行此操作:

(n/i/v)map <C-Up> <Up><Up><Up><Up><Up>
(n/i/v)map <C-Down> <Down><Down><Down><Down><Down>

但是,让它也能在 gedit 和 eclipse 中工作对我来说是一个足够好的解决方法。有任何想法吗?

最佳答案

为此,您可以使用xbindkeys。您需要编写一个.xbindkeysrc并使用您的 X Session 启动 xbindkeys(您可以使用.xinitrc.xsession或您的 DM/WM 中的相应选项,如果有的话)。您将需要一些东西来将 key 发送到 X 程序。我使用了xte包中的xautomation,但你也可以使用xmacro之类的东西(例如here)。

在你的.xbindkeysrc中,你写了这样的东西:

"xte 'keyup Control_L' 'keyup Control_R' 'key Up' 'key Up' 'key Up' 'key Up' 'key Up'"
     Control + Up
Control + Down也是如此(示例中的换行符是必需的)。这将释放控制键(如果您不想以无限向上结束很重要),然后按向上 5 次。

关于linux - 重新映射 "Ctrl+Up"到 5"Up"s 和 "Ctrl+Down"到 5"Down"s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14673515/

相关文章:

linux - 设计 UDP 服务器的最佳方法是什么?

linux - 在整个系统中锁定 sqlite

c - Linux/Windows 中的 sleep()/Sleep() 行为

linux - 如何在 Linux 中将键盘输出更改为对角箭头? (↖↗↘↙)

linux - 运行 xmodmap 时出错 ~/.xmodmap -`uname-n`

linux - Linux 终端中带有颜色的 apache tomcat 输出

linux - Sed命令替换文件中的字符串不起作用

linux - Linux 中的 Shift+Space 下划线(不带 xmodmap)

emacs - 如何在 emacs 中分隔 alt 和 meta 键