한글 자판/세벌식 자판

세벌식 3-90과 최종을 혼합하고 특수문자를 추가한 세벌식 배열 + 캡스락을 자동으로 꺼주는 오토핫키 스크립트

DS1TPT 2021. 3. 29. 15:14

※ 아주 거창하게 새로운 세벌식을 제안하는 게 아니라 제가 편하게 쓰려고 조금 개조한 배열을 공유하는 것입니다

 세벌식 3-90 자판은 영문 자판의 기호를 넣기에는 편리하나 일부 겹밭침이 없고 ㅈ 받침이 너무 멀리 있다는 문제가 있고, 최종 자판은 반대로 모든 한글 자모를 손쉽게 입력할 수 있지만 영문 자판의 기호가 다 들어있지 않아 한영 전환을 해야 하는 등의 문제점이 있어서 제 나름대로 배열을 조금 수정해봤습니다.  캡스락을 사용하는 배열이며, 캡스락이 자동으로 꺼지는 오토핫키 스크립트를 글 맨 아래에 적어놨습니다.

 

세벌식 3-90 배열도
세벌식 최종(공병우 최종) 배열도
혼합한 배열
줄표, 가운뎃점을 제외하고 특수문자를 뺀 배열도

 

 두 자판을 혼합한 자판 배열입니다. 자판 배열도에서 왼쪽 아래는 기본 아랫글쇠, 왼쪽 위는 윗글쇠, 오른쪽 아래는 캡스락을 키고 쉬프트를 누르지 않은 상태에서 입력되는 특수문자입니다. 한글 입력 부분은 공병우 최종 자판과 동일합니다. 기호 입력과 숫자 입력 부분은 3-90의 방식을 채용했습니다. 하지만 겹받침으로 인해 윗글쇠를 사용해서 넣을 수 없는 문자들이 존재합니다. 이러한 문자들은 모두 한글 입력 시 사용되지 않는 캡스락 키를 활용하는 방법으로 칠 수 있도록 하여 모든 쿼티 배열의 특수문자들을 입력할 수 있습니다. 쿼티의 @부터 *까지는 캡스락으로 입력합니다. 한국어 문장부호는 오른손으로 치게 되어있고, 왼쪽에는 화살표와 기타 특수부호들이 배치되어 있습니다. 오토핫키라는 프로그램을 이용하면 캡스락이 특수문자 입력 후 자동으로 꺼지게 할 수도 있어 캡스락을 다시 꺼야한다는 단점이 사라집니다. 다만, 이 방법은 새 프로그램을 설치해야 한다는 문제점이 있습니다. 오토핫키 스크립트는 글 마지막에 첨부했습니다.

 원화기호 ₩는 한글 폰트로 백슬래시를 입력하는 경우 반각 원화기호가 나오게 됩니다. 하지만 영문 폰트는 백슬래시, 일본어 폰트로는 엔화 기호가 나오는 등의 문제가 있어 전각 원화기호를 입력할 수 있도록 했습니다. 마찬가지의 이유로 한글 폰트를 사용하면서 백슬래시를 표시해야 하는 경우가 있을 수 있으므로 전각 백슬래시 기호를 넣었습니다. 세로쓰기를 할 일은 거의 없지만 모점과 고리점도 추가 했습니다. 열고 닫는 따옴표와 낫표, 화살괄호 등의 문장부호도 넣었습니다.

 캡스락이 켜진 상태에서 쉬프트 키를 누르면 배열도 상 왼쪽 상단의 윗글쇠가 입력됩니다. 특수문자와 숫자를 번갈아 넣어야 하는 경우 쉬프트 키를 이용할 수 있습니다.

 이 배열은 1995년 김창용 씨가 제안했던 세벌식 개선 제안안과 매우 흡사합니다(참고 링크: pat.im/963). 김창용 씨의 제안안도 390과 391을 혼합한 모양새입니다. 차이점이 있다면, 김창용 씨의 배열은 @부터 %까지를 입력할 수 없고, ^,&,*는 쉬프트를 이용하여 입력하는 점이 있습니다. 반면 제 자판 배열은 캡스락을 적극적으로 활용하는 것에 주안점을 두었습니다. 캡스락은 한글 입력에 개입하지 않는 키이기 때문에 많은 표준 두벌식 및 세벌식 사용자들이 캡스락의 위치에 왼쪽 컨트롤 키를 매핑하여 쓰고 있습니다. 이렇게 놀고 있는 캡스락을 활용하는 것 만으로도 한글 자판에서 입력할 수 있는 글자 수가 크게 늘어납니다. 캡스락을 사용하는 배열을 쓰고계신 분들이라면 케케묵은 이야기겠지만요.

 첫가끝 갈마들이가 적용되지 않은 순수한 공병우 세벌식 최종의 한글 배열을 따르고 있기 때문에 기존 세벌식 3-90또는 최종 배열을 사용하시는 분들은 무리 없이 적응하실 수 있을 것이라고 생각합니다.

 

