[꿀팁] 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'로 인식할 것이다. 그러면 맥 단축키 설정에 의해 "이전 입력 소스 선택"이 실행되어 한영 전환이 이루어질 것이다.


댓글 쓰기

42 댓글

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

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

      삭제
    2. 구름입력기 설치해서 사용하면 됩니다.

      삭제
    3. 정보 공유 감사합니다 :)

      삭제
  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. 도움이 되어 기쁘네요! 감사합니다 :)

      삭제
  11. 감사합니다! 덕분에 해결했습니다! 그런데 대문자 고정은 이제 못하게 되는건가요?

    답글삭제
    답글
    1. 네 맞습니다. capslock 키에 새로운 키를 할당하고, 그 새로운 키에 한영전환을 지정하는 방식입니다.

      삭제
  12. 너무 너무 감사합니다~!!
    불편하다고 생각만 하고, 해결해 볼 생각은 못 했는데, 우연히 글을 보고 따라해봤네요.
    덕분에 속이 시원해졌습니다 :)

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

      삭제
  13. 말씀대로 적용했는데 완료 후에 hammerspoon 앱을 삭제해도 정상적으로 작동할까요?

    답글삭제
    답글
    1. 설정 적용 후에 hammerspoon 앱을 종료하여도 맵핑이 유지되는 걸로 보아, 시스템 수준에서 적용되는 것이 맞다고 생각합니다. 제 생각에는 말씀대로 hammerspoon 앱을 삭제하여도 유지될 것 같습니다.

      삭제
  14. 헛.. remapping module 은 대체 어디서 까는 건가요..?

    답글삭제
    답글
    1. foundation remappingmodule 링크로 가도 뭘 다운받아야되는지 못찾겠네요..

      삭제
    2. 해결책 1번에서 "foundation remapping 모듈" 링크를 클릭하면 깃허브 리포지터리로 이동합니다. 터미널을 이용하여 git clone할 수도 있지만, 간단하게는 우측 상단의 초록색 "Code" 버튼을 누른 후 "Download ZIP"을 클릭하면 다운받을 수 있습니다.

      삭제
    3. 감사합니다! 근데 저는 오른쪽 커맨드를 한영 전환키로 사용하고 싶은데, 그럼 Init.lua 에서 remapper:remap('capslock', 'f18') 를
      remapper:remap('rcommand', 'f18') 로 바꾸면 되는 것 맞나요? 그렇게 해도 안되어서요 ㅠㅠ

      삭제
    4. 아하 rcmd 로 하면 잘 되는군요!! 감사합니다 ㅎㅎ

      삭제
    5. 해결되었다니 다행입니다 :)

      삭제
  15. 사랑해요

    답글삭제
  16. 혹시 초기화 하려면 어떻게 해야하나요 ?

    답글삭제
    답글
    1. config (init.lua 파일) 에서 (관련된) 모든 코드를 지운 후 reload config 해보시겠어요?

      삭제
  17. 정말 감사합니다... 회사에서 맥북지급이라 강제로 맥쓰면서 해당 이슈때문에 매일매일 작은 스트레스로 피로감 장난 아니었는데 숙면 해결한거마냥 시원하고 행복하네요!

    다시 한번 감사합니다 행복하세요!

    답글삭제
    답글
    1. 작은 이슈로 쌓이는 피로감 너무 공감합니다ㅎㅎ
      도움이 된 것 같아 기쁘네요. 행복하세요!

      삭제