컴퓨터
Hammerspoon 을 이용한 한영전환 제어
N

Lv.1 neutro (61.♡.130.69)

2025년 10월 3일 PM 03:30 · 수정됨(10. 05. 15:00)

조회 1,264 공감 0

hammerspoon 은 macos 시스템의 여러가지 이벤트를 조작할 수 있는 방법을 제공하고 있습니다.

lua 를 스크립트로 제공하고 있어서 상대적으로 쉽게 접근할 수 있습니다.


다음은 제가 원하는 몇가지 조건을 구현한 스크립트입니다.

1. 한영 전환은 shift-space 로 한다.

2. 특정 앱에서는 ESC 를 누르면 영문 모드로 전환한다. (vi 모드)

3. 특정 앱은 activate 되면 영문 모드로 전환한다. (한글 사용이 적은 앱)

4. 특정 앱은 shift-space 를 무시하고 무조건 영문모드이게 해둔다. emacs 의 경우 자체 입력기가 훨씬 좋습니다.


아직은 참고 쓰는 몇가지 문제점이 있습니다.

1. 한영전환을 해도 (분명이 화면 인디케이터는 한글로 표기됨) 영문으로 입력되는 경우가 있습니다. 이럴땐 시스템 공식 전환(cmd-space 같은) 키로 전환해야 합니다.

2. 한글 입력이 자소 풀어쓰기로 되는 경우가 있습니다. 이 경우는 시스템 기본 키로 다시 전환하거나 다른 app 으로 포커스전환 하면 해결 됩니다.

이런 오동작은 macos 한글 입력기 자체의 문제에서 파생한 것으로 보입니다. hammerspoon 을 쓰지 않더라도 비슷한 오류를 만난 적이 제법 있습니다. hammerspoon 으로 이벤트 순서가 조금 틀어질 경우 더 자주 버그가 발현 하는 것 같습니다.

특히 키 입력을 받아서 edit 를 어시스트 하려는 editor 일수록 문제가 더 나빠집니다. 

온전한 해법은 제대로 된 한글 입력기가 나와야 할 것 같습니다. 

지금 사용 가능한 '구름입력기' 의 경우 활동이 줄어 빠른 업데이트를 기대하기 어렵습니다. 


더 잘 쓰시고 계신분이 많으실테니 제 스크립트도 개선할 기회가 되면 좋겠네요. 링크 첨부합니다.


https://gist.github.com/neutrospec/40cbb7e8f988d770d69bed690d75ccb1

댓글 (1)

  • 집사C

    집사C Lv.1

    25.10.05 · 106.♡.3.145

    요새 좀 작은 프로젝트에 손을 대며 개발 재미를 끌어올리고 싶었는데 공유 주신 매크로를 보고 ollama에서 매우 작고 쓸만한 ai 모델을 가지고 편리하게 맥을 컨트롤 해보고 싶어졌습니다.
    감사합니다.

댓글을 작성하려면 이 필요합니다.