虽然Ctrl +左/右通常被映射为将光标向左/向右移动一个单词,但Ctrl +向上/向下通常不会映射到Linux应用程序中的任何东西。 本着同样的精神,我想将Ctrl + Up / Down重新映射到Up / Down键的5次重复。 有没有办法做到这一点与xmodmap
或通过XKBconfiguration? 我已经做了一些非常自定义的东西与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中的相应选项(如果有的话))。 你将需要一些钥匙发送到X程序。 我用xautomation
软件包中的xautomation
但你也可以使用xmacro
(例如这里 )。
在你的.xbindkeysrc
写下这样的内容:
"xte 'keyup Control_L' 'keyup Control_R' 'key Up' 'key Up' 'key Up' 'key Up' 'key Up'" Control + Up
同样的事情为Control + Down
(需要示例中的换行符)。 这将释放控制键(重要的是,如果你不想结束无限),然后按下5次。
根据Trudberts的回答,我最终得到了.xbindkeysrc
,如下所示:
"xte 'keyup Control_L' 'keyup Control_R' 'key Up' 'key Up' 'key Up' 'key Up' 'key Up' 'key Up' 'keydown Control_L'" Control + Up "xte 'keyup Control_L' 'keyup Control_R' 'key Down' 'key Down' 'key Down' 'key Down' 'key Down' 'key Down' 'keydown Control_L'" Control + Down
这解决了两件事。 首先,如果按住控制键,每按一次向上/向下键,它就会移动五(而不是四)行,并且在第一次按下后(Trudbert的回答没有)。
有两个问题。 Control_R不能正常工作,按住Ctrl + Up键不会自动重复键,就像按住Up键一样。 我会奖Trudbert赏金,但在期末。
在此期间,希望有人会有一个如何解决这个问题的想法。 我正在考虑一个自定义的脚本,它会一直重复5次,直到有一个发布事件。