우분투에서 macOS와 같은 키보드 단축키를 만드는 방법은 무엇입니까? 사용 Super하고 유명한 복사 단축키는 유명한 SIGINT

나는 이것에 관해 많은 질문을 보았지만 실제 macOS 동작 대신에 키를 다시 매핑 하는 것처럼 보입니다 .

내 주요 사용 사례는 바로 가기를 “분할”하는 것입니다. 예를 들어 Super+ C를 사용하여 텍스트를 복사하고 Ctrl+ C를 사용하여 현재 프로그램에 SIGINT를 보냅니다.

이 경우, 간단한 재 배열 또는 스왑에서 SuperCtrl일하는 것이 없습니다.

가장 일반적인 단축키는 모두 사용 Super하고 유명한 복사 단축키는 유명한 SIGINT 단축키와 겹치지 않기 때문에 Mac의 동작은 매우 실용적 입니다.

대부분의 터미널 응용 프로그램은 Ctrl-* 바로 가기에 반응하며 대부분 “표준”바로 가기와 겹칩니다. 그놈 터미널에서는 Ctrl+ Shift+ 를 눌러 C텍스트를 복사해야하지만 Firefox와 같은 다른 응용 프로그램에서는 Ctrl+ C가 사용됩니다. 이것은 Super+에 비해 상당히 번거롭고 일관성이 없습니다 C.



답변

xmodmap 명령을 사용하여 달성 할 수 있습니다.

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

위의 줄을로 저장하십시오 super_as_ctrl.xmodmap. 실행하여 테스트

xmodmap super_as_ctrl.xmodmap

변경 사항을 영구적으로 유지하려면 (재 로그인 / 재부팅 후에도) .Xmodmap홈 폴더에서 파일 이름을 바꿉니다 .

(우분투 14.x에서 테스트)

추신 : 다른 창 버튼을 사용할 수도 있습니다. 어떻게 해야할지 모르겠습니다.


답변

새로운 단축키를 만들고 기존 단축키를 삭제하려면 시스템 설정 >> 키보드 >> 단축키 로 이동하면 됩니다 . 거기에서 모든 단축키를보고 편집하고 삭제하고 새로 작성할 수 있습니다.


답변

다음은 내 삶입니다 $HOME/.uxSwapCapsLock-and-Ctrl. 로그인 할 때마다 Linux 시스템에서 사용중인 모든 쉘에 대해 CapsLock 및 Ctrl 키의 기능을 효과적으로 교환하고 주어진 시스템에서 쉘 내에서 대화 형 세션을 시작합니다. 원하는 기능을 얻기 위해 수정하려는 관련 키 이름에 대해 배울 수 있고 xmodmap에서 참조 할 수 있다고 확신합니다. 이 코드는 로그인 할 때마다 시작되며 .profile을 통해 대화 형 세션을 갖지만이 목적을 위해 .ps1 파일에 있습니다.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

스왑을 수행하기위한 .profile 점검입니다.

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi


답변