[꿀팁] M1 맥북 캡스락/커맨드키 한영전환 딜레이/에러 완벽해결 (부팅 에러나는 karabiner 없이)

 

요구사항

1. capslock 한영 전환 딜레이/에러 해결

맥북에서는 capslock 으로 한영 전환이 가능하며 많은 유저가 그렇게 사용하고 있다. 하지만 capslock 한영 전환의 경우 딜레이가 존재하며, 가끔 한영 전환이 안 되는 경우가 발생한다. 이는 capslock 을 길게 누를 때 본연의 기능인 capital letter 즉 "대문자 입력 모드 전환"을 실행하고, 짧게 누를 때 "한영 전환"을 실행하기 때문에, 그 두 다른 입력을 인식하기 위해 딜레이 혹은 인식 실패가 발생하는 걸로 보인다.

2. 우측커맨드/알트키로 한영 전환

나처럼 윈도우를 사용하다가 넘어온 유저의 경우 우측알트(커맨드)로 한영 전환을 하는 것에 익숙해져 있다. 어차피 커맨드 키는 왼손으로만 대부분 사용하기 때문에 오른쪽 커맨드에 해당하는 키를 한영 전환용으로 매핑할 수 있으면 좋을 것이다.



문제점

인텔 맥에서는 두 가지 요구사항 모두 karabiner-elements라는 앱으로 해결이 가능했다. 입력되는 키보드를 인식해 키보드 마다 다른 키매핑을 지원하는 강력하면서 무료인 갓앱이었다.

하지만 "M1" 맥에서 karabiner를 설치하면 재부팅 시 crash error를 만나게 된다.
이는 작년 말부터 해외 커뮤니티에서 이슈가 되던 부분이며, 아직까지 업데이트는 발표되지 않았다.



해결책

karabiner 를 사용하지 않고, hammerspoon라는 프로그램을 사용해 키매핑을 할 수 있다. 이 방법으로는 시스템 레벨에서 위의 두 요구사항을 만족시키는 키매핑이 가능하며, M1 맥에서 어떠한 오류도 없이 잘 실행된다.

내 환경: MacBook Air M1 (Big Sur 11.1), Hammerspoon 0.9.82


1. 다음 두 파일을 다운로드한다.

2. hammerspoon 파일을 더블클릭해 설치 후 실행한다.


3. 모듈에 있는 foundation_remapping.lua 파일을 ~/.hammerspoon/ 디렉토리에 복사해준다.



4. 메뉴바의 hammerspoon 아이콘을 (해머랑 스푼이 붙어 있다... 아재갬성) 클릭 후 "Open Config"를 클릭한다. 그러면 자동으로 init.lua 파일이 열릴 것이다. 이 빈 파일에 다음과 같은 코드를 삽입하고 저장한다.

local FRemap = require('foundation_remapping')
local remapper = FRemap.new()
remapper:remap('capslock', 'f18')
remapper:register()

  • 우측 알트를 f18로 매핑할 경우 3번 줄을 다음과 같이 바꾸면 된다.
                remapper:remap('ralt', 'f18')

  • f18은 f13~18 등 키보드에 없는 f 키 중 아무거나 설정하면 된다. (다른 단축키와 중복되지 않게만 하면 됨)



5. 메뉴바의 hammerspoon 아이콘을 클릭 후 "Reload Config"를 클릭하여 변경사항을 적용한다.


6. 시스템 환경설정 -> 키보드 -> 단축키 -> 입력소스에 들어간다.




"이전 입력 소스 선택" 오른쪽에 키가 있는 부분을 더블클릭 후, 매핑하려는 키를 누른다. (capslock 혹은 ralt 키를 키보드에서 누르면 된다)
("입력 메뉴에서 다음 소스 선택"으로 지정해도 사용 언어가 한/영 두 개밖에 없다면 같은 기능을 한다.)



마무리

