필자의 경우 윈도우에서는 오토핫키를 이용해 Ctrl + Spacebar 를 누르면 무조건 영어로, Alt + Spacebar 를 누르면 무조건 한글로 변환되도록 세팅해두고 사용을 하고 있습니다.
Windows 와 macOS 를 동시에 사용하다 보니 맥에서도 동일하게 세팅을 해서 사용중인데요.
맥에서 위와 같은 언어 전환 방식을 적용하는 방법은 Karabiner-Elements 또는 구버전의 구름 입력기 등 다양한 형태로 진행 할 수 있지만 개인적으로 가장 간편하고 효과적인 것은 macOS용 데스크톱 자동화 도구인 Hammerspoon 을 사용하는 것으로, 이 방식을 꽤 오래도록 사용 하고 있습니다.
그래서 오늘은 맥에서 Hammerspoon 을 사용해 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기에 대해서 알아 봅니다.
해당 포스트는 충분한 테스트 및 검증 후 작성 되었지만 이것이 내용의 정확성이나 신뢰성에 대해 보증을 하는 것은 아니니 단순 하게 참고용으로 봐주시길 바랍니다.
튜토리얼 환경 : macOS Monterey 12.2.1(m1), Hammerspoon
선행 사항

Hammerspoon 을 통해서 진행 하는 것이기 때문에 사용하는 맥에 Hammerspoon 이 설치 되어 있어야 합니다. Hammerspoon 을 설치하는 방법은 Hammerspoon 설치 및 기본적인 사용 방법에서 확인 할 수 있습니다.
macOS용 데스크톱 자동화 도구인 해머스푼을 이용 하여 시스템 레벨 API 를 Lua 스크립팅 엔진에 연결하거나 Lua 스크립트를 작성하는 것으로 시스템을 간단하게 조작할 수 있습니다.
특정 키 입력 시 한글 및 영어 고정으로 언어 전환하기
해머스푼을 설치 후 언어 변경을 위한 Lua 스크립트를 등록 하면 아주 간단하게 원하는 단축키로 특정 언어로의 전환이 가능합니다.

- 상단 메뉴막대의 해머스푼 아이콘
(1) 을 클릭 해 점프 메뉴를 확장 후 Open Config (2) 를 선택 해 init.lua 파일을 열어 줍니다.

- init.lua 파일에 아래 스크립트를 작성 하거나 붙여넣기 ( Cmd + V ) 합니다.
---english
local input_english = "com.apple.keylayout.ABC"
function input_eng()
local input_source = hs.keycodes.currentSourceID()
if not (input_source == input_english) then
hs.keycodes.currentSourceID(input_english)
end
hs.eventtap.keyStroke({}, '')
end
---korean
local input_korean = "com.apple.inputmethod.Korean.2SetKorean"
function input_kor()
local input_source = hs.keycodes.currentSourceID()
if not (input_source == input_korean) then
hs.keycodes.currentSourceID(input_korean)
end
hs.eventtap.keyStroke({}, '')
end
--shortcut
hs.hotkey.bind({'ctrl'}, 'space', input_eng)
hs.hotkey.bind({'shift'}, 'space', input_eng)
hs.hotkey.bind({'cmd'}, 'space', input_eng)
hs.hotkey.bind({'alt'}, 'space', input_kor)
위 스크립트는 주석 표기 기준으로 상단 입력 소스를 영문으로 변경하는 input_eng
함수 와 입력 소스를 한글로 변경하는 input kor
함수로 되어 있습니다. 하단 shortcut
이라고 표기 된 주석에서 각자 지정하고 싶은 키를 지정해 주면 되겠습니다.
- 필자의 경우 3개의 키를 영문 전환 , 1개의 키를 한글 전환으로 사용 중입니다.
- 단축키는
hs.hotkey.bind({'modifier keys'}, 'normal key', 입력 소스)
와 같은 형식으로 지정 합니다.modifier keys
: Cmd , Shift , Option , Ctrl 키로 지정 할 수 있습니다. (Option
은Alt
로 지정 해도 동일합니다.)normal key
:modifier keys
를 제외한 모든 키로 지정 할 수 있습니다.
- 작성이 완료 되었다면 Cmd + S 로 파일을 저장합니다.

- 다시 상단 메뉴막대의 해머스푼 아이콘
을 클릭 해 점프 메뉴를 확장 후 Reload Config 를 선택 해 변경 내용을 다시 로드합니다.
마무리
이렇게, 맥에서 Hammerspoon 을 사용해 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기에 대해 알아 보았습니다.
이렇게 한번 사용해 보기 시작하면 다시는 예전으로 돌아가지 못할 거라고 생각합니다.
그 만큼 편리한데요. 이렇게 저와 같이 무조건 한글 또는 무조건 영어로 전환하고 싶은 경우 위 내용을 참고 해 적용 후 사용 해 보시길 바랍니다.
좋은 설명 감사합니다.
구름입력기를 사용하면 위 코드를 사용해도 한글로 전환이 안되는것 같습니다.
혹시 구름입력기를 위 코드에서 사용할 수 있는 방법이 있을까요?
네 아쉽게도 맥 자체 입력기 간 전환을 강제하는 것으로 구름 입력기라는 다른 입력기 상태에서는 사용할 수 는 없네요.(제가 알기론 ㅠ)