Mac(해킨토시) - 일반 pc용키보드를 mac에서 편하게 사용하기(3. eclipse를 사용하는 자바 개발자를 위한 설정)

Published on: 2010.12.23 22:01 by krespo

지금까지 두 개의 포스트를 통해 윈도우키보드를 맥 환경에서 편하게 사용하기 위해 세팅을 했습니다.

1. 한/영키 사용하기
2. control <--> command 키 변경하기
를 따라 하셨다면 아마도 지금 키보드는 다음과 같은 기능을 할 것입니다.

1) 맥의 control키는 일반 키보드의 윈도우키와 매핑이 되었습니다.
2) 맥의 command키는 일반 키보드의 Ctrl키로 매핑 되어있습니다.
3) 한/영 변환을 사용하려면 일반 키보드의 한/영키를 선택하거나 Ctrl + Space (Mac용으로는 Command + Space) 로 변경 가능합니다.

이렇게 3가지 정도의 기능을 하고 있습니다. 물론 이상태 그대로 사용하셔도 크게 문제가 될 것은 없습니다. 그러나 eclipse를 사용하시는 자바 개발자 분들께서는 eclipse IDE의 막강 기능중의 하나인 Code Assist 기능을 사용하지 못하게되는 크나큰 문제가 발생하게 됩니다.

다음 그림과 같이 command(Ctrl) + space를 누르면 적당한 메소드 들이나 document들을 보여주는 기능을 Code Assist라고 하는데, 지금과 같이 설정이 되어있다면 command(Ctrl) + space는 한영 전환 키 이기 때문에 Code Assist 기능을 사용 할 수 없게 됩니다. 

물론 eclipse설정을 통해서 Code Assist 기능을 윈도우키 + space 등등 다른키들의 조합으로 변경할 수도 있지만 저 같이 윈도우에서 개발을 많이 하신 분이라면 command(Ctrl) + space가 더욱 더 익숙하실것이고 다른키로 변경하여 Code Assist를 사용하시면 엄청 불편하게 느끼실 것입니다.

이렇게 되면 이클립스 설정을 변경하는것 보다 맥에서 한영 전환키를 변경하고(원래 한영전환키는 command(Ctrl) + space 였지만 control(윈도우키) + space로 변경) 이렇게 바뀐 한영전환키를 KeyRemap4MacBook을 통해 재 맵핑 시킴으로서 command(Ctrl) + space 로 code assist를 사용하고 윈도우키(control) + space를 통해 한영키를   사용하고 일반키보드의 한/영키를 매핑시켜 사용하게 됩니다. (말이 조금 어렵네요..^^;;)

이렇게 control(윈도우키) + space를 사용하려면 기존의 KeyRemap4MacBook을 통해서는 불가능 합니다. 왜냐하면 한글키와 맵핑 시킬수 있는 메뉴로 기본적으로 command + space 밖에 없기 때문입니다. 하지만 아주 방법이 없는 것은 아닌데 살짝 헷갈립니다. 그래도 한번 해보자구요~^^

위에서도 말씀드렸다 시피 기본적으로 한/영키와 command + space 매핑 밖에 할 수가 없습니다. 그렇기 때문에 control + space 를 한/영키와 맵핑 시키려면 Open Source인 KeyRemap4MacBook의 Source Code를 직접받아 안의 내용을 수정후 컴파일, 패키지 과정을 거쳐 설치하는 방법을 써야 합니다.

1. 한영변환키를 command + space에서 control + space로 변경합니다.
1)상단 오른쪽의 국기를 선택하면 메뉴가 나오는데 그 메뉴중 언어 & 텍스트 를 선택합니다.

2)해당 메뉴를 선택한 하면 언어&텍스트 페널이 나오는데 오른쪽 중간에 있는 "키보드 단축키..." 버튼을 선택합니다


3) 키보드 단축키 화면에서 오른쪽 메뉴인 "키보드 및 텍스트 입력"을 선택합니다.


 오른쪽에 나타난 리스트들 중 아래서 두번째에 있는 "이전 입력 소스 선택"이라고 써있는 텍스트 옆에 
 

이런 모양을 더블 클릭하면 수정할수 있는 텍스트 박스로 변경합니다. 이때 우리가 변경하려고 하는 control(윈도우키) + space를 누르면 언어변환키가 변경된것을 볼수 있습니다.

이렇게 변경된 것을 볼수 있습니다. 이때 스페이스 옆에 노란 삼각형이 생기는데 이것은 다른 단축키와 충돌이 나기 때문입니다. 왼쪽 메뉴중 Spotlight중 "Spotlight 검색 필드 보기"에 체크 박스를 풀면 노란 삼각형이 사라집니다.

이렇게 수정하고 나면 control(윈도우키) + space 로 한영 전환을 할 수 있지만 지금까지 편하게 쓰던 한/영키를 통해 변경할 수는 없게 됐습니다.


2.이렇게  control(윈도우키) + space 키로 변경된 한영변환과 한/영키를 맵핑 시킬려면 KeyRemap4MacBook의 Source Code를 직접 수정해야 합니다. 적당한 경로에 해당하는 버전으로 다운받아 압축을 풉니다.

본인에게 맞는 버전을 다운로드 받습니다. 저는 Snow Leopard이기 때문에 위에 소스를 다운 받겠습니다.

