최근 수정 시각 : 2024-06-17 20:35:39

알트 입력법


1. 개요2. 역사3. 사용법
3.1. 원칙적인 입력법(코드페이지 이용)
3.1.1. 한국어 운영체제의 경우3.1.2. 영어 운영체제의 경우
3.2. 유니코드 이용 입력법
3.2.1. 사용 준비3.2.2. 입력 방법3.2.3. 유용한 코드의 보기
4. 기타

1. 개요

Alt code

알트 키텐키를 이용하여 문자(특히 키보드에 없는 특수문자)를 입력하는 방식. 키보드에 할당되지 않은 문자를 입력하는 데 유용하며, 종종 유일한 방법이 된다. 영어로 ‘Alt code’라는 표현이 쓰이는데, 이 표현이 추상적인 문자 입력 방식 자체를 일컫는 것인지, 그 방식을 이용하기 위한 키 시퀀스를 일컫는 것인지 명확하지 않다. 문서를 만들어 설명할 만한 것은 전자이므로, 항목명을 “알트 입력법”으로 하였다.

2. 역사

이 기능은 IBM PC가 그 시초라고 한다.[1] IBM PC에서 알트 키를 누른 채로 십진법으로 숫자를 입력하면, 시스템 바이오스는 대응하는 코드를 키보드 버퍼에 넣는다. 다시 말하면, 이 바이오스로 문자를 입력받는 소프트웨어 입장에서는 어떤 키를 하나 띡 누른 결과 그 코드가 입력된 것인 양 인식한다. 따라서 소프트웨어는 이를 코드페이지에 따라 변환한 문자를 화면에 출력하는데, 이것이 알트 입력법의 기초가 되었다. 이 때 코드페이지는 다른 소프트웨어가 없는 한 하드웨어 코드페이지, 즉 다름아닌 코드페이지 437( 아스키 코드가 아니다)이다. 이후 도스 등의 운영체제가 쓰이게 되면서 알트 입력법은 좀 더 대중화된다.

윈도우로 넘어오면서 코드페이지 Windows-1252(서유럽어) 등 이른바 ANSI 코드페이지들이 사용되기 시작했지만, 도스 시절의 코드값이 워낙 널리 알려진 탓에 알트 입력법에서만큼은 원칙적으로 옛날 코드페이지(즉 코드페이지 437)를 고수하게 된다. 그러나 위 ANSI 코드페이지나 유니코드를 이용한 입력 역시, 후술하듯 약간의 우회를 요하나, 허용하고 있다.

마이크로소프트 외의 운영체제 중, macOS에서는 Alt키 대신 존재하는 옵션키를 이용해 입력할 수 있다. 다만 이 문서에서 설명하는 알트 입력법은 아니고, 그냥 특수문자 키보드이다. 예를 들어서 두벌식 키보드 설정에서 Option + ㅁ 를 입력한다면 해당하는 알파벳인 a 가 입력된다. 다만 한글 키보드에서 이런 식으로 영문을 입력하다가 오타가 발생해 delete키(윈도우의 백스페이스키)를 눌러버릴 경우에는 한 문단이 통삭되어 버리는 단축키가 되니 주의 바람. 물론 이럴 경우 Command + Z 로 되돌리기가 가능하다.
영문 키보드에서 Option + a 를 누를 경우에는 å 가 입력되고, b의 경우 ∫ 가, c의 경우 ≈ 가 입력된다.

3. 사용법

알트 키를 누른 로, 입력하려는 문자에 해당하는 값을 누른 다음, 알트 키에서 손을 떼면 된다.
예) [Alt]를 누른 채로, 숫자키패드[2]의 [1] [3] [3]을 차례로 누른 다음, 알트키에서 손을 뗀다.
이렇게 하면 코드 133에 해당하는 문자가 나타나는데(한국어 운영체제에서는 말줄임표(…, U+2026)), 이를 줄여서 Alt+133과 같이 표기한다.
‘해당하는 값’은 아스키 코드라고 흔히 잘못 알려져 있는데, 전술했듯 원칙적으로 현재 코드페이지에서의 값이고,[3] 유니코드를 이용하는 것도 가능하다.
어느 쪽을 이용 하느냐에 따라 입력방식이 다소 다르다.

