虽然 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/