Dvorak 키보드

Dvorak과 한글 입력기 개발

이 글은, 한 컴퓨터 프로그래머가 드보락 자판을 익혀 쓰다가, 한글 입력 시에도 드보락 배열로 조합키를 누를 수 있도록 Apple OS X용 한글 입력기를 만들게 된 이야기입니다. 드보락 자판과 OS X용 한글 입력기 개발에 대한 글이 이어집니다.

어쩌다 멀쩡히 잘 쓰던 기본 영문 자판을 두고 Dvorak이라는 생소한 자판 배열에 관심을 두게 됐을까요? 괜한 고생문을 연 것 같아서 이제라도 그냥 기본 키보드 배열을 다시 쓸까도 생각했지만, 직업이 프로그래머인지라 괜한 오기가 발동했습니다.

같은 문제 상황에 처한 사람은 얼마 없겠지만, 그래도 나름 개발자인데 나만을 위해서라도 직접 문제를 해결해볼까?

해결하고자 한 문제가 무엇이었는지 말씀드리기 전에, 배경 설명이 필요합니다.

기본 영문 자판, 쿼티(QWERTY)

Latham Sholes’s 1878 QWERTY keyboard layout

보통 영문 키보드 기본 자판은 QWERTY라고 부릅니다. 왼쪽 위의 키 배치가 차례로 Q, W, E, R, T, Y로 위치해서 그렇게 이름 지었다 합니다. 오래전 타자기가 쓰이던 시절에, 가까운 곳에 있는 키들이 빠르게 연속해서 눌리면 키끼리 서로 엉키는 현상이 자주 발생했고, 이 문제를 해결하기 위해 연달아 치는 알파벳을 서로 멀리 배치하는 방법으로 QWERTY 자판을 만들었습니다. 1878년에 이 자판을 쓴 타자기가 상업적으로 성공하면서, 그 후 지금의 컴퓨터 자판까지도 널리 쓰이게 됐다고 합니다.

그러나 자주 눌리는 키를 멀리 배치하는 것은, 타자기의 키가 엉키지 않게 하는 데는 도움이 될지 몰라도, 손이 편하게 가까운 키를 연속해서 누르는 데는 방해가 된다는 문제가 따라옵니다.

구식 타자기를 사용하던 그 시절에는 연속한 키를 누르기 위해 손가락을 멀리 움직이는 불편함쯤이야, 키가 엉키는 불편함에 비교하면 참고도 남을 일이었겠지만, 지금은 세상이 바뀌어서, 키가 엉킬 일이 없는 “키보드”를 사용하는 세상이지 않습니까? 지금은 단지 예전부터 가장 널리 쓰이던 자판 배열이 쿼티라는 이유로, 지금도 그대로 쓰이는 것일 수 있습니다.

왜 아직 타자하기 불편한 키배열을 쓰고 있는 것일까요?

새로운 키배치, 드보락(Dvorak)

쿼티 자판의 단점을 아래와 같이 지적하며, 1932년에 드보락 자판이 세상에 나옵니다. 쿼티가 널리 쓰인 지 50여 년이 지난 뒤의 일입니다. 즉, 키가 자주 엉키는 문제를 다르게 해결할 수 있는 기계적인 방법이 갖춰진 시대였겠지요.

쿼티 자판의 단점

  1. 흔히 연속되는 글자를 치기 위해 키보드 가운데 줄을 넘나들게된다.
  2. 흔히 연속되는 글자를 치는데 한 손만 사용하는 경우가 많다.
  3. 사람들은 흔히 오른손잡이인데, 쿼티는 왼손을 많이 쓴다.
  4. 아랫줄에서 16%, 윗줄에서 52%를 치게 되고, 가장 치기 편한 가운데 줄에서는 고작 32%만을 치게 된다.
이미지 발췌 http://dvzine.org

키보드 중앙에 양손 검지를 기본 위치하는 글쇠의 주변과 그 줄이 가장 타자하기 좋은 가운데 줄인데, 그 줄을 벗어나는 키 입력이 많이 필요하다는 게 가장 큰 문제겠습니다.

결과적으로 손가락 움직임도 꼬이게 되어 그림과 같은 모양이 되는 경우가 많습니다. 그래서 영문을 오랜 시간 타자하다보면 손목이 더 아프기도 합니다.