이제부터 capslock (혹은 당신이 설정한) 키를 누를 때마다 맥은 'f18'로 인식할 것이다. 그러면 맥 단축키 설정에 의해 "이전 입력 소스 선택"이 실행되어 한영 전환이 이루어질 것이다.


댓글 쓰기

23 댓글

  1. 작까님 기역 두 번 눌렀을 때 쌍기억 말고 ㄱ역 두 개 출력되는 방법 좀... 알려주세요~~

    답글삭제
    답글
    1. 저도 그거 해결하려고 많이 찾아봤었는데... 결국 그냥 'ㄱ'이랑 우측방향키랑 번갈아 누르는 방식으로 입력하고 있습니다ㅠㅠ

      삭제
  2. 감사해요 오류가 발생해 카라비너 사용 못하고 있었는데.. 덕분에 지연없이 잘 쓸수 있겠네요 ㅎㅎ

    답글삭제
    답글
    1. 도움이 되었다니 기쁘네요 :)

      삭제
  3. 맥 terminal도 열 줄 모르는 저에게 큰 도움이 되는 팁 남겨주셔서 감사합니다.

    답글삭제
    답글
    1. 터미널 사용 경험이 없는 분들에게는 어려울 수도 있겠다고 생각했는데, 도움이 되었다니 정말 기쁩니다.

      삭제
  4. 안녕하세요~ 덕분에 잘 바꿨습니다! 하지만 지금 현재 오른쪽 option키로 전환하는 게 됐는데요, 혹시 옵션키가 아닌 오른쪽 커맨드 키로 하려면 ralt 말고 뭐라고 적어야할까요?

    답글삭제
    답글
    1. 아 찾았습니다! 'rcmd'네요 ㅎㅎ 다들 참고하세요~

      삭제
    2. 확인이 늦었는데 해결하셨다니 다행이네요! 해결하고 나서 정보도 공유해주셔서 감사합니다 :)

      삭제
  5. 코딩 할 때 딜레이 때문에 힘들었는데 잘 해결했습니다. 감사합니다!

    답글삭제
    답글
    1. 쾌적한 코딩 환경에 도움이 된 것 같아 기쁘네요!

      삭제
  6. 아주 유용하게 잘 쓰겠습니다. 감사합니다.

    답글삭제
    답글
    1. 도움이 되었다니 기쁘네요 :D

      삭제
  7. 안녕하세요오 해머스푼이 버전업되면서 조금 달라진걸까요? ㅠㅠ
    왜 저는 설정->키보드->단축키->입력 소스에서 '이전 입력 소스 선택'에서 키 변경이 안되는지 모르겠습니다. ㅠ
    카라비너에서는 됐었는데 입력시 딜레이때문에 코딩에 어려움이 있어 해머스푼으로 해보려는데 설정에서 f18로 변경하는 데서 막히네요 ㅠ
    혹시 왜 그런지 이유를 아실까요? ㅠㅠ

    답글삭제
    답글
    1. 이전 입력 소스 선택 우측을 더블 클릭하고 capslock 입력 시 'F18'대신 캡스락이 뜬다면 해머스푼 설정이 적용되지 않은 것입니다. 메뉴 바의 해머스푼 아이콘을 클릭 후 open config -> 수정 후 저장 -> reload config를 하셨다면 키 리맵핑이 적용되어야 정상입니다.

      저도 이후 버전으로 업데이트는 체크해보지 않았지만, 혹시 제가 다운로드 한 릴리즈 버전 0.9.82로 시도해보시려면 아래 랭크에 가시면 됩니다.
      https://github.com/Hammerspoon/hammerspoon/releases/tag/0.9.82

      삭제
  8. 정말 감사합니다ㅠㅠㅠ

    답글삭제
  9. 꿀팁 맞네요 감사합니다 잘되네요

    답글삭제
  10. m1 에서 너무 불편한 부분이였는데 이런 꿀팁이 있었네욧 감사합니다 :)

    답글삭제
    답글
    1. 도움이 되어 기쁘네요! 감사합니다 :)

      삭제