맥에서 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기

필자의 경우 윈도우에서는 오토핫키를 이용해 Ctrl + Spacebar 를 누르면 무조건 영어로, Alt + Spacebar 를 누르면 무조건 한글로 변환되도록 세팅해두고 사용을 하고 있습니다.

Windows 와 macOS 를 동시에 사용하다 보니 맥에서도 동일하게 세팅을 해서 사용중인데요.

맥에서 위와 같은 언어 전환 방식을 적용하는 방법은 Karabiner-Elements 또는 구버전의 구름 입력기 등 다양한 형태로 진행 할 수 있지만 개인적으로 가장 간편하고 효과적인 것은 macOS용 데스크톱 자동화 도구인 Hammerspoon 을 사용하는 것으로, 이 방식을 꽤 오래도록 사용 하고 있습니다.

그래서 오늘은 맥에서 Hammerspoon 을 사용해 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기에 대해서 알아 봅니다.

해당 포스트는 충분한 테스트 및 검증 후 작성 되었지만 이것이 내용의 정확성이나 신뢰성에 대해 보증을 하는 것은 아니니 단순 하게 참고용으로 봐주시길 바랍니다.


튜토리얼 환경 : macOS Monterey 12.2.1(m1), Hammerspoon

선행 사항

Hammerspoon_공식_사이트
Hammerspoon 공식 사이트

Hammerspoon 을 통해서 진행 하는 것이기 때문에 사용하는 맥에 Hammerspoon 이 설치 되어 있어야 합니다. Hammerspoon 을 설치하는 방법은 Hammerspoon 설치 및 기본적인 사용 방법에서 확인 할 수 있습니다.

macOS용 데스크톱 자동화 도구인 해머스푼을 이용 하여 시스템 레벨 API 를 Lua 스크립팅 엔진에 연결하거나 Lua 스크립트를 작성하는 것으로 시스템을 간단하게 조작할 수 있습니다.

특정 키 입력 시 한글 및 영어 고정으로 언어 전환하기

해머스푼을 설치 후 언어 변경을 위한 Lua 스크립트를 등록 하면 아주 간단하게 원하는 단축키로 특정 언어로의 전환이 가능합니다.

Reload_Config_메뉴
Reload Config 메뉴
  1. 상단 메뉴막대의 해머스푼 아이콘 hammespoon (1) 을 클릭 해 점프 메뉴를 확장 후 Open Config (2) 를 선택 해 init.lua 파일을 열어 줍니다.
initlua_파일에_스크립트_작성
initlua 파일에 스크립트 작성
  1. 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 키로 지정 할 수 있습니다. ( OptionAlt 로 지정 해도 동일합니다.)
    • normal key : modifier keys 를 제외한 모든 키로 지정 할 수 있습니다.
  • 작성이 완료 되었다면 Cmd + S 로 파일을 저장합니다.
Reload_Config_로_적용
Reload Config 로 적용
  1. 다시 상단 메뉴막대의 해머스푼 아이콘 hammespoon 을 클릭 해 점프 메뉴를 확장 후 Reload Config 를 선택 해 변경 내용을 다시 로드합니다.

마무리

이렇게, 맥에서 Hammerspoon 을 사용해 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기에 대해 알아 보았습니다.

이렇게 한번 사용해 보기 시작하면 다시는 예전으로 돌아가지 못할 거라고 생각합니다.

그 만큼 편리한데요. 이렇게 저와 같이 무조건 한글 또는 무조건 영어로 전환하고 싶은 경우 위 내용을 참고 해 적용 후 사용 해 보시길 바랍니다.

참고

본 글의 저작권은 iboxcomein.com 에 있습니다. iboxcomein.com의 사전 서면 동의 없이 본 글의 전부 또는 일부를 무단으로 전재, 게시, 배포하는 것을 금지합니다.
댓글로 남기기 어려운 내용은 Contact Form 링크를 이용해 개별적으로 문의 할 수 있습니다. 해당 포스트와 연관 된 문의 시 Copy를 눌러  URL 을 복사 후 등록 해야 합니다.

2 thoughts on “맥에서 특정 키를 무조건 한글 또는 무조건 영어로 한영 전환하기”

  1. 좋은 설명 감사합니다.
    구름입력기를 사용하면 위 코드를 사용해도 한글로 전환이 안되는것 같습니다.
    혹시 구름입력기를 위 코드에서 사용할 수 있는 방법이 있을까요?

    응답
    • 네 아쉽게도 맥 자체 입력기 간 전환을 강제하는 것으로 구름 입력기라는 다른 입력기 상태에서는 사용할 수 는 없네요.(제가 알기론 ㅠ)

      응답

Leave a Comment