약간의 문제가 있습니다. 이전 시스템에서 익숙했던 일부 단축키를 다시 매핑하고 싶었지만 제대로 작동하지 않습니다 xbindkeys
.
xbindkeys
조합을 인식하지만 어떻게 든 명령이 트리거되지 않습니다.
내가 명령을 사용하면
xdotool key braceleft
{
콘솔에서 올바른 부호를 출력합니다 . 그러나 xbindkeys에서 동일한 명령을 사용하면 아무 일도 일어나지 않습니다. 명령을 명령으로 firefox
바꾸면 제대로 작동하고 firefox가 열리므로 xbindkeys
작동합니다.
다음을 달성하고 싶습니다.
문자 {
를 활성 창에
Alt_R+ 7또는 Alt_Left+ Ctrl+로 입력 7하여 둘 다 사용할 수 있습니다. 나는 Alt_R(AltGr)이 올바른 방법이라는 것을 알고 있지만 독일어 키보드에서는 AltGr(Alt_R) 키로 중괄호를 입력하는 것이 어려우 므로 대신 이전 시스템에서 사용했던 것처럼 Alt_L+ Control+ 를 사용해야했습니다 7. 어떻게 든 12.04에서 제대로 작동하지만 14.04에서 작동하지 않습니다.
어떤 제안? 몇 가지 명령을 시도했습니다. 모두 콘솔에서 작동했지만 xbindkeys에 의해 실행될 때 아무것도 작동하지 않았습니다.
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
이것은 내 구성이며 작동하지 않습니다.
"xdotool key braceleft"
Control+Alt + 7
그러나 이것은 작동합니다.
"firefox"
Control+Alt + 7
솔루션 편집
다른 몇 가지를 시도했을 때 xdotool이 너무 빨리 트리거되는 것으로 나타났습니다. 다음과 같이 구성을 변경했습니다.
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
이제 올바른 {기호를 활성 창으로 보냅니다. 이제 남은 유일한 것은 수면과 지연을 가능한 값으로 줄이는 것입니다 .1 초가 너무 길어 보이기 때문입니다. :)
** 추가 정보 ** 이제 적절한 값을 찾을 수있었습니다. 그러나 이것은 수면 시간이 끝날 때까지 키를 놓은 경우에만 작동합니다. 당신이 너무 느리면 작동하지 않습니다.
이것은 모든 불편한 독일어 AltGr 문자에 대한 현재 설정입니다
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
그러나 여러 @ 기호를 입력하려면 (예를 들어) 의도 한대로 Ctrl + Alt + Q를 눌러야하지만 모든 키를 놓고 다시 누릅니다. 그러나 이것은 AltGr 대신 Control + Alt 옵션을 사용하지 않는 것보다 훨씬 낫지 만 내가 사용했을 때 효과적이지 않습니다. 어쩌면 나는 이것에 대한 해결책을 찾을 것입니다.
xdotool
누른 상태에서 키를 반복하는 방법을 알아 본 적이 있습니까?
xdotool getactivewindow key Home