저는 데비안에서 xfce4를 실행하고 있습니다. home 및 end 키에 키보드 단축키를 할당하고 싶습니다(구체적으로 커서를 줄의 시작과 끝으로 이동).
설정 관리자에는 명령에 키보드 단축키를 할당하기 위한 GUI 인터페이스가 있습니다. 그런데 다른 키(home 또는 end)에 키보드 단축키(예: ctrl+a 또는 ctrl+e)를 어떻게 설정합니까?
감사해요!
답변1
나는 -to 및 -to xmodmap
와 같은 여러 도구를 사용해 보았습니다 .xbindkeys
xdotool
CtrlLeftHomeCtrlRightEnd
문제는 다음 과 같습니다. 결과적으로 Ctrl- Left그리고 - 왜냐하면HomeCtrlRightEnd버튼이 풀리지 않음그리고 효과도 없고...
수면을 사용하여 스크립트를 작성해야 합니다.
$ cat HomeEnd.sh
#!/bin/bash
sleep .2
KEY=${1?key}
xdotool key ${KEY}
그런 다음 설정 관리자 > 키보드 > 애플리케이션 단축키를 사용하거나 명령줄을 사용하여 단축키를 할당했습니다.
$ xfconf-query -c xfce4-keyboard-shortcuts -p "/commands/custom/<Ctrl>Left" -s "${HOME}/bin/HomeEnd.sh Home" -n -t string
$ xfconf-query -c xfce4-keyboard-shortcuts -p "/commands/custom/<Ctrl>Right" -s "${HOME}/bin/HomeEnd.sh End" -n -t string
이제 작동하며 Ctrl키를 누르거나 놓으면 됩니다.LeftCtrlRight
답변2
이제 가장 쉬운 방법은 AutoKey를 사용하는 것입니다.
https://github.com/autokey/autokey/wiki
일련의 키 입력을 호출하려면 새 스크립트를 만들어야 합니다.
keyboard.send_keys("<ctrl>+a")
그리고 단축키에 할당하세요.
답변3
이는 답변일 수도 있지만 유용한 팁을 제공하는 것이 목적입니다.
내가 올바르게 이해했다면 단일 키를 바인딩하려고합니다.몇 개의 열쇠누르다. 주어진 예는 + End로 다시 매핑하는 것입니다 (이해하기 쉬울 수 있음).CtrlE
xmodmap
그리고xbindkeys
xev
고전적인 방법은 X 도구를 사용하여 키 코드를 확인하는 것입니다. 예를 들어 xmodmap
다음에서 설명한 대로 키를 다시 매핑합니다.이 답변은 askubuntu.com에 있습니다.. 그러나 이것은 답변에 언급된 여러 키를 다시 매핑하는 것을 허용하지 않습니다.이 질문에 대하여.
xbindkeys
또 다른 방법은 잡기 키와 보내기 키를 사용하는 것입니다 xvkbd
. 대답은 다음과 같습니다.이 게시물. 그러나 누군가가 댓글에서 언급한 것처럼 이 접근 방식에도 주의 사항이 있으며 집중력을 잃을 수 있습니다.
실제로는 있습니다.유제여러 키를 다른 여러 키로 다시 매핑하라는 요청을 받았습니다(귀하의 요청보다 한 단계 더 어렵습니다). 불행하게도 답변 xmodmap
에서는 이를 달성 할 수 없으며 xbindkeys
.
선택하다:xdotool
얼마 전까지만 해도 저는 여전히 2버튼 마우스(아주 오래된 하드웨어인 것으로 알고 있습니다)를 사용하면서 마우스 가운데 버튼 클릭을 시뮬레이션하려고 했습니다. 그러다가 xdotool
키보드 키뿐만 아니라 마우스 클릭도 시뮬레이션할 수 있다는 사실을 발견했습니다 .
내 제안은 xdotool
시뮬레이션된 키보드 키를 사용하는 것입니다 End(이렇게 하면 일련의 명령이 제공됩니다). 그런 다음 이 명령을 사용하여 다음 위치에 있는 Xfce4에 사용자 정의 단축키 Ctrl+ 를 할당합니다.E설정 관리자 > 키보드 > 애플리케이션 단축키.
빌드 명령을 사용하려면 xdotool
다음을 참조하세요.몇 가지 예그 중 하나가 아래에 인용되어 있습니다.
예: Firefox URL 표시줄에 초점 맞추기
WID=`xdotool search "Mozilla Firefox" | head -1` xdotool windowactivate --sync $WID xdotool key --clearmodifiers ctrl+l # As of version 2.20100623, you can do this simpler version of above: xdotool search "Mozilla Firefox" windowactivate --sync key --clearmodifiers ctrl+l
이 도구를 사용한 지 오래되어 귀하의 질문에 대한 정확한 답변을 드릴 수 없습니다. xdotool
Xfce4를 사용하는 것 같습니다.애플리케이션 바로가기Debian Xfce에서 시도해 볼 수 있는 최고의 솔루션입니다.