저는 Macbook Pro에서 Kubuntu Linux 12.04를 사용하고 있으며 Command/Meta 키를 사용하여 복사, 붙여넣기, 모두 선택과 같은 일반적인 단축키를 수행하고 싶습니다.
시도한 솔루션:
- KDE의 시스템 설정 > 단축키 및 동작 > 표준 키보드 단축키에서 복사, 붙여넣기, 모두 선택 등을 다시 매핑하십시오.
- 질문: 대부분의 앱은 이러한 단축키를 무시하는 것 같습니다. 내가 테스트한 모든 웹 브라우저는 Ctrl내가 그것을 사용하고 싶다는 것을 나타내는 Meta키를 계속해서 기다립니다 . 작동하는 웹 브라우저를 찾을 수 없었기 때문에 다른 응용 프로그램을 시도하지 않았습니다.
- 테스트 환경: Firefox, Chromium, Rekonq, Arora, Konqueror.
- 교환 Meta하다Ctrl xmodmap 사용.
- 질문: 터미널 에뮬레이터는 키보드 인터럽트, 대부분의 Emacs 바인딩 및 다양한 CLI 애플리케이션의 수많은 기타 바인딩과 같은 명령에 대한 키를 Meta대체하려면 이 키가 필요합니다 .Ctrl
고려된 솔루션:
- GUI 애플리케이션에서 공통 단축키를 개별적으로 변경합니다. 안타깝게도 복사, 붙여넣기, 모두 선택을 변경할 수 있는 바인딩은 거의 없는 것 같습니다.
- Konsole(또는 다른 터미널 에뮬레이터)의 Ctrl 수정자를 변경하면 됩니다. 이상적으로 이는 키 입력을 생성 Meta하고 그 반대의 결과 를 낳습니다. 그러나 나는 이것을 달성할 방법을 찾을 수 없습니다.xCtrlx
- stty를 사용하세요메타를 사용하고 추가로 다른 모든 CLI 애플리케이션에 대한 사용자 정의 구성 파일을 작성하도록 터미널 키 명령의 바인딩을 변경합니다. 이를 달성하려면 불합리한 노력이 필요합니다.
이 간단한 수정에 얼마나 많은 노력이 필요한지 정말 놀랐습니다. 합리적으로 작동하는 솔루션을 찾는 데 도움을 주시면 감사하겠습니다.
답변1
키보드에서 키를 누를 때마다 Linux 커널은 코드를 생성합니다. 이 코드는 keycodes
이후에 표시되는 그래프를 정의하는 테이블과 비교됩니다.
프로세스는 복잡 Xorg
하며 자체 테이블을 시작합니다 keycodes
. 각각은 keycode
하나에 속할 수 있습니다 keysym
. A는 keysym
키를 누르면 시작되는 기능과 같습니다. Xmodmap
이러한 관계를 편집할 수 있습니다 keycode-keysym
.
현재 키맵을 얻으려면 다음 명령을 사용하십시오 Xmodmap
.
xmodmap -pke
그러면 전체 테이블이 다음 형식으로 인쇄됩니다.
keycode <keycode#> = <boundkey> <boundkey>
앞으로콘텐츠를 이동할 때는 항상 원본 keycode
레이아웃의 백업을 사용하세요. xmodmap -pke >> $HOME/Xmodmap.orig
그러면 파일이 Xmodmap.orig
사용자 홈 디렉터리에 저장됩니다.
힌트:미리 정의된 키코드도 있습니다(예 XF86AudioMute
: XF86Mail
). 이러한 키코드는 다음에서 찾을 수 있습니다./usr/include/X11/XF86keysym.h
Shift
, Ctrl
, Alt
및 키 Super
(왼쪽 및 오른쪽 키( Alt_R=AltGr
)는 항상 존재함)를 편집할 수도 있습니다.
이것은빠른CTRL
및(Windows 키)를 교체하려는 경우 Super
구성의 예 :
keycode 255 =
!add Shift = Shift_L Shift_R
!add Lock = Caps_Lock
add Control = Super_L Super_R
!add Mod1 = Alt_L Alt_R
!add Mod2 = Mode_switch
!add Mod3 =
add Mod4 = Control_L Control_R
!add Mod5 =
( !
이 줄에 주석을 달거나 무시하기 위한 것입니다. 이 예에서만 Super
키 Control
가 조정됩니다)
구성이 저장되고 $HOME/.Xmodmap
로드 됩니다.
xmodmap ~/.Xmodmap
xwindows를 통해 추가할 수도 있습니다.~/.xinitrc
상황이 까다로워지면 언제든지 Xmodmap.org
.
이러한 키를 사용하는 애플리케이션에 대한 모든 바인딩도 이동됩니다. 따라서 기능을 잃지 않도록 모든 것이 바인딩되어 있는지 확인하십시오. 줄다리기입니다.