드보락 자판을 개발한 어거스트 드보락(August Dvorak) 박사는, 이런 문제를 해결하고자 글자 조합과 사람 손가락 생리를 연구해서 아래의 원칙을 바탕으로 자판을 설계했습니다.

드보락 자판의 특징

  1. 주로 왼손은 모음을, 오른손은 자음을 담당하여, 양손을 번갈아 입력하는 타자감을 느낄 수 있도록 한다.
  2. 타자 속도를 극대화하기 위해 빈도가 높은 문자와 이중 문자의 조합을 가장 빨리 입력할 수 있는 타자 기본 자리(home row)에 배치하였다.
  3. 마찬가지로 빈도가 가장 적은 문자들을 타자하기 가장 힘든 맨 아래 줄에 배치하였다.
  4. 자주 쓰는 특수 문자가 입력하기 좋은 위치에 있다.
  5. 보통 사람들이 오른손잡이임을 고려해, 오른손 타자 비중을 높였다.
이미지 발췌 http://dvzine.org

위의 설계를 바탕으로, 가장 치기 좋은 가운데 줄에서 70%, 그다음의 윗줄에서 22%, 가장 치기 불편한 아랫줄에서 8%의 타자가 일어납니다. 대부분 타자를 손가락을 크게 이동하지 않고, 편리한 위치에서 칠 수 있는 거죠.

저도 1년 넘게 실제로도 써보니, 대부분 가운데 줄(home row)에서 손가락을 크게 이동하지 않고도 조용조용 얌전하게 타자할 수 있다는 것을 느낄 수 있었습니다.

게다가 프로그래머는 코딩하면서 따옴표, 마침표, 부등호 등 기호를 많이 치게 되는데, 쿼티의 경우에는 대부분 오른손 구석에 몰려 배치돼 있어 불편하지만, 드보락의 경우에는 적절히 나뉘어 있고, 특히 자주 치는 기호의 경우에는 기본 위치에서 가까운 곳에 있어서 장점이 더 두드러집니다.

그러나 드보락의 문제는…

장점이 많아 보이는데, 왜 널리 쓰이지 않을까요? 장점이 과장됐거나, 더 큰 단점들이 함께 있는 것일지도 모르겠습니다. 무엇보다 가장 큰 단점은,

“절대다수 남들은 쿼티를 쓴다.”

는 점이 아닐까 합니다. 주변의 거의 모든 사람이 쿼티를 씁니다. 아무리 드보락이 복수 표준이라고 해도, 디폴트는 쿼티라서 별도로 선택해야 드보락을 쓸 수 있으며, 심지어 아이폰이나 아이패드 같은 장비의 기본 화면 키보드는 아직 드보락을 선택할 수조차 없습니다.

그리고, 내 컴퓨터에는 직접 설정하는 잠깐의 불편함을 감수하고 드보락을 쓸 수 있지만, 잠깐 옆자리 동료의 컴퓨터에서 타자한다거나, 도서관에 가서 공용 컴퓨터를 이용한다거나 할 때, 결국은 쿼티를 쓰게 됩니다. 이런 불편함을 안고 드보락을 쓸 만큼, 장점이 큰지 고려해보아야 하는데, 이 단점들이 너무 큰 것이지요.

그래도, 어느 정도 호기심에 시작한 드보락 적응 놀이에, 실제로도 손목이 편안한 것을 느끼고, 좀 더 적응해보기로 했습니다. 남의 컴퓨터나 공용 컴퓨터를 사용할 일은 그다지 많지 않기 때문에, 내 컴퓨터를 사용하는 데 있어서의 편안함을 강조해 보기로 했습니다.


두벌식이나 세벌식 한글 자판에서의 조합키 입력

이상 긴 배경 설명이었고, 이제야 본격적인 문제를 말씀드릴 수 있습니다. 내 컴퓨터에서 드보락을 쓰기로 하고, 간혹 다른 컴퓨터에서는 쿼티가 표시된 키보드를 독수리 타법으로 친다고 하더라도, 한 가지 더 문제가 있습니다.

우리는 영문만 쓰는 게 아니라, 한글 입력도 해야 합니다. 두벌식이든 세벌식이든, 한글을 입력하다가도 중간중간, [⌘+C], [⌘+V], [Ctrl+T] 등의 조합키를 눌러야 하는 경우가 많은데, 한글 입력 상태에서 조합키를 누르면, 이때도 쿼티 레이아웃 기준으로 입력되는 문제가 있습니다.