3.1. 원칙적인 입력법(코드페이지 이용)

알트 키를 누른 채로, 입력하려는 문자에 해당하는 코드페이지에서의 값을 숫자키패드를 이용하여 10진법으로 입력한다.
코드페이지는 언어에 따라 다르다.
예) Alt+133 → … (U+2026)

3.1.1. 한국어 운영체제의 경우

한국어 윈도우의 경우 원칙적으로 코드페이지 949를 따른다. 코드페이지 949 일람[4] 그러나 일부 코드는 Windows-1252를 따른다. 구체적으로 아래와 같다.
  • 0x00~0x1F는 다음 아홉 개 외에는 입력되지 않는다.
    • 0x08, 0x09, 0x0A, 0x0D, 0x16, 0x1A, 0x1B, 0x1E, 0x1F.
  • 0x80~0xFE는 Windows-1252를 따른다.[5] 따라서 후술하는 영어 운영체제의 경우에 0을 붙여야 하는 경우라도 0을 붙일 필요가 없다.
    • 단, Windows 11, 22H2(22621) 이후 버전의 신규 IME부터는 CP437을 따른다, 0으로 시작해야 Windows-1252를 따름.
    • 그런데 아래아한글에서는 왠지 0x89(‰, U+2030)와 0x91(‹, U+2039)이 각각 숫자 0과 9로 입력된다.
  • 코드가 할당되지 않은 값을 입력한 경우
    • 0x0100과 0x7FFF 사이의 값을 입력한 경우, 첫 바이트(16진수 두 자리)의 값에 따라 작동한다.

      • 예) Alt+12345 = 0x3039 ⇒ 0x30 = 0
    • 65535(0xFFFF)보다 큰 값을 입력한 경우, 65536(0x10000)으로 나눈 나머지(즉, 마지막 두 바이트)에 따라 작동한다.

      • 예) Alt+123123 = 0x1E0F3 ⇒ 0xE0F3 = 姓[6]
    • 위 두 가지 중 어느 하나에도 해당하지 않는 경우[7] 물음표(?, U+003F)가 입력되는 듯하다.
3.1.1.1. 예시
파일:상세 내용 아이콘.svg   자세한 내용은 알트 입력법/예시 문서
번 문단을
부분을
참고하십시오.

3.1.2. 영어 운영체제의 경우

영어 윈도우의 경우 원칙적으로 코드페이지 437(소위 OEM 코드페이지)를 따른다.
예) Alt+161 → í (Latin small letter I with acute, U+00ED)
* 다만, 0으로 시작하는 코드의 경우 Windows-1252(소위 ANSI 코드페이지)를 따른다. 링크 참조.
예) Alt+0161 → ¡ (Inverted exclamation mark, U+00A1)

3.2. 유니코드 이용 입력법

유니코드 번호는 16진법으로 되어 있으므로 이를 직접 계산하거나 이 링크와 같은 곳을 통해 10진수로 바꾼 다음 위 방법대로 하면 된다.
또는 엑셀에서 HEX2DEC 함수를 이용해도 된다. =HEX2DEC("14B") 의 값은 331.

이것이 번거롭다면 먼저 준비가 필요하다.

3.2.1. 사용 준비

시스템 레지스트리를 건드려야 한다. 익숙하지 않을 경우, 시도하지 않는 것을 권장한다.
  • 실행(Win+R) 창에 regedit 입력. 레지스트리 편집기 창이 뜬다.
  • HKEY\_CURRENT\_USER\\Control Panel\\Input Method 아래에 EnableHexNumpad라는 을 REG_SZ 형식으로 새로 만든다. 가끔 를 새로 만들라는 문서가 있는데, 잘못된 것이다. 키가 아니고 값이다. 참고로 폴더처럼 생긴 게 ‘키’, 파일처럼 생긴 게 ‘값’. 사실 편집(E)>새로 만들기(N)>문자열 값(S) 하면 된다.
  • 값 데이터는 1을 넣는다.
  • 로그오프한 후 다시 로그온한다. 혹은 재부팅한다.

