자기개발/개발이야기

맥북에서 변환 딜레이 없이 한글, 영어, 일본어 키보드 다 잘 사용하기 (by Hammerspoon)

3개 키보드를 자유자재로 쓰니 넘나 편하자너~

요약 (겸 설치방법)

HammerSpoon을 설치 후, foundation_remapping 을 설치한다.
키보드 설정에서 capslock으로 한영변경을 끈다. 참고링크
한국어, 영어, 일본어 키보드를 맥 키보드 설정에 추가한다.
다음 gist 파일을 hammerspoon의 설정파일(init.lua)에 반영시킨다.

Ctrl+Space로 한+영 조합, 일+영 조합으로 바꾸고, CapsLock으로 영어랑 Toggle 할 수 있다.
물론 Capslock으로 바꿨을 때의 전환 딜레이도 사라진다.

 

(다크모드면 syntax hightlighting이 안되요!)

(히라가나 구글 일본어 키보드를 사용하는걸 가정하여 설정하였다. 맥 기본 일본어 키보드를 쓸거면 코드에서 주석을 바꿔주면 된다.)

개요

회사에서 맥북을 샀다. 왜냐면 팀원 전부가 맥을 쓴다.

나는 진성 윈도우파다. 맥북을 썼지만 부트캠프를 설치해 거의 대부분 윈도우로 작업하였다.

근데 이제 맥을 써야된다. 윈도우에서 프로젝트가 빌드가 안되더라.

맥북에서 MacOS를 아에 안써본것은 아니라서 적응은 금방 했다. 그래서 잘 쓰고 있다.

하지만 유일하게 짜증난게 Capslock 한영전환 딜레이었다. 그래서 찾아봤는데, 보통 이걸 없애기 위해서 Karabiner elements를 써서 '다음 입력소스를 선택'을 매칭시킨다.

근데 이건 문제가 있다. 나처럼 한, 영, 일 키보드를 쓰면, 영어 다음에 일본어가 오기에 저 방법을 쓸수가 없다.

물론 일본어를 포기하면 저렇게 써도 된다. 근데 그렇게 쓰기 싫었다. (그러면 노동요 검색을 못하니까...)

윈도우에서처럼 Window키 + Space로 한국어+영어와 일본어를 전환하고 싶었다.

그래서 이리저리 방법을 찾아보다, 이 글을 찾게되었다.

그렇게 이리저리 찾아본결과, 윈도우와 거의 비슷하게, 아니 오히려 더 좋게 할 수 있었다.
(게다가 vim 사용성도 개선할 수 있었다!)

본론

간단하게 어떤식으로 했는지 적는다. 내가 만들어낸게 아니라 여러 참고문서를 통해 알게된것을 내가 정리한 것이다. 참고문서의 출처는 위 GIST 파일에 각각 명시해뒀다

설치방법은 위의 요약을 참고

Hammerspoon이란?

Karabiner elements 같은 것인데, lua 코드를 통해서 좀 더 다양한 기능을 구현할 수 있다.
(즉, 개발자 아니면 조금 사용하기 막막할 순 있다.)

이것을 사용하였다

어떻게 하였나

Capslock을 다른 키로 매핑

우선 karabiner elements 처럼 capslock을 다른 키로 매핑해야한다. HammerSpoon에서는 foundation_remapping 을 통해 이걸 할 수 있다. 이걸 설치해준다.

보통 F12를 넘은 키를 매핑시킨다. 나는 F18으로 매핑했다.

ctrl+space로 키 세트 전환, capslock(f18)로 영어 전환을 하게 코드 작성

여기는 그냥 코드를 짤 뿐이다. 현재 어떤 키 세트인지 기억하고 있게 하고, ctrl+space로 토글하게 한다.
capslock으로 영어를 전환할때, 현재 키 세트를 보고 영어에서 어떤 언어로 돌아가게 할 지 정한다.

(보너스) 프로그램 이름에 IDEA가 있는 걸 사용시, esc를 누르면 영어로 전환하게 한다.

vim을 쓰다보면 입력모드에서 한글을 쓰는 경우가 있다. 그 경우에 esc를 누르고 vim 커맨드를 입력하려하면 에러가 솟구친다.
이것도 해결방법이 여러가지 있는 것 같은데, 나같은 경우 그냥 esc를 누르면 esc를 누른 후 엉어로 변경하게 했다.
이 과정에서 단순히 esc에 영어로 변경 기능을 매핑하면 정작 esc 본래 기능이 동작하지 않아서 애로사항이 많다. 이를 해결하려고 ctrl+c 기능을 추가하는 분들도 있는데, 나는 esc를 누른 순간 바인딩을 풀고 esc 키 이벤트를 발생시킨 후 다시 바인딩을 함으로써 본래의 기능을 실행하게 하였다.

결론

HammerSpoon, 좋은거같다. 덕분에 맥 사용성이 늘었다.

맥은 윈도우보다 처음에는 불편한점이 많지만, 그래도 노력하면 자기 입맛대로 커스터마이즈 할 수 있어서 사람들이 많이 쓰는거같다.

그래도 스페이스를 다른 모니터로 옮기는 단축키는 만들수 없다는 점이 여전히 불편하다. 윈도우에서는 이 기능을 많이썼는데, 윈도우를 다른 모니터로 옮길때마다 마우스를 쓰는것이 불편하다.