즉, 드보락 자판을 쓰는 사람이, 두벌식 상태에서 드보락 기준으로 [⌘+S]를 눌러 파일을 저장하려고 하면, 실제로는 쿼티 기준으로 [⌘+;]가 눌려서, 아무런 반응이 없거나 프로그램에 따라 전혀 의도치 않은 다른 반응이 나타나게 됩니다.

꽤 성가신 문제입니다. 결국, 한글 입력 상태에서는 쿼티 기준으로 조합키를 입력하거나, 아니면 그때마다 영문 입력 상태로 전환해야 하는데, 어느 쪽이든 여간 불편한 일이 아닐 수 없습니다.

이쯤이면, 드보락을 포기하고 다시 쿼티로 돌아갈 법도 합니다. “그래 이제 이만하면 충분한 유난을 부렸어.”라며, “역시 그냥 쿼티를 쓰는 게 맞겠어”라고 하며 말이죠. 그런데 어딘가 모르게 쓸데없는 오기가 올라옵니다. 그래도 “어렵게 드보락 배열을 외웠는데, 그리고 심지어 정말 편하다고 느끼는데도 여기서 포기하는 게 맞는 걸까?”하는 생각이 드는 거죠.

구름 입력기 & 바람 입력기 설치

찾아보니, OS X에 기본으로 들어있는 애플의 한글 입력기 말고도, 한국 개발자가 만든 3rd-party 한글 입력기가 몇 개 있었습니다. 구름 입력기가 최근 가장 널리 쓰이는 것 같고, 바람 입력기도 한동안 널리 쓰였던 것 같습니다.

http://gureum.io

두 입력기 모두 libhangul이라는 한글 입력 공용 코드를 기반으로 제작했으며, 두벌식 모아치기 기능을 포함해 [Shift-Space] 키로 한영전환 기능을 지원하는 등, 유용한 부가 기능으로 사람들의 호응을 얻으며 꽤 널리 쓰이고 있습니다.

그래, 이런 입력기를 쓴다면, 한글 입력 시의 조합키 드보락 문제를 해결할 수 있을지도 몰라.

구름 입력기는 드보락과 함께 쓸 수 없다

설치해서 써보니, 최근까지도 계속 업데이트되며, 더 널리 쓰이는 구름 입력기는 아쉽게도 드보락 자판과 같이 쓸 수 없었습니다. 드보락을 쓰는 경우 한글 입력조차 제대로 할 수 없습니다. 하지만, 드보락을 쓰기 위한 것이 아니라면, 사용을 권해드릴 만한 훌륭한 입력기입니다.

바람 입력기는 업데이트되지 않아...

바람 입력기의 경우, 드보락과 함께 쓸 수 있는 배려가 있었지만, 아직 레티나 아이콘을 지원하지 않을 만큼, 방치된 상태였습니다.

게다가 제 맥북의 설정과의 문제인지 종종 리부트 후 입력기가 제거돼 있어서 다시 설정해야 했고, 간혹 커서가 의도치 않은 곳으로 튀는 문제가 있었습니다. 그래도, 아쉬운 대로 드보락을 쓰기 위해서는 바람 입력기를 쓸 수밖에 없는 상황이었습니다.


에잇, 하나 만들어봅시다!

고맙게도 구름 입력기가 오픈 소스 소프트웨어여서, GitHub에서 쉽게 소스 코드를 살펴볼 수 있었습니다. 이미 잘 실행되는 입력기의 소스 코드도 있으니, 조금만 살펴보면, 구름 입력기를 조금 수정해서 쓰거나, 아니면 따라 해서 하나 만들어 볼 수도 있겠다 싶었습니다. 애플의 개발자 문서사이트를 찾아보니, InputMethodKit이라는 입력기 개발용 프레임워크가 있었고, 해당 개발 문서와 예제를 살펴보니, 생각보다는 간단히 만들어 볼 수 있지 않을까 하는 욕심이 들더군요.

게다가, 한글 입력에서 가장 중요한, 한글 입력 오토마타는, libhangul이 이미 훌륭하게 구현해 놓았으니, 잘 가져다 쓰기만 하면 될듯싶었습니다. libhangul 사이트에 API 사용법도 잘 정리돼 있습니다.


애월입력기 개발

한글 입력의 핵심을 다 처리해주는 libhangul과 구현 사례를 참고해볼 수 있는 구름입력기 덕분에, 제가 원하는 입력기도 큰 난관 없이 만들 수 있었습니다. 최소 기능만을 목표로 했기에, 한자 입력 기능도 없고, 아직 더러 문제가 있겠습니다만, 드보락과 두벌식을 함께 쓰는 용도로 사용하기에는 적합합니다.

(이름은 애월 입력기라고 정했는데, 딱히 큰 의미는 없습니다. 그저 제가 사는 지역명입니다.)

애플 드보락 입력기와 애월 두벌식을 사용하는 모습

제 OSX에 애플 기본 드보락 입력기와 애월입력기가 함께 설정된 화면입니다.

한글 입력과 쿼티 외 자판의 조합키 문제를 해결한 것이라, 드보락 자판뿐 아니라, 콜맥(Colemak)등의 다른 자판도 사용할 수 있을 것입니다.

아직, 한자 입력이나 세벌식은 지원하지 않습니다. 아직 충분히 테스트하지 않은 알파 버전 정도로 봐주시면 감사하겠습니다.

소스 코드는 GitHub에 공개했습니다.

https://github.com/hatemogi/AewolInput

애월입력기 설치하기

과연, 드보락을 쓰려는 분이 있을까 싶어서, 이 입력기도 쓰실 분이 없을 것 같지만, 그래도 아래 링크에서 설치 방법과 내려받기 링크를 안내 드립니다.

패키지를 설치하고 나면, 키보드 설정 > 한국어 > 애월 두벌식을 고를 수 있습니다.

세벌식 한글

사실, 드보락 자판이 영문을 입력하기에 좋기는 해도, 다른 사람들이 쓰지 않는다는 문제는 한글 두벌식 자판과 세벌식 자판의 문제에도 똑같이 있습니다.

두벌식보다 세벌식 자판이 효과적이고 좋다고는 하지만, 세상 많은 사람이 두벌식 자판을 쓰고 있기 때문에 계속 두벌식 자판을 쓰고 있는 것이죠.

그런 면에서, “쿼티와 두벌식”을 쓰거나, 아니면 “드보락과 세벌식”을 쓰는 것이 어느 정도 상통하는 것 같습니다. 정해진 표준을 문제없이 받아들이거나, 아니면, 표준과는 상관없이 더 나은 입력 방식을 선택하는 것의 차이입니다.

그런데 저는 세벌식으로 전향하기 전에 드보락을 쓰기 시작해서 “드보락과 두벌식”을 쓰는 특이한 경우겠습니다. 드보락을 써보니, 남들이 많이 쓰는 키배열은 아니지만, 내가 쓰기에 편하다는 걸 알았으니, 이제 세벌식을 쓰는 것도 도전해보려고 합니다.

이후 세벌식을 쓸 때도 마찬가지로 드보락과 함께 쓸 때의 문제가 있을 것이기 때문에, 애월입력기에 세벌식 기능을 추가할 예정입니다.

드보락 쓸만하던가요?

이상으로 쿼티 자판을 잘 쓰다가, 사서 고생하며 드보락 자판을 쓰고 있는 개발자가 한글 입력기를 개발하게 되기까지의 이야기를 길게 말씀드렸습니다.

과연 이렇게까지 하면서 드보락을 쓸만한 가치가 있을까요?

개인적으로 쿼티로 입력하다가 손목이 자주 피곤하던 문제가 있었고, 드보락으로 바꾸고 나아진 것 같기 때문에, 그럴만한 이득이 있다고 말씀드릴 수 있습니다. 하지만, 세상의 기본이 쿼티 자판이라서, 별도의 입력기를 찾아서 설치하는 번거로운 일들도 필요하므로 개인에 따라 선택이 다를 수 있겠습니다.

기본 영문 자판을 쓰는 데 큰 불편함이 없다면, 그저 ‘드보락이라는 키배열도 있구나!’ 정도로 넘기시고, 만약 손목의 불편함이나 어떤 문제 때문에 변화가 필요하다고 생각하신다면 한 번쯤 실험해볼 만한 키배열이라고 말씀드리고 싶습니다.

그리고, 드보락을 실험해보고자 할 때, 애월입력기도 함께 써보시면 좋겠습니다. ^^


Show your support

Clapping shows how much you appreciated 김대현’s story.