Debian/Xfce: 홈 및 종료 키에 대한 키보드 단축키

Debian/Xfce: 홈 및 종료 키에 대한 키보드 단축키

저는 데비안에서 xfce4를 실행하고 있습니다. home 및 end 키에 키보드 단축키를 할당하고 싶습니다(구체적으로 커서를 줄의 시작과 끝으로 이동).

설정 관리자에는 명령에 키보드 단축키를 할당하기 위한 GUI 인터페이스가 있습니다. 그런데 다른 키(home 또는 end)에 키보드 단축키(예: ctrl+a 또는 ctrl+e)를 어떻게 설정합니까?

감사해요!

답변1

나는 -to 및 -to xmodmap와 같은 여러 도구를 사용해 보았습니다 .xbindkeysxdotoolCtrlLeftHomeCtrlRightEnd

문제는 다음 과 같습니다. 결과적으로 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

이 도구를 사용한 지 오래되어 귀하의 질문에 대한 정확한 답변을 드릴 수 없습니다. xdotoolXfce4를 사용하는 것 같습니다.애플리케이션 바로가기Debian Xfce에서 시도해 볼 수 있는 최고의 솔루션입니다.

관련 정보