3. 다운받은 파일의 압축을 풉니다. 키맵핑은 압축푼폴더/file/prefpane/checbox.xml에 정의됩니다. 
키맵핑은 xml에만 선언되어 있어 xml만 수정하면 될것 같지만 xml 수정만으로는 반영이 되지 않습니다.
xml수정 -> 컴파일후 패키지 생성 -> 설치 과정을 거쳐야 합니다.

1)압축푼폴더/file/prefpane/checbox.xml을 텍스트 에디터를 통해 엽니다. "Korean"으로 검색하면 다음과 같은 xml 데이터를 확인 하실 수 있습니다.

 <item>
      <name>For Korean</name>
      <list>
        <item>
          <name>Change HanEng And Hanja Key</name>
          <list>
            <item>
              <name>Toggle HanEng Key(to Command_L(R)+Space)</name>
              <identifier>remap.ksc_haneng2commandLSpace</identifier>
              <autogen>--KeyOverlaidModifier-- KeyCode::JIS_KANA, KeyCode::COMMAND_L, KeyCode::SPACE, ModifierFlag::COMMAND_R</autogen>
            </item>
            <item>
              <name>Toggle Hanja Key(to Option_L(R)+Return)</name>
              <identifier>remap.ksc_hanja2optionLreturn</identifier>
              <autogen>--KeyOverlaidModifier-- KeyCode::JIS_EISUU, KeyCode::OPTION_L, KeyCode::RETURN, ModifierFlag::OPTION_R</autogen>
            </item>
          </list>
        </item>
      </list>
    </item>

현재는 name이 Toggle HanEng Key(to Command_L(R)+Space 라는 아이템과 Toggle Hanja Key(to Option_L(R)+Return) 이라는 아이템이 존재합니다.

이름을 보아하니 어디서 많이 본 이름입니다.

바로 이 이름은 KeyRemap4MacBook의 메뉴에서 보았던 것과 같습니다.

이 메뉴 들이 checkbox.xml에 표현된 데로 나옵니다. 그러니 이 checkbox.xml을 수정하면 우리가 원하는 control + space 맵핑을 만들수 있습니다.

For Korean 메뉴에 다음과 같은 아이템을 추가합니다.
 <item>
      <name>For Korean</name>
      <list>
        <item>
          <name>Change HanEng And Hanja Key</name>
          <list>
            <item>
              <name>Toggle HanEng Key(to Command_L(R)+Space)</name>
              <identifier>remap.ksc_haneng2commandLSpace</identifier>
              <autogen>--KeyOverlaidModifier-- KeyCode::JIS_KANA, KeyCode::COMMAND_L, KeyCode::SPACE, ModifierFlag::COMMAND_R</autogen>
            </item>
            <item>
              <name>Toggle Hanja Key(to Option_L(R)+Return)</name>
              <identifier>remap.ksc_hanja2optionLreturn</identifier>
              <autogen>--KeyOverlaidModifier-- KeyCode::JIS_EISUU, KeyCode::OPTION_L, KeyCode::RETURN, ModifierFlag::OPTION_R</autogen>
            </item>
	    <item>
              <name>Toggle HanEng Key(to Control_L(R)+Space)</name>
              <identifier>remap.ksc_haneng2controlLSpace</identifier>
              <autogen>--KeyOverlaidModifier-- KeyCode::JIS_KANA, KeyCode::CONTROL_L, KeyCode::SPACE, ModifierFlag::CONTROL_R</autogen>
            </item>
          </list>
        </item>
      </list>
    </item>
이렇게 Toggle HanEng Key(to Control_L(R)+Space)란 이름으로 아이템을 하나 더 추가합니다.

이제 작업은 다 끝났습니다. 컴파일 후 패키지를 만들어 보겠습니다.

2) 패키지 만들기
응용프로그램 ->유틸리티 -> 터미널을 실행합니다. 터미널로 소스코드를 다운받은 경로로 이동합니다.
저같은 경우에는 Download/KeyRemap4MacBook-7.0.0 로 이동하겠습니다.

그리고 다음과 같은 명령어로 컴파일 합니다.

$make clean all

라고 입력하시면 중간에 비밀번호를 물어봅니다. 입력하면 뭐가 막 돌아가면서 컴파일이 됩니다.

만약) make command not found 라고 나오며 실행이 되지 않으면 xcode가 설치 되어 있지 않아 그렇습니다. xcode를 설치하시면 무난히 패키지가 만들어 집니다. xcode 설치 방법은 여기서 다루지 않겠습니다. 구글링 하면 많이 나오니까요~^^

이렇게 해당 KeyRemap4MacBook Source 코드가 있는 곳으로 가면 패키지가 만들어 졌습니다.

만들어진 패키지를 실행하여 설치 하시면 됩니다.
만약 KeyRemap4MacBook이 설치 되어있다면 제거 후 설치하시기 바랍니다.

재설치 후 프로그램을 실행시키면 선택메뉴가 하나 더 생깁니다.

이렇게 하나가 더 나오는데 맨마지막 Control_L +Space를 선택하시면 한/영키로 한글과 영문을 변경하실수 있게 됩니다~

bench87 | 2011.05.25 22:40 신고 | PERMALINK | EDIT/DEL | REPLY
감사합니다...덕북에 바꿀수 있었습니다..ㅎㅎ

그런데 이클립스에서 code assist 가 작동을 하지 않습니다..ㅠㅠ 먼가 문제가 있는걸까요?
Name
Password
Homepage
Secret