우분투에서 macOS와 같은 키보드 단축키를 만드는 방법은 무엇입니까? 질문을 보았지만 실제 macOS

나는 이것에 관해 많은 질문을 보았지만 실제 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