macOS 한글입력상태에서 원화기호 대신 back quote(`) 입력하기

반응형

한글 사용권 국가의 개발자(그래봤자 대한민국 한정이지만)는 참 고되다. 

 

개발하는 순간에야 입력 소스가 영어이기 때문에 키보드의 왼쪽 위 끝에 위치하는 `(흔히 back quote 라고 부르는)를 입력하는 것은 간단한 일이다. 하지만, 한글 입력 모드에서는 해당 문자(`)를 입력할 수 없기 때문에, 신나게 한글을 입력하는 중에 `를 입력할 때에는 한영키로 입력소스를 바꾸어야 주여야 한다.

 

한글, 영어 알파벳이 아닌 이상에야 같은 키임에도 입력소스에 따라 다른 문자가 입력 된다는 것은 무척 헷갈리는 일이다. 이건 솔직히 키보드 설정에서 바꿀 수 있어야 한다고 생각한다. (듣고 있나 애플?)

OsX 에서 한글 입력 상태에서는 back quote 대신 ₩(원화기호)가 입력된다.

이를 간단히 기본적인 설정에서는 변경할 수 없는 것 같아 보인다. 

그래서 찾아보았다. 고맙게도 나와 같은 문제를 겪는 사람들이 있었다.

 

프로그램 개발 지식 공유, devkuma

데브쿠마는 프로그래밍 개발에 대한 지식을 공유합니다.

www.devkuma.com

위 링크를 참고하여 한글 입력상태에서 원화기호() 대신 백쿼트(`)가 입력되게 해보자.

한글입력상태에서 원화기호 대신 back quote(`) 입력하기

직접 설정 편집하기

  1. cd ~/Library/KeyBindings (폴더가 없다면 생성해준다.)
  2. vi DefaultkeyBinding.dict
  3. 다음의 코드를 추가
    {
        "₩" = ("insertText:", "`");
    }
  4. 애플리케이션 종료 후 재실행

(이미 terminal 을 잘 다룬다는 가정하에 간단하게 작성했다. 위 링크에서 보다 자세히 확인 할 수 있다.)

더 간단한 방법

  1. terminal 열기 (Spotlight 에서 terminal 입력 후 엔터)
  2. 다음 코드를 붙여넣고 엔터
    curl -sSL https://gist.githubusercontent.com/redism/43bc51cab62269fa97a220a7bb5e1103/raw/0d55b37b60e0e0bd3d0d7f53995de0a722f9820c/kr_won_to_backquote.sh | sh​

다음은 몰라도 되는 내용이다. 이 쉘 스크립트는 '직접 설정 편집하기' 방법을 누군가 github gist 에 올려놓은 쉘 스크립트를 내려 받아 실행시키는 스크립트이다.

그럼 원화 입력은 어떻게 하지?

백쿼트는 이제 원하는대로 입력이 잘 된다. 그럼, 다시 원화 표시가 필요하다면...? 

특수문자 입력기 활용하기

OsX 에서는 ctrl +  cmd + space 를 입력하여 문자입력기를 소환(?)할 수 있다. 여기서 'won'이라고 입력하면, 원화기호를 입력할 수 있다.

원화기호를 백쿼트(`)로 바꾸어버렸다면 이제 원화입력은 특수기호 입력기를 이용해야한다.

이 방법이 익숙치 않다면 웹브라우저를 켜고 구글에 접속한 뒤 '원화 기호'를 검색하자. 그리고 해당 기호를 복사해서 붙여넣...기... 응?

쓰지 않는 특수문자 대신 원화기호 할당하기

'[OsX, 맥, 맥북] 한글입력상태에서 원화기호 대신 back quote(`) 입력하기' 방법에서 알아본 것처럼, 다른 문자를 원화기호에 할당할 수 있다. OsX 에서는 [option + 특정키]를 입력하여 특수문자를 입력할 수 있는데, 그 특수문자 중에서 쓰지 않는 문자를 원화기호로 할당하면, [option + 특정키]를 활용하여 원화기호를 입력할 수 있다. 

  • [OsX, 맥, 맥북] 한글입력상태에서 원화기호 대신 back quote(`) 입력하기' 방법에서 3. 번 과정의 코드만 다음 코드로 변경한다.
    {
        "₩" = ("insertText:", "`");
        "~4" = ("insertText:", "₩");
    }


"₩" = ("insertText:", "`"); 부분은 한글입력 상태에서 원화기호 대신 back quote(`)가 입력되게 하는 부분이다.

"~4" = ("insertText:", "₩"); 부분은 [option + 4]키를 눌렀을 때 원화기호가 입력되도록 한다. 원래 [option + 4]

를 입력하면 ¢ 표시가 입력된다. 이것은 cent 를 의미하는데, [shift + 4]가 $ 기호를 의미하므로, 왜 [option + 4] 가 cent 인지 이해할 수 있다. 필자의 경우 센트 기호를 평생 입력해본 기억이 없고 앞으로도 입력할 일도 없을 것 같기에, 저 기호 대신 원화기호를 할당했다. 

Text System Defaults and Key Bindings (ft. Apple)

이상으로 애플에서 제공하는 Key Binding 기능을 살펴보았다. Apple 에서는 사용자가 특정 키 입력을 위해 키바인딩을 설정할 수 있는 기능을 별도로 제공하고 있고(보고있나 마이크로소프트? - AutoHotKey 안쓰게 해주세요...), 사용자는 커스텀하게 Key Binding 을 추가하여 사용할 수 있다. 다음 링크는, 애플에서 공식적으로 제공하는Text System Defaults and Key Bindings 문서다. 

 

Text System Defaults and Key Bindings

Text System Defaults and Key Bindings This document reveals some tips and tricks about various defaults you can use to customize the behavior of Cocoa’s text system. It also describes how to customize the key bindings supported by the text system. Heavy-

developer.apple.com

주요 키 식별자

주요한 조합키 식별자는 다음과 같이 지시(식별)할 수 있다.

  • “^” for Control
  • “~” for Option
  • “$” for Shift
  • “#” for numeric keypad

Key Binding 을 활용한 예제

이를 활용하면, 필자가 shift + 4 로 원화기호를 할당하였듯이, 원화기호(또는 자주 쓰는 특수문자)를 입력하기 위해 별도의 키바인딩(Key Biding)을 지정하여 사용할 수도 있겠다. 다음은 스마일 이모지를 option + 1 입력에 할당한 예제이다.

// option + 1 을 눌렀을 때마다 스마일 입력하기
// 이와 같이 defaultkeyBiding.dict 파일을 활용하여 다양한 문자 입력에 대한 단축키를 지정하는 것이 가능하다.

"~1" = ("insertText:", "😀");

별도로, 이를 활용하고 있는 여러 사례들이 공유되어 있다. Key Binding 기능을 다른 사람들은 어떻게 활용하고 있는지 궁금하다면, 다음 문서들을 살펴보는 것이 도움이 될 것이다.

 

 

My DefaultKeyBinding.dict for Mac OS X

My DefaultKeyBinding.dict for Mac OS X. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

GitHub - ttscoff/KeyBindings: DefaultKeybindings.dict for Mac OS X

DefaultKeybindings.dict for Mac OS X. Contribute to ttscoff/KeyBindings development by creating an account on GitHub.

github.com

 

반응형

Designed by JB FACTORY