Just a Blog

macOS Sierra에서 한글키 맵핑 문제 본문

IT, Computer

macOS Sierra에서 한글키 맵핑 문제

wehong 2017. 1. 31. 00:39

* 2017.11.26

아래 내용은 과거 내용입니다.

Karabiner-Elements가 없데이트 되면서, 다중키 변환 및 적용 어플리케이션 지정이 가능하게 되었습니다.

아래 내용은 현 시점에서 무시하셔도 됩니다.



사용하고 있는 Mac 기기의 OS를 El Capitan에서 Sierra로 올리지 않고 있다.

가장 큰 이유는 Sierra에서는 El Capitan 또는 그 이전 OS에서와 같은 방식으로 한/영 변환 및 한자 변환 키 할당이 안되고 있기 때문이다.

기존에 Karabiner 어플리케이션 하나로 편리하고 세밀하게 조정되었던 키보드 키 맵핑이 macOS Sierra의 구조 변경으로 어려운 상태이다.


지금은 Sierra에서 구동되는 Karabiner-Elements라는 대응 어플리케이션이 소개되었다.

하지만 개인적인 요구사항을 충족하기에는 이 앱이 부족하다고 느껴진다.

왜 그런지 조금 더 상세하게 소개해 보겠다.


1. 개인적인 요구사항

(1) 데스크탑인 맥 미니에는 USB 포트를 통해 Windows 대응 87키 키보드를 물려 사용하고 있다.

이 키보드는 스페이스바 오른쪽에 Alt키가 있고 그쪽 맨 오른쪽에는 Ctrl키가 있다.

Windows 상에서는 기본적으로 그 Alt키가 한/영 변환 역할을, 그 Ctrl키가 한자 변환 역할을 한다.

Parallels 등 가상머신 위에서의 Windows나 Bootcamp를 통한 Windows 사용시에도 당연히 그 Alt키와 Ctrl키가 한/영 변환, 한자 변환으로 쓰이기 때문에, macOS에서도 그 키가 그대로 한/영 전환, 한자 변환이 되었으면 한다.


(2) 노트북으로 맥북프로와 맥북에어를 사용하고 있다.

맥북프로나 맥북에어의 기본 키보드에서 스페이스 바 오른쪽에 Command키가 있고 더 오른쪽에 Option키가 있다.

이들 노트북에서도 일반 한글 키보드와 비슷한 순서로, 한/영 전환, 한자 변환이 배치되었으면 한다.

즉, Windows쪽과 macOS 쪽 모두, 스페이스 바 오른쪽 Cmd가 한/영 전환, 그 오른쪽 Option이 한자 변환으로 동작되기를 요구한다.


2. Sierra 이전 macOS (El Capitan, Yosemite 등) 상의 구현

Karabiner는 너무나 강력해서 여러가지 기능이 가능했다.

첫째로, 단일 키를 다중 키(Cmd, Ctrl, Option, Shift와 일반 키가 함께 눌러짐)로 또는 다중 키를 단일 키로 변환하는 것이 가능했다.

즉, 오른쪽 Alt키를, macOS에서 한/영 전환키 조합으로 쓰이는 Cmd+스페이스(또는 Ctrl+스페이스)로 맵핑 가능했다.

둘째로, 이런 키 변환이 특정 어플리케이션에서는 발생하지 않도록 또는 특정 어플리케이션에서만 발생하도록 지정하는 것이 가능했다.

즉, 오른쪽 Alt키를 Cmd+스페이스로 변환하는 기능을 Parallels 앱 상에서는 동작되지 않도록 하면, Parallels 앱이 돌리는 가상머신 Windows에서는 오른쪽 Alt키는 그냥 오른쪽 Alt키(한글 Windows에서는 한/영 변환 키)로서 동작하도록 할 수 있었다.

이른 통해, 맥 미니나 맥북프로/에어에서 서로 약간 다른 키 맵핑 설정만 집어 넣어(Karabiner 앱에서 private.xml으로 설정할 수 있다) 요구사항 (1)과 (2)를 모두 만족시킬 수 있었다.


3. Sierra에서 상황변화

Sierra에서 구동되는 Karabiner-Elements는 키 변환에 다중 키를 사용할 수 없다.

따라서 mac OS 상에서 Cmd+스페이스를 한/영키로 선택하면 Karabiner-Elements는 특정 키를 다중 키인 Cmd+스페이스로 대체할 수 가 없기 때문에 키 하나로 한/영 전환이 불가능 하다.

그래서 F18, F19키를 한/영 전환에 맵핑하는 트릭이 나온 것이다.

잘 사용하지 않는 F18, F19 키를 macOS 환경설정에서 한/영 전환 키로 설정 변경 해놓고, Karabiner-Elements에서 오른쪽 Alt키를 F18 또는 F19로 맵핑해 놓으면 오른쪽 Alt키가 한/영 전환을 시키게 되는 것이다.


하지만 이 방식은 몇 가지 점에서 완벽하지 않다.

첫째, 특정 앱에서 F18, F19 키를 (현재 또는 향후에도) 안쓴다는 보장이 없다.

둘째, 반대로 앱들이 너무 특수한 F18, F19 키를 처리하지 않아서 아예 bypass 되어 버릴 수 있는데, 예를 들어 Parallels 구 버전(버전 10)은 F18 또는 F19키 자체를 인식 못하는 것을 확인했다.

셋째, Parallels, VMWare, VirutalBox 같은 가상머신 프로그램이 F18, F19 같은 키를 받을 수 있다고 해도, 가상 머신 상의 Windows로 해당 키 입력을 오른쪽 Alt, 오른쪽 Ctrl 키 값으로 변환시켜주지 못하면 Windows에서 한/영 전환, 한자 변환이 될 수가 없다.

최신 Parallels Desktop 앱에서는 F18/F19 값을 AltGr로 변환할 수 있는 것 같은데, VirtualBox는 변환 방법을 찾을 수 없었다.

넷째, macOS에서 한자 변환 키인 Option+Enter는 다중 키이기 때문에 어차피 Karabiner-Elements에서 단일 키로 맵핑할 수가 없다.


4. 그래서...

일단 Karabiner 개발자가 Karabiner-Elements를 보완해서 Karabiner 업데이트를 계획하고 있는 듯 한데, Sierra의 구조 변경이 있지 않는 한 Sierra에서는 현재 Karabiner-Elements 수준의 변경만이 가능하지 않을까 예상된다.

BTT를 쓰거나 입력기를 바꾸는 방법도 있지만 거의 제한되는 수준이 비슷할 것 같다.

상황을 지켜 보면서 일단은 Sierra로의 업데이트를 보류하려고 생각하고 있다.

Comments