2013-02-03 3 views
3

일반적으로 Ctrl + 왼쪽/오른쪽은 한 단어를 왼쪽/위/아래는 일반적으로 Linux 앱의 모든 항목에 매핑되지 않습니다. 같은 정신으로 Ctrl + Up/Down을 위/아래 키의 5 번 반복으로 다시 매핑하려고합니다. xmodmap으로 또는 XKB 구성을 통해이를 수행 할 수있는 방법이 있습니까? 나는 XKB (나의 오른쪽 Alt는 Overlay2이다.)로 정말로 맞춤 물건을 만들었지 만 하나의 이벤트/키에 대해 여러 개의 이벤트/여러 개의 키를 보낼 수있는 곳을 알지 못한다."Ctrl + Up"을 5 "Up"으로, "Ctrl + Down"을 5 "Down"으로 다시 매핑

해결 방법으로, 나는 정력이 작업을 수행 할 수 있습니다

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

그러나이 점점도의 gedit에서 일을하고 나를 위해 충분히 좋은 해결 방법이 될 것이다 일식. 어떤 아이디어?

+0

응용 프로그램에서 처리해야합니다. FWIW, 이맥스는 멋진'C-u' 접두어를 가지고 있습니다 .... –

답변

5

xbindkeys을 사용할 수 있습니다. .xbindkeysrc을 작성하고 X 세션에 xbindkeys를 시작해야합니다 (.xinitrc, .xsession 또는 DM/WM에 적절한 옵션이있는 경우 해당 옵션을 사용할 수 있음). X 프로그램에 키를 보내려면 뭔가가 필요합니다. xautomation 패키지의 xte을 사용했지만 xmacro (예 : here)과 같은 것을 사용할 수도 있습니다. 에서

당신의 .xbindkeysrc이 같은 쓰기 : Control + Down에 대한

"xte 'keyup Control_L' 'keyup Control_R' 'key Up' 'key Up' 'key Up' 'key Up' 'key Up'" 
    Control + Up 

같은 일 (필요한 예에서 LINEBREAK을). 이렇게하면 제어 키가 해제되고 (무한대로 끝내지 않으려면 중요) 5 번 위로 누릅니다.

+0

굉장! 그러나 몇 가지 문제가 있습니다. 위로 키를 두 번 누르면 한 줄 위로 올라갈 수 있습니다. 답변을 올리겠습니다. – Mihai

1

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 

이 두 가지를 해결합니다. 첫째, 컨트롤을 누르고 있으면 Up/Down 키를 누를 때마다 5 줄 (4 줄이 아닌)으로 이동하고 첫 번째 프레스 후에도 작동합니다 (Trudbert의 대답은 그렇지 않습니다).

두 가지 문제점이 있습니다. Control_R이 잘 작동하지 않고 Ctrl + Up을 누른 채로 키를 자동 반복하지 않습니다. Up 키를 누른 상태와 비슷한 방법입니다. 나는 Trudbert에게 현상금을 수여 할 것이나, 그 기간의 끝에서.

그동안 문제를 해결하는 방법에 대한 아이디어가 누군가에게 제공 될 것입니다. 나는 커스텀 스크립트를 생각하고 있었는데, 릴리스 이벤트가있을 때까지 5 Up을 반복했다.

관련 문제