밀어서 잠금해제

keyremap4macbook 로 Emacs 환경에 맞게 키 설정 본문

Apple/Tip

keyremap4macbook 로 Emacs 환경에 맞게 키 설정

HAYAN_DEV! 2012.09.01 03:01

한시간 좀 넘게 삽질했네요.

고작 키 두개 추가하려고;;




    
        *Command R to OPTION_L + x for Eamcs*
        
            
                COMMAND_R to OPTION_L + x
                remap.commandR2_koreng_Only
                
		  --KeyOverlaidModifier-- KeyCode::COMMAND_R,
		  KeyCode::X, ModifierFlag::OPTION_R
		
            
            
            	SHIFT_L + SPACE to COMMAND_L + SPACE
            	remap.SHIFT_LSPACE2_emacs_style
            	
		  --KeyToKey-- KeyCode::SPACE,
		  ModifierFlag::SHIFT_L, KeyCode::SPACE, ModifierFlag::COMMAND_L
		
           	
        
    

일단 저는 애플키보드가 없습니다.

아니 설령 있다고 하더라도, OPTION_L + x 는 손가락이 좀 멀어지기에 차라리 COMMAND_L+ x 가 더 누르기 쉽겠죠.

Emacs는 OPTION_L + x 를 사용할 일이 상당히 자주 있더군요. 더군다나 키 바인딩을 하지 않은것 들이 있다면 특히나 더 사용하게 되는 키 입니다.

이 키를 좀 더 편하게 사용해보기 위해 대부분의 분들이 하는 한/영 키 (COMMAND_R 키) 를 저는 OPTION_L+x 키로 변경해 보았습니다.


일단 대략적인 pirvate.xml 사용방법은 이와 같은 모양입니다.

(정확하지 않습니다. 샘플 코드 보면서 일일이 다 테스트 해 본거기 때문에..)

일단... 

스크립트와 설정 화면을 보면 대략적으로 감이 잡힐거라 예상됩니다.

 <name>*Command R to OPTION_L + x for Eamcs*</name>

이 부분은 설정화면에 표시되는 내용입니다.


위 사진의 의미는 보시면 아실거라 생각합니다.

<identifier> 부분은 아무거나 입력해도 상관 없더군요.. </identifier>

<augogen> 이부분이 중요한데요. 음. 오토 제너레이션의 약자인듯 합니다만..

일단 상당히 많은 옵션이 있는듯합니다.

옵션은 처음에

--KeyToKey--

--KeyOverlaidModifier-- 와 몇개 더 있는데 이 글에선 필요가 없으므로 생략합니다.


--KeyToKey-- 는 다음과 같은 방식으로 동작합니다.

<autogen>--KeyToKey-- KeyCode::SPACE, KeyCoad::A</autogen>

위 코드는 스페이스바를 누르면 A키가 입력된 것과 똑같은 효과를 발생시킵니다. 

(위의 키 A는, 쉬프트키가 눌렸는지, 캡스락이 켜져있는지에 따라서 대소문자로 써집니다, 그러니, 설정파일에는 무조건 대문자로 입력해 주세요. 다른키도 마찬가지 입니다.)

<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::COMMAND_L, KeyCode::A </autogen>

스페이스 + 왼쪽 커맨드 키 입력시 A키를 누른것과 똑같은 효과입니다.

<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlags::COMMAND_L | ModifierFlags::COMMAND_R, KeyCode::A </autogen>

구분문자인 ',' 를 '|' 로 변경하시면, 다음과 같은 의미입니다. COMMAND_L + COMMAND_R + SPACE 가 입력되면 A키를 입력.

<autogen>--KeyToKey-- KeyCode::COMMAND_R, KeyCode::

A키를 누르면 B가되고 B키를 누르면 A가 되게 하고 싶습니다.

라고 하신다면 <autogen> 을 두개 만드셔서 

<autogen>--KeyToKey-- KeyCode::A, KeyCode::B </autogen>

<autogen>--KeyToKey-- KeyCode::B, KeyCode::A </autogen>


--KeyOverlaidModifier-- 는 .. 저도 잘 모르겠습니다 솔직히.

하지만 확실한건

<autogen>--KeyOverlaidModifier-- KeyCode::COMMAND_R, KeyCode::X, ModifierFlag::OPTION_R</autogen>

가 있을 때, COMMAND_R 을 OPTION_R로 대체한다는 것 입니다.

즉, COMMAND_R(제 노트북의 경우는 한/영 키가 이 키입니다.) 은 OPTION_R 키로 대체된 후 KeyCode::X 가 실행된다는 것 입니다.

그러니까 옵션이 설명 하는 그대로 ModifierFlag 값으로 오버라이딩 시키는것 같습니다.

0 Comments
댓글쓰기 폼