세벌식 390 391 혼합 캡스락.ist
0.00MB

 

 날개셋 입력기 설정 파일입니다. 필요하신 분들은 편하게 사용하셨으면 합니다.
 캡스락을 켰다 껐다 하는게 불편하신 분들은 오토핫키를 이용하셔서 아무 키나 누르면 특수문자가 입력된 직후 캡스락이 자동으로 꺼지게 설정하실 수 있습니다. 이렇게 하면 귀찮게 캡스락을 다시 끌 필요가 없습니다. 영문과 한글 입력을 구분하지 않으므로 영문 입력 시에도 캡스락은 자동으로 꺼집니다.

 아래는 캡스락이 자동으로 꺼지게 하는 오토핫키 스크립트입니다. 당연하지만 오토핫키라는 프로그램이 필요합니다.

 첫 번째 스크립트는 캡스락을 누른 후 첫 번째 문자 입력까지는 3초간 자기유지를 합니다. 3초가 지났으며 캡스락이 키가 눌린 상태가 아닌 경우 캡스락을 끕니다. 첫 번째 문자 입력만 자기유지를 하며, 두 번째 입력부터는 캡스락을 때면 바로 캡스락이 꺼집니다.

 두 번째 스크립트는 캡스락이 쉬프트 키처럼 기능하는 스크립트입니다. 캡스락은 자기유지를 하지 않고 때는 즉시 캡스락이 꺼집니다.

 오토핫키를 다운받으신 후 autohotkey script를 새로 만듭니다. 그 다음 아래 코드를 복사하시고, 컴파일 해주신 다음 시작 프로그램으로 등록 후 실행해주시면 됩니다. 숨겨진 아이콘에 오토핫키 로고가 있는 프로그램이 실행 중이면 다 된 것입니다. 아이콘을 우클릭하면 실행을 잠시 중단하거나 종료하실 수 있습니다.

 

자기유지 스크립트

#NoEnv   ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

#SingleInstance Force
#InstallKeybdHook

SetCapsLockState, Off ;캡스락 초기화(꺼짐)

CapsLock::
GetKeyState, CapsState, CapsLock, T ; 캡스락 토글 상태를 읽어옴
if (CapsState = "U") {
SetCapsLockState, On ; 캡스락 켜기
Input, SingleKey, V L1 T3 ; 문자를 하나 입력받음. 길이 제한 1. 3초 경과시 입력을 받지 않고 다음 명령을 실행
while 1 { ; 무한 반복문. 캡스락을 누르는 동안 캡스락이 켜진 상태를 유지함.
if GetKeyState("CapsLock", "P") = 0 {
break ; 캡스락 키를 땐 경우 반복문 탈출
}
}
SetCapsLockState, Off ; 캡스락을 끔
}
return

 

자기유지가 없는 스크립트

#NoEnv   ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

#SingleInstance Force
#InstallKeybdHook

SetCapsLockState, Off ;캡스락 초기화(꺼짐)

CapsLock::
GetKeyState, CapsState, CapsLock, T ; 캡스락 토글 상태를 읽어옴
if (CapsState = "U") {
SetCapsLockState, On ; 캡스락 켜기
while 1 { ; 무한 반복문. 캡스락을 누르는 동안 캡스락이 켜진 상태를 유지함.
if GetKeyState("CapsLock", "P") = 0 {
break ; 캡스락 키를 땐 경우 반복문 탈출
}
}
SetCapsLockState, Off ; 캡스락을 끔
}
return