한국어 키보드의 스페이스바 양옆에 있는 한자 키와 한/영 키는 늦어도 1988년 6월에는 정부 행정전산망용 키보드에 달려 있었다. 두 키가 생긴 과정은 한/영 키와 한자 키는 언제 생겼을까에서 다뤘다. 이 글은 그 뒤의 이야기다. 두 키가 어떤 키보드에 달려 있는지, 없는 키보드에서는 무엇으로 대신하는지, 컴퓨터는 두 키를 어떻게 알아보는지, 한자 키가 실제로 하는 일은 무엇인지를 문서와 그때의 기사로 정리한다.
103키에서 106키로
두 키가 달린 키보드의 국가 표준은 1991년 6월 27일에 제정된 KS X 5003이다. 처음 번호는 KS C 5852였다. e-나라표준인증에서 볼 수 있는 1996년판과 2001년판 본문은 키보드를 86 키보드, 103 키보드, 확장 키보드 세 종류로 나누고, 그림에서 한자 키를 스페이스바 바로 왼쪽에, 한/영 키를 바로 오른쪽에 둔다. 106키라는 말은 이 표준에 없다.
윈도우 95는 키보드에 키 세 개를 더했다. 전자신문은 1995년 8월 25일 기사에서 윈도우 95를 지원하는 키보드에는 기능 키를 3개 더 달아야 하고, 세진전자와 BTC코리아가 마이크로소프트의 인증을 거쳐 7월부터 대량 생산하고 있다고 전한다. 10월 7일에는 한국팩커드벨의 컴퓨터를 두고 "윈도95 전용키인 1백6키가 장착된 제품으로는 처음 출시되는 것"이라고 적었다. 한글 윈도우 95가 판매에 들어간 1995년 11월 28일보다 7주쯤 앞선다. 그해 12월 22일의 시장 기사는 103키 대신 106키를 쓰면 편리하다고 적는다.
106키는 그 뒤로 흔한 규격이 됐다. 전자신문은 1998년 7월에 한글 106키를 "기존의 표준규격"이라고 불렀다. 하지만 KS X 5003에는 지금도 86키와 103키, 확장 키보드만 있다. 웹 표준 기구 W3C의 키 코드 문서는 한국의 103 배열을 101키 배열의 한 변형에 스페이스바 양옆의 키 두 개를 더한 것으로 설명하고, 요즘의 103 배열 키보드에는 키가 106개 있다고 적는다. 윈도우 설치 문서도 한국어 키보드 선택지 하나를 '103/106키'로 묶어 부른다.
두 키가 없는 키보드에서는
두 키가 없는 키보드를 위한 설정은 1993년의 문서에 이미 보인다. 한글 윈도우 3.1의 안내 파일(1993년 5월)은 도스용 한글 바이오스 드라이버 HBIOS.SYS에 한글 키와 한자 키를 고르는 옵션이 있다고 적는다.
| 옵션 | 한글 키 | 한자 키 |
|---|---|---|
| 1(기본값) | 오른쪽 Alt | 오른쪽 Ctrl |
| 2 | 오른쪽 Ctrl | 오른쪽 Alt |
| 3 | 103 키보드에 달린 키 | 103 키보드에 달린 키 |
| 4(84 키보드) | Alt-Shift | Ctrl-Shift |
| 5 | 86 키보드에 달린 키 | 86 키보드에 달린 키 |
| 6 | 왼쪽 Shift+Space | 왼쪽 Ctrl+Space |
같은 윈도우의 설치 파일에는 키보드 종류가 일곱 가지 들어 있다. IBM PC 84키 호환 키보드 종류 1과 2, KS 표준 86키 키보드(KSC 5852), IBM PC 101키 호환 키보드 종류 1, 2, 3, KS 표준 103키 키보드(KSC 5852)다. 종류 1, 2, 3이라는 이름은 이때부터 있었다.
한글 윈도우 95에서는 한국경제 1997년 7월 18일자에 실린 마이크로소프트 제공 안내가 남아 있다. 기본값이 'PC/AT 101키 호환 키보드(종류1)'이고, 종류 3으로 바꾸면 Shift+Space로 한글과 영문을 바꾸고 Ctrl+Space로 한자를 바꿀 수 있다는 내용이다. 윈도우 3.1에서 Shift+Space가 손에 익은 사용자가 한/영 키를 불편해한다는 말도 있다.
지금의 윈도우 설치 문서도 한국어 키보드 레이아웃 선택지를 101키 호환 키보드 종류 1, 2, 3과 103/106키 키보드로 나눈다. 이 문서는 이름만 적고 종류마다 어느 키를 쓰는지는 적지 않는다. 그 내용은 마이클 캐플런이 2012년 4월 30일 개인 블로그(당시 마이크로소프트의 블로그 서비스 MSDN Blogs에 있었다)에 실제 소스를 보고 정리했다며 올린 글에 있다. 키의 짝은 1993년의 옵션 1, 2, 6, 3과 겹친다.
| 설치 문서의 이름(줄임) | 한/영 전환 | 한자 변환 |
|---|---|---|
| 101키 종류 1 | 오른쪽 Alt | 오른쪽 Ctrl |
| 101키 종류 2 | 오른쪽 Ctrl | 오른쪽 Alt |
| 101키 종류 3 | Shift+Space | Ctrl+Space |
| 103/106키 | 한/영 키 | 한자 키 |
마이크로소프트의 한국어 입력기 안내도 오른쪽 Alt로 한글과 영문을 바꿀 수 있고 오른쪽 Ctrl로 한자 변환을 할 수 있다고 적는다. 삼성전자서비스는 한/영 키와 한자 키가 없는 자사 노트북은 해외에서 파는 모델이라고 설명하고, 그런 키보드에서는 오른쪽 Alt를 한/영 전환에, 오른쪽 Ctrl을 한자 변환에 쓰라고 안내한다. 한컴오피스 한글의 도움말은 왼쪽과 오른쪽 Shift+Space에 글자판을 넷까지 배당해 바꿔 쓰는 방법을 싣고 있다.
두 키가 보내는 신호
USB 키보드 규격에서 두 키는 한국어 입력에 쓰는 키로 따로 정의돼 있다. 규격의 사용 코드 표는 0x90(Keyboard LANG1)을 한국어 키보드의 한글/영문 전환 키로, 0x91(Keyboard LANG2)을 한자 변환 키로 적는다. 이 정의는 1999년 4월판(1.1)에 이미 있고 2026년 1월판(1.7)에도 그대로다.
예전 PS/2 방식의 코드는 문서마다 조금 다르다. 마이크로소프트의 변환 표는 한/영 키를 0xF2, 한자 키를 0xF1로 적는다. KS X 5003의 코드 표는 한자 키를 F1로 적고, 한/영 키는 세 가지 코드 체계 가운데 첫째에서 F0, 둘째와 셋째에서 F2로 적는다. 두 문서가 어긋나는 까닭은 찾지 못했다. 맨 윗줄의 F1, F2 키와는 상관없는 숫자다.
보통의 키는 누를 때와 뗄 때 신호를 한 번씩 보내는데, 이 두 키는 신호를 하나만 보낸다. 리눅스 커널의 PS/2 키보드 드라이버(atkbd)는 두 키를 따로 적어 두고, 눌렀다는 신호를 받으면 곧바로 뗀 것으로 처리한다.
일본어 키보드와도 겹친다. 마이크로소프트의 하드웨어 지침은 일부 일본어 키보드에 있는 입력기 켜기 키(ImeOn)와 끄기 키(ImeOff)가 LANG1, LANG2 코드를 보내도록 정한다. 한국어 키보드의 두 키와 같은 코드다.
맥과 리눅스에서는
| 환경 | 한글과 영문 전환 | 한자 |
|---|---|---|
| 맥(애플 문서) | Caps Lock(설정을 켰을 때), Control+Space, Control+Option+Space | Option+Return |
| 리눅스 ibus-hangul 기본값 | 한/영 키, Shift+Space | 한자 키, F9 |
| 리눅스 fcitx5(전환)와 한글 엔진(한자) 기본값 | Control+Space, 한/영 키 | 한자 키, F9 |
표에는 주요한 것만 적었다. 애플 문서에는 Fn 키나 지구본 키(설정했을 때)도 있고, fcitx5의 전환 키에는 일본어 키보드의 전각/반각 키도 들어 있다. 리눅스의 값은 각 프로젝트의 소스와 위키에 적힌 기본값이어서 배포판에 따라 다를 수 있다. 오른쪽 Alt나 오른쪽 Ctrl을 한/영 키나 한자 키로 바꿔 쓰는 옵션은 키보드 설정 모음(xkeyboard-config)에 들어 있다.
맥의 Caps Lock 전환은 맥월드가 2016년 9월 30일 기사에서 macOS 시에라에 새로 들어간 기능으로 소개했다. 시에라는 그해 9월 20일에 나왔다. 애플 문서는 이 설정이 한국어나 중국어처럼 라틴 글자가 아닌 입력 소스를 더했을 때만 보인다고 적는다.
한자 키가 하는 일
마이크로소프트의 안내에 따르면 한글로 낱말을 친 뒤 한자 변환을 고르거나 오른쪽 Ctrl을 누르고, 맞는 한자가 여럿이면 열리는 목록에서 고른다. 마이크로소프트 직원 블로그의 2007년 글(보관본)은 과정을 한 글자씩 보여 준다. '한'을 치고 한자 키나 오른쪽 Ctrl을 누르면 화면 오른쪽 아래에 후보 목록이 뜨고, 거기서 韓을 고른다. 이어서 '국'을 치고 같은 일을 되풀이하면 韓國이 된다.
한자 변환에는 F9도 자주 보인다. 1989년의 아래아한글 도움말이 그랬고 지금의 한컴오피스 한글 도움말도 '한자로 바꾸기'에 F9를 적어 둔다. 리눅스의 ibus-hangul과 fcitx 한글 엔진도 한자 키와 함께 F9를 기본값으로 둔다. 맥에서는 Option+Return을 누르면 커서 앞의 한글 가운데 가장 길게 맞는 한자로 바꿔 준다.
자음 하나를 치고 한자 키를 눌러 특수문자를 고르는 방법도 한자 키에 얹혀 있다. 1993년 5월의 마이크로소프트 한글 바이오스 프로그램(HBIOS.COM)에는 자음마다 기호를 이어 놓은 표가 들어 있다. ㄱ에는 문장 부호, ㄷ에는 수학 기호, ㄹ에는 화폐와 단위 기호, ㅁ에는 도형과 화살표, ㅂ에는 괘선 조각, ㅎ에는 그리스 글자가 붙어 있고, 같은 표가 한글 윈도우 3.1의 입력기에도 들어 있다. 마이크로소프트 한글 입력기 2002의 도움말(파일 날짜 2001년 5월)은 ㄹ을 치고 한자 키를 눌러 유로 기호를, ㅁ을 치고 한자 키를 눌러 등록 상표 기호를 넣는 법을 싣고 있다. 전체 목록을 실은 공식 문서는 찾지 못했다.
전환을 잊고 쳤을 때
한/영 상태를 잘못 둔 채 치면 엉뚱한 글자가 나온다. 두벌식 자판에서 영문 상태로 '안녕하세요'를 치면 dkssudgktpdy가 되고, 한글 상태로 영문을 치면 자모가 엉뚱하게 모인 글자가 된다. 이를 되돌려 주는 기능이 여러 곳에 있다.
- 한컴오피스 한글의 '글자판 자동 변경'은 dlqfurdmf를 '입력을'로 고치면서 글자판도 함께 바꿔 준다.
- 네이버 검색 API의 오타 변환은 spdlqj를 '네이버'로 고쳐 준다.
- 영문으로 잘못 친 글을 한글로 되돌리는 공개 프로그램도 있다. 펄 모듈 Lingua::KO::TypoCorrector와 자바스크립트 라이브러리 Inko가 그 예다.
타닥의 검색어 기록에도 xkekrxkekr가 남아 있다. 영문 상태로 '타닥타닥'을 치면 나오는 글자열이다.
정리
- 키보드 표준 KS X 5003에는 86키와 103키, 확장 키보드만 있다. 윈도우 키를 더한 106키는 1995년 가을부터 기사에 나오지만 KS에는 들어 있지 않다.
- 두 키가 없는 키보드에서는, 윈도우의 경우 고른 키보드 종류에 따라 오른쪽 Alt와 오른쪽 Ctrl, 또는 Shift+Space와 Ctrl+Space가 그 일을 대신한다. 이 설정은 1993년 문서에 이미 있다.
- USB 규격은 두 키를 LANG1, LANG2라는 이름으로 따로 정의한다. 예전 PS/2 방식에서 두 키는 신호를 하나만 보낸다.
- 맥에서는 설정에 따라 Caps Lock이나 Control+Space로, 리눅스에서는 입력기에 따라 한/영 키, Shift+Space, Control+Space로 한글과 영문을 바꾼다.
- 자음 하나와 한자 키로 특수문자를 고르는 표는 1993년의 프로그램에 이미 들어 있다. 전체 목록을 실은 공식 문서는 찾지 못했다.
참고한 자료
- 아래아한글 1.20판과 함께 남은 도움말 파일 HWP.HLP(보관 사이트 사본) — 파일 날짜 1989년 11월 27일, 한/영 전환 Shift-Space, 한자 F9
- 매일경제 1988년 6월 22일 — 행정전산망용 키보드의 한/영 키와 한자 키
- KS X 5003 개인용 컴퓨터 키보드 — e-나라표준인증 — 판마다의 고시 원문 보기
- KS X 5003 1996년판 고시 원문 — 옛 번호 KS C 5852, 세 종류, 그림의 두 키 자리, 코드 표
- KS X 5003:2001(2021년 확인) 고시 원문 — 1991년 6월 27일 제정, 현행 본문과 그림
- 전자신문 1995년 8월 25일 — 윈도우 95 지원 키보드의 기능 키 3개와 7월부터의 생산
- 전자신문 1995년 10월 7일 — 106키를 단 제품으로 처음 출시된다는 컴퓨터
- 전자신문 1995년 11월 30일 — 한글 윈도우 95가 28일 판매에 들어갔다는 보도
- 전자신문 1995년 12월 22일 — 103키 대신 106키
- 전자신문 1998년 7월 13일 — 한글 106키를 기존의 표준규격이라고 부른 기사
- W3C UI Events KeyboardEvent code Values — 한국 103 배열의 설명과 키 106개
- 한글 윈도우 3.1 README(1993년 5월, 보관 사이트 사본) — HBIOS.SYS의 한글 키와 한자 키 옵션 여섯 가지
- 한글 윈도우 3.1 SETUP.INF(1993년 5월, 보관 사이트 사본) — 키보드 종류 일곱 가지
- 한글 윈도우 3.1 HBIOS.COM(1993년 5월, 보관 사이트 사본) — 자음별 기호 표와 한자 4,888자
- 한국경제 1997년 7월 18일(마이크로소프트 제공) — 한글 윈도우 95의 기본 키보드 종류와 종류 3
- Microsoft, Windows Setup LayeredDriver 설정 — 한국어 키보드 선택지 네 가지
- Michael S. Kaplan, Sorting It All Out 2012년 4월 30일 글(보관본) — 종류 1, 2, 3과 103 배열이 쓰는 키
- Microsoft, Korean IME — 오른쪽 Alt로 전환, 오른쪽 Ctrl로 한자 변환
- 삼성전자서비스, 노트북 키보드에 한영 버튼과 한자 버튼이 없어요 — 두 키가 없는 모델과 대신 쓰는 키
- 한컴 도움말: 글자판 — Shift+Space에 글자판을 배당하는 방법
- 한컴 도움말: 한자로 바꾸기 — F9
- USB HID Usage Tables 1.7 (usb.org) — Keyboard LANG1과 LANG2의 정의(2026년 1월판)
- USB HID Usage Tables 1.1 사본 — 같은 정의가 실린 1999년 4월판
- Microsoft, USB HID to PS/2 Scan Code Translation Table — 한/영 키 F2, 한자 키 F1, 떼는 코드 없음
- 리눅스 커널 atkbd.c — 두 키의 코드와, 누른 직후 뗀 것으로 처리하는 목록
- Microsoft, Keyboard Japan - ImeOn / ImeOff Implementation — 일본어 키보드의 입력기 켜기·끄기 키가 보내는 LANG1, LANG2
- Apple, Mac 사용 설명서: 입력 소스 전환 — Caps Lock 키로 전환하는 설정
- Apple, 한국어 입력기 사용 설명서 — 전환 단축키와 Option-Return 한자 변환
- Macworld 2016년 9월 30일 기사 — 시에라에 들어간 Caps Lock 전환
- Apple Newsroom, macOS Sierra now available as a free update — 2016년 9월 20일 출시
- ibus-hangul 설정 기본값 — 전환 키와 한자 키의 기본값
- fcitx5 globalconfig.cpp — 입력기 전환 키의 기본값
- fcitx 위키: Hangul — 한글 엔진의 한자 키 기본값
- xkeyboard-config 설명서 — 오른쪽 Alt·Ctrl을 한/영 키나 한자 키로 쓰는 옵션
- Microsoft 직원 블로그 보관본, Using Korean IME (2007) — 한자 키를 눌러 후보 목록에서 고르는 과정
- 마이크로소프트 한글 입력기 2002 도움말(2001년 5월, 보관 사이트 사본) — ㄹ, ㅁ과 한자 키로 유로 기호와 등록 상표 기호를 넣는 법
- 한컴 도움말: 글자판 자동 변경 — 잘못된 글자판으로 친 글을 고치는 기능과 예
- 네이버 검색 오타 변환 API 문서 — spdlqj를 네이버로 바꾸는 예
- Lingua::KO::TypoCorrector (MetaCPAN) — dkssudgktpdy를 안녕하세요로 바꾸는 예
- Inko (GitHub) — 영문과 한글을 서로 바꾸는 라이브러리