3.2.2. 입력 방법

알트 키를 누른 채로 숫자키패드의 +버튼을 누른 다음 입력 하려는 문자의 유니코드 값을 16진법으로 입력한다.
예) Alt+\[+\]\[2\]\[0\]\[1\]\[3\] → – (En Dash, U+2013)

16진법으로 입력할 때에, 0~9의 자릿수는 숫자 키 패드로 입력하고 A~F의 자릿수는 대소문자 관계없이 일반 키보드로 입력하면 된다.

키 시퀀스를 나타내는 표준적인 표기법은 없는 듯하다.Alt++2013으로 적긴 뭣하고 C++? 아래에서는 Alt+\[+\]2013과 같이 표기한다.[8]

3.2.3. 유용한 코드의 보기

문자 코드 다른 입력법 사용처
ŋ Alt+\[+\]14B ㄲ+한자+PgDn×2+8 국제음성기호
Ŋ Alt+\[+\]14A ㄲ+한자+PgDn+2
œ Alt+\[+\]153 ㄲ+한자+PgDn×2+4
ʃ Alt+\[+\]283 -
ʒ Alt+\[+\]292
ː Alt+\[+\]2D0

( En dash)
Alt+\[+\]2013 - 문장부호

( Em dash)
Alt+\[+\]2014

(퍼밀리아드
([math(×1/10000)]))
Alt+\[+\]2031 - 수학 기호

( 파리할 망)
Alt+[+\]5940 - 한자
Alt+\[+\]F8FF - 특수문자

4. 기타

ELECOM 사의 일부 외장형 텐키패드의 경우 텐키리스[9] 노트북과 함께 사용하기 위해 키가 눌리면 Num Lock을 켜고 뗄 때 끄는 방식을 사용하는데, 이렇게 되면 코드 입력 시퀀스 사이에 Num Lock 신호가 끼어들어서 코드를 제대로 입력할 수 없다. 예를 들어 Alt+177이라면 [Alt][1][7][7]순으로 입력되어야 하는데 [Alt][NumLock][1][NumLock][NumLock][7][NumLock][NumLock][7][NumLock] 순으로 입력되면서 의미없는 코드가 되는 것.

Alt 키와 숫자 키가 같은 키보드에 있어야 동작한다. 풀사이즈 키보드라면 큰 문제가 없지만, 텐키리스 키보드를 사용하는 경우 키보드 자체에서 리매핑을 지원하거나 텐키패드 쪽에 Alt 키가 없다면 사용할 수 없다.

Windows 11 OS 빌드 22621 이후 코드가 CP437(Code page 437)으로 변경되어 기존 알트 입력법/예시표를 활용할 때 주의가 필요하다. CP437 코드 기존 Windows-1252 기반 코드를 입력할 때는 영문 IME처럼 0으로 시작해야한다. (Alt+161 → Alt+0161)


[1] http://en.wikipedia.org/wiki/Alt_code 참조. [2] 키보드의 숫자는 안 된다. 별도 키패드 값이어야 한다. [3] 물론 웬만한 코드페이지는 0x20~0x7E에서 아스키 코드와 일치한다. [4] 엑셀에서 CODE 함수를 사용하면 코드페이지 949에서의 코드값을 알 수 있다. [5] 참고로 코드페이지 949과 Windows-1252는 0x00~0x7F에서 일치한다. 궁극적으로는 0x00~0x7E에서 아스키 코드와 일치. [6] 링크 참조. [7] 예를 들어 65536으로 나눈 나머지가 0x{80~FF}{00~3F}인 코드 등. [8] < > 기호는 파일명 등에서 제한이 있으니, [ \]를 써서 일반 10진법 입력은 [ \], 유니코드 16진법 입력은 [+ \]와 같이 쓸 수도 있을 듯하다. 이에 따르면 '…'의 경우 Alt[133\]으로¸ '。'의 경우 Alt[+FF61\]으로 표기 가능하다. [9] 정확히는 Num Lock이 켜져 있으면 문자 입력부의 7, 8, 9열을 텐키로 사용하는 방식