
controlSolaris와 Linux에서 오른쪽 키를 "super" 수정자로 변경하고 오른쪽 alt키를 "alt" 수정자(메타 아님)로 변경하고 싶습니다 (Windows에서 AutoHotKey를 사용하여 이를 수행하는 방법을 알고 있기 때문입니다). 나는 이 작업을 수행하는 방법을 알고 있습니다.
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier
그런데 어떻게 지정해야 할지 모르겠어요.오른쪽 control열쇠 또는오른쪽 alt키(Windows 키보다 입력하기 더 편리함). 그것이 emacs에서 바로 이루어질 수 있다면(그리고 Windows에서도 AutoHotKey를 피할 수 있다면) 좋을 것입니다. 그렇지 않으면 AutoHotKey가 수행하는 것과 동일한 생각을 Solaris 및 Linux에서 수행할 수 있는 것이 무엇인지 알고 싶습니다.
답변1
나는 Emacs에서 이것을 할 수 있는 어떤 방법도 모릅니다. 내가 아는 한, 두 Ctrl키는 동일하게 취급됩니다. 일부 OS의 경우 키심을 변경할 수 있는 옵션이 있지만 R-AltX Windows의 경우에는 해당 옵션이 없습니다. 변수 를 사용하여 x-alt-keysym
키심을 변경할 수 있습니다.둘 다 Alt열쇠.
를 사용하여 X Windows의 각 키에 바인딩된 수정자를 변경할 수 있습니다 xmodmap
. 아치 위키기사그 용도를 다룹니다. 원래:
xmodmap -pm
수정자 목록과 이에 할당된 키를 인쇄하려면 입력하세요 .shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x42), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod4 Super_L (0x85), Super_R (0x86) ....
그런 다음 변경하려는 수정자를 지우고 다시 바인딩하는 파일을 만듭니다. 예. R-Ctrl로 변경하려면
super
다음과 같이 작동해야 합니다.clear super add super = Super_L Super_R Control_R clear control add control = Control_L
키를 처리하려면 다음을 Alt사용할 수 있습니다.
clear meta add meta = Alt_L
이로 인해 Emacs는 기존 수정자를 찾고 기본적 으로 키
meta
처리를 중단합니다 . 그런 다음 키는 Emacs(및 as )에서 사용하기 위한 수정자로 사용할 수 있습니다 . 나는 이것을 시도한 적이 없습니다.Altmeta
R-Altalt
L-Altmeta
그래도 작동하지 않으면 바인딩할 사용되지 않은 수정자를 선택해야 합니다 R-Alt.
hyper
. 그런 다음 Emacs 바인딩에서 이를 사용할 수 있습니다.파일을 다른 이름으로 저장
~/.Xmodmap
하고 실행 중인 변경 사항을 활성화할 수 있습니다.xmodmap ~/.Xmodmap
많은 데스크탑 환경에서는
~/.Xmodmap
시작 시 자동으로 실행됩니다. 그렇지 않은 경우 파일에서 실행해야 합니다~/.xinitrc
.if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi