맥북 프로 우측 command키를 언어 전환 키로 사용하기

😢 이 페이지는 다음 주소로 변경될 예정입니다.

시에라 이후로 Karabiner를 쓸 수 없게 되었는데 그나마 Karabiner-elements가 존재해서 그나마 다행이다. 맥에서는 언어 전환을 조합키로 사용하는 설정이 기본이다. 익숙해지면 그래도 괜찮긴 하지만 오늘따라 불편하게 더 느껴져서 어떻게 할 방법이 없나 찾아봤다.

키보드에 존재하지 않는 키를 언어 전환 키로 설정하면 우측 command 키를 해당 키로 설정하는 것으로 가능했다.

내 경우는 F16을 언어 전환키로 설정했다. 먼저 설정에서 Keyboard > Shortcuts > Input Sources > Select the previous input source 를 찾는다. 여기서 ^space 같이 키가 이미 지정되어 있을 것이다.

그리고 터미널을 열고 다음 명령을 실행한다.

sleep 5 ; osascript -e 'tell application "System Events"' \
          -e 'key code 106' \
          -e 'end tell'

키 코드 106 즉, F16 키를 입력하라는 내용의 애플 스크립트를 실행한다. 명령을 입력하면 바로 키를 누르기 때문에 5초 지연을 위해 sleep을 추가했다. 입력 후 5초 이내로 아까 열었던 키보드 설정에서 ^space를 더블 클릭하고 기다린다. 지연되었던 스크립트가 실행되면서 키보드에 존재하지 않는 F16이 입력이 된다.

이제 Karabiner-Elements를 실행한다. Simple Modifications에서 right_command를 f16으로 설정하면 끝난다.

처음엔 키보드에 나오는 F12로 설정해보려고 했는데 볼륨 조절 키로 연결이 되어서 생각처럼 되질 않았다.

맥에서 키보드 맵핑 바꾸기, Karabiner

😢 이 페이지는 다음 주소로 변경될 예정입니다.

저번에 한참 HHKB를 구입하고 싶어서 구입창을 몇번이고 열었다 닫았다 했는데 이미 레오폴드서 구입한 키보드가 있었다. 회사에서 사용했는데 아무래도 MS 키보드 레이아웃이라서 자주 안쓰게 되서 집에 가져와서 먼지를 배양하고 있었다. 이 키보드도 맵핑만 바꾸면 나름 HHKB 분위기로 사용할 수 있다는 얘기를 듣고 솔깃해서 Karabiner를 받아서 키맵을 설정해서 사용하기 시작했다. 그러고서 계속 혼용해서 쓰다가 어느 순간부터 레오폴드 키보드를 메인으로 사용하게 되었다. (드디어!)

Karabiner

엄청나게 강력한 키맵을 제공하는데 오픈소스로 개발되고 있다. 제공되는 설정 목록을 보면 대부분 시나리오에 맞는 키맵 설정이 존재한다. 정말 방대한데다 직접 커스텀해서 만드는 것도 가능한데 옵션이 너무 많아서 한참 찾다가 찾지 못한 부분은 직접 확장을 만들었다. 아마 내장된 확장이나 누군가 만든, 더 좋은 확장도 분명 있을게 분명한데 찾아서 적용해서 확인할 시간 많은 분은 찾아보는게 좋겠다. (찾으면 알려주세요..)

내 확장은 gist에 올려놨다.

  • 애플 키보드는 키맵 적용 안함
  • 애플 마우스/트랙패드는 키맵 적용 안함 (필요한진 몰라도)
  • 좌측 Ctrl을 Alt/Option으로
  • 좌측 Alt를 Cmd로
  • 우측 Ctrl을 Fn으로
  • F1~12를 애플 키보드 기본 기능으로

나름 해피해킹스러운 맵도 넣었다.

  • Fn + {1~=} 조합을 F1~12로 (이건 내장된게 의도랑 다르게 동작해서 커스텀으로 추가)
  • Fn + ;[‘/ 조합을 방향키로

화면 끄는 키가 없어서 이 키도 추가했다. Eject로 모니터만 끈다거나 슬립모드로 간다거나 하는 단축키를 쓸 수 있다.

  • F13(Print Screen)을 Eject로

HHKB의 꽃인 CapsLock 위치 키에 맵핑 하려면 Seil이 필요하다. 정말 HHKB 스타일로 만들려면 필수적이겠지만 기본 동작을 변경해야 하는 부분이 있어서 설치하진 않았다.

일반 키보드로 HHKB를 체험(?)해보고 싶다면, 또는 필요한 키를 변경하고 싶다면 강력하게 추천하고 싶은 앱이다.