웹에서 맛보는 모아치기 세벌식 자판 (온라인 한글 입력기)

차례

1. 모아치기 자판에 필요한 요소

(1) 모아치기와 모아주기

  닿소리 한 벌과 홀소리 한 벌만을 가려 넣는 두벌식 자판과 달리, 세벌식 자판은 닿소리를 두 벌(첫소리, 끝소리)로 나누어 넣는다. 그래서 세벌식 자판을 쓴다면 첫소리와 끝소리의 어긋난 차례를 바로잡을 수도 있고, 일부러 차례를 어긋나게 하여 특수한 조합을 만들 수도 있다. 모아주기와 모아치기는 그런 세벌식 자판의 특성을 이용한 기능 또는 입력 방법이다.

  모아주기는 'ᅟᅡ + ᄒᅠ + ᅟᅠᆫ → 한'처럼 낱자 차례가 어긋나게 들어온 것을 알아서 바로잡아 주는 한글 입력기의 기능이다. 모아주기는 모아치기 자판에 반드시 들어가는 기능이고, 공세벌식 자판처럼 한 글쇠씩 이어서 치는 세벌식 자판에서도 응용 기능으로 쓰인다.주1

모아치기 하는 예 (세모이 2015 자판, 온라인 한글 입력기)
모아치기를 하는 예 (세모이 2015 자판)

  모아치기는 여러 글쇠를 함께 눌러서 글을 넣는 방법이다. 세벌식 자판의 모아치기는 보통 한 번에 한 낱내(음절)씩 넣는 것을 가리키고, 낱내를 두 번에 부분 모아치기(나눠치기)주2를 할 수도 있다.주3 주4 한 글쇠를 눌러서 낱자 하나를 넣는 일반 입력 방식과 달리, 모아치기를 하면 한꺼번에 둘 이상의 낱자를 넣을 수 있고, 어긋난 한글 조합을 줄여넣기(약법) 조합으로 써서 낱말이나 문장을 한꺼번에 넣을 수도 있다. 의회, 법원, 방송국 등에서 속기사들이 일반 자판보다 적은 글쇠를 눌러 사람이 하는 말을 받아 적을 만큼 빠르게 글을 넣는 것은 모아치기 원리 덕분이다.

(2) 모아치기에 더 필요한 요소

  모아치기 자판을 제대로 쓰려면 다음 요소들까지 뒷받쳐 주어야 한다.

  • 모아치기에 맞는 한글 입력기의 한글 처리 기능
  • 글쇠판의 글쇠 인식 기능 : 많은 글쇠가 함께 눌린 것을 정확히 알아차림
  • 글쇠판 짜임새 : 모아치기를 하기 좋은 꼴로 글쇠들이 놓임
  • 자판 배열 : 모아치기를 하기 알맞음, 줄여넣기 조합을 쓰기 좋음

  모아치기 자판에서는 앞에서 이야기한 모아주기 기능보다 더욱 복잡한 한글 처리 과정을 거친다. 여기에 줄여넣기 조합 기능까지 더해지면 모아치기 자판으로 글을 넣는 속도를 더욱 높일 수 있다.

  요즈음 쓰이는 글쇠판(키보드)들 가운데는 여러 글쇠들을 함께 눌린 상태를 전달하지 못하는 제품이 꽤 있다. 누르는 글쇠 조합에 따라 잘 들어가는 조합과 그렇지 않은 조합이 있을 수 있고, 가장 많이 누를 수 있는 글쇠 수도 제품마다 다르다. 전용 글쇠판을 쓰는 속기 자판은 신경 쓸 필요가 없는 문제이지만, 일반 글쇠판으로 쓰는 모아치기 자판 배열을 다루려면 되도록 많은 글쇠를 함께 누를 수 있는 글쇠판을 고를 필요가 있다. 요즈음은 놀이(게임) 시장까지 겨냥하여 많은 글쇠가 함께 누를 수 있는 제품이 나오고 있어서, 함께 누를 수 있는 글쇠 수가 많은 제품을 찾기는 더 쉬워졌다.

  직업용으로 쓰이는 속기 자판들은 글쇠들이 독특하게 놓인 글쇠판으로 쓰이고 있고, 일반 글쇠판과 다르게 인체 공학을 헤아린 모습으로 글쇠들을 놓은 제품도 있다. 이런 제품들은 값이 비싸거나 다른 나라에서 드물게 나오는 제품이 많아서, 일반인이 널리 쓰기는 어렵다.

  안마태 소리 글판모아치기 2015 자판은 일반 글쇠판을 쓰는 모아치기 자판이다. 하지만 일반 글쇠판은 왼손 쪽 글쇠들이 쓰기 치기 불편하게 놓여 있고 첫째 손가락(엄지)을 쓰기도 좋지 않다. 그래서 전문 제품으로 나오는 속기 자판만큼 부드러운 손놀림으로 높은 타자 속도는 바라기 어렵다. 그 대신에 기계값을 많이 들이지 않고 모아치기 자판을 쓸 수 있다.

 

2. 모아치기 자판을 구현하는 작동 원리

(1) 모아치기에 따른 글쇠 처리 과정

  온라인 한글 입력기는 본래 이호석님이 자바스크립트로 개발한 간이 웹 입력기인데, 글쓴이는 이 입력기에 더 많은 배열과 기능을 덧붙여서 한글 자판 배열들을 실험하고 널리 보여 주는 도구로 쓰고 있다.

  자바스크립트에서 글쇠를 눌렀다 떼이는 일거리(이벤트, 웹 누비개를 쓰는 사람의 행동)가 생기면, 다음 자바스크립트 객체의 속성이 가리키는 일거리 다루개(event handler, 일거리 처리 함수)가 차례로 실행된다.

  • onkeydown : 글쇠를 눌렀을 때 (일반 글쇠와  특수 글쇠 모두)
  • onkeypress : 일반 문자를 넣는 글쇠를 눌렀을 때
  • onkeyup : 글쇠를 떼었을 때

  keydown 일거리 다루개에서는 특수 글쇠(윗글쇠, F5 따위)가 눌린 것까지 처리할 수 있어서 웹 입력기를 세밀하게 조작하기 좋다. 하지만 글쇠가 오래 눌려서 짧은 간격으로 잇달아 같은 문자가 들어가면 keydown 다루개로 건네지지 않고 keypress 다루개에는 건네진다.주5 그래서 한 글쇠가 오래 눌렸을 때에 keydown 다루개로 눌린 글쇠 수를 셈하기 어려우므로, 온라인 한글 입력기에서는 일반 글쇠로 들어오는 문자 정보를 keypress 일거리 다루개(ohiKeypress)를 통하여 처리하고 있다.

  몇 글쇠가 눌려 있고 글쇠들이 언제 모두 떼이는지는 모아치기를 할 때에 꼭 필요한 정보이다. 온라인 한글 입력기에서는 keypress 일거리 다루개에서 눌린 글쇠수를 더해 가고 keyup 일거리 다루개에서 떼인 글쇠 수를 빼 가는 방법으로 눌린 글쇠 수를 셈한다. 눌린 글쇠들이 모두 떼였을 때에 그 때까지 눌린 글쇠들에 따라 글이 들어간다.

  keyup 처리를 따로 하지 않는 이어치기 방식 한글 입력기로도 한글 조합을 저절로 끊는 시간을 두면 모아치기 자판을 쓸 수 있다. 하지만 한글 조합을 끊는 시간을 타자 속도에 알맞게 잡아야 하는 점이 어렵다. 조합을 끊는 시간을 너무 짧게 잡으면 초보자가 천천히 연습하기 어렵고, 부분 모아치기(나눠치기)를 하기도 어렵다. 너무 길게 잡으면 숙련자가 글을 빨리 넣기 어렵다. 거꾸로 초보자에 맞추면, 숙련자는 한글을 조합하는 시간이 너무 길어서 빨리 치기 어렵다.

  그래서 실무에 쓰이는 속기 자판들은 글쇠가 모두 떼였을 때에 글(또는 낱자들)이 들어가는 방식을 쓴다. 그러면 초보자와 숙련자가 같은 설정값으로 모아치기 자판을 쓸 수 있고, 부분 모아치기(나눠치기)도 할 수 있다.

(2) 모아치기에 맞춘 한글 조합 규칙

  한글 입력기가 한글 낱자들을 조합하는 것을 다음처럼 두 가지 경우로 나누어 생각해 볼 수 있다.

  • 벌이 다른 낱자들을 합침 : ᄀᅠ+ᅟᅡ+ᅟᅠᆫ → 간
  • 벌이 같은 낱자들을 합침 : ㄱ+ㄱ → ㄲ 또는+ㅏ → ㅘ

  벌이 다른 낱자들을 조합하는 기능은 주로 모아주기(낱자 순서 자동 교정)와 관련이 있다. 날개셋에서는 '오토마타'라는 항목에서 바꿀 수 있고, libhangul을 바탕으로 하는 입력기들도 설정 화면에 관련 항목을 두기도 한다.

  벌이 같은 낱자들은 대개 개발자나 사용자가 지정한 조합표에 따라 조합되곤 한다.온라인 한글 입력기에서는 libhangul에서 쓰이는 조합표 형식과 같이 다음과 같은 꼴로 조합 규칙(결합 규칙)을 넣을 수 있다.

hangeul_combination_table = [
[0x11001100, 0x1101], /* 첫소리 ㄱ + ㄱ = ㄲ */
[0x11691161, 0x116a] /* 가운뎃소리 ㅗ + ㅏ = ㅘ */
];

  위에 들어간 조합 규칙을 따른다면, ㅗ(0x1169) 다음에 ㅏ(0x1161)가 들어오면 ㅗ와 ㅏ가 ㅘ(0x116a)로 바뀌어 들어간다. 이와 같은 조합 형식은 낱자를 하나씩 쳐 나가는 이어치기 방식에 알맞다.

  모아치기 자판에서는 모아주기 때문에 거꿀차례 조합이 필요하다. 그래서 모아치기 자판의 조합 규칙을 이어치기로 쓰던 것에 맞추어 만든다면, 조합 수가 배로 늘어난다.

  • ㅗ+ㅏ → ㅘ
  • ㅏ+ㅗ → ㅘ

  한글 낱자 수를 줄인 배열에서는 3타 겹낱자 조합이 필요할 수도 있다. 이어치기에 맞는 방식으로 'ㅙ'를 3타에 넣는 조합을 넣는다면, 다음처럼 조합 규칙이 6개까지 늘어날 수 있다.

  • ㅗ+ㅏ+ㅣ → ㅙ
  • ㅗ+ㅣ+ㅏ → ㅙ
  • ㅏ+ㅗ+ㅣ → ㅙ
  • ㅏ+ㅣ+ㅗ → ㅙ
  • ㅣ+ㅗ+ㅏ → ㅙ
  • ㅣ+ㅏ+ㅗ → ㅙ

  이렇게 조합 규칙의 수가 늘면, 잘못 들어간 규칙을 얼른 찾기 어렵고 자바스크립트 파일 크기도 늘어난다. 그래서 온라인 한글 입력기에 여러 낱자를 조합할 수 있는 모아치기 조합 규칙 형식을 새로 마련하였다. (아래 조합 규칙 코드는 additional_layouts.js에 있다.)

K3_Moachigi_2015_combination_table = [
{phonemes: [0x1169,0x1161,0x1175], char: 0x116a}, /* 가운뎃소리 ㅗ+ㅏ+ㅣ= ㅙ */
{phonemes: [0x1169,0x1161], char: 0x116a}, /* 가운뎃소리 ㅗ+ㅏ = ㅘ */
{phonemes: [0x116a,0x1175], char: 0x116b}, /* 가운뎃소리 ㅘ+ㅣ= ㅙ */
];

  낱자 조합 규칙은 윗줄에 들어간 것이 먼저 적용되므로, 세 낱자 조합을 두 낱자 조합보다 먼저 넣는다. 이런 형식으로 조합 규칙을 넣고 입력기의 처리 함수에서 들어온 낱자 차례를 따지지 않고 겹낱자를 조합하게 하면, 모아주기 효과를 함께 낼 수 있다. 적어도 한 낱내씩 모아치기로 한꺼번에 넣는다면 위의 예에서 'ㅘ+ㅣ→ㅙ' 규칙은 없어도 되겠지만, 모아치기 자판을 이어치기 방식으로 쓰거나 부분 모아치기(나눠치기)를 할 수 있게 하려고 조합 규칙을 더 넣었다.

 

(3) 줄여넣기

  첫소리·가운뎃소리·끝소리를 한꺼번에 넣는 것은 세벌식 모아치기의 기본이다. 하지만 이것만으로는 모아치기 자판으로 받아쓰기를 할 만큼 빠른 속도를 꾸준히 내기는 어렵다. 속기 자판에서는 오타가 아니면 요즘한글에 나타나지 않는 한글 조합을 줄여넣기(약법) 조합으로 써서 낱말, 문장을 한꺼번에 넣는다.

1) 글쇠를 기준으로 하는 줄여넣기 규칙

  온라인 한글 입력기에서는 다음과 같은 형식으로 글쇠 기준으로 줄여넣기 조합 규칙을 넣을 수 있다. 다음은 신세기님의 세벌식 모아치기 2015 자판에 시험 삼아 넣어 본 줄여넣기 조합의 예이다. (이 예는 글쓴이가 읽는 이의 이해를 도우려고 시험 삼아 만들어 넣은 것이고, 아직 실제 자판 배열에 정식으로 들어간 규칙은 아니다.)

K3_multikey_combination_table = [
{keys: ['u','w'], chars: [0x11b8,0x1102,0x1175,0x1103,0x1161]}, /* ㅂ니다 */
{keys: ['j','w'], chars: [0x110b,0x1175,0x11b8,0x1102,0x1175,0x1103,0x1161]}, /* 입니다 */
{keys: ['n','l','s'], chars: [0x1112,0x1161,0x110c,0x1175,0x1106,0x1161,0x11ab]} /* 하지만 */
];

  영문 쿼티 자판을 기준으로 keys에 들어간 글쇠들을 누르면, chars 배열에 들어간 문자들이 차례로 들어간다. 위의 예를 한글 낱자를 기준으로 정리해 보면 다음과 같다.

  • 끝소리 ㅂ + 첫소리 ㄴ → ᅟᅠᆸ니다
  • 첫소리 ㅇ + 끝소리 ㅂ → 입니다
  • 첫소리 ㅎ + 첫소리 ㅈ + 끝소리 ㄴ → 하지만

  이 줄여넣기 조합 규칙은 글쇠 조합이 맞으면 다른 한글 조합 규칙보다 먼저 적용된다.

모아치기 자판의 줄여넣기  (시험) (ㅂ니다, 입니다, 하지만)
모아치기 자판의 줄여넣기 예

  (앞선 판의 온라인 한글 입력기에서는 적어도 한 낱내씩 모아치기로 글을 넣는다고 가정하고 글이 들어간 다음에는 언제나 한글 조합을 끊었다. 하지만 받침으로 시작하는 씨끝(어미)을 줄여넣기로 넣을 때는 부분 모아치기(나눠치기)를 할 필요가 있으므로, 한글 조합을 되도록 끊지 않도록 바꾸었다.)

2) 한글 낱자으로 기준으로 하는 줄여넣기 규칙

(2016.3.22에 덧붙임)

  다음은 글쇠가 아니라 한글 낱자를 기준하는 줄여넣기 규칙의 예이다. ■는 빈칸(U+0020)을 뜻한다.주6

  • 끝소리 ㅂ + 첫소리 ㄴ → ᅟᅠᆸ니다.■
  • 첫소리 ㅇ + 끝소리 ㅂ → 입니다.■
  • 첫소리 ㅎ + 첫소리 ㅈ + 끝소리 ㄴ → 하지만■

 K3_abbreviation_table = [
{phonemes: [0x1102,0x11b8], chars: [0x11b8,0x1102,0x1175,0x1103,0x1161,0x2e,0x20]}, /* ㄴ *ㅂ : ㅂ니다.■ */
{phonemes: [0x110b,0x11b8], chars: [0x110b,0x1175,0x11b8,0x1102,0x1175,0x1103,0x1161,0x2e,0x20]}, /* ㅇ *ㅂ : 입니다.■ */
{phonemes: [0x1112,0x110c,0x11ab], chars: [0x1112,0x1161,0x110c,0x1175,0x1106,0x1161,0x11ab,0x20]} /* ㅎㅈ *ㄴ : 하지만■ */
];

3) 줄여넣기로 넣은 글을 한꺼번에 지우기

(2016.3.22에 덧붙임)

  모아치기 자판에서 줄여넣기 기능을 쓴다면, 이어치기 자판보다 오타가 난 글이 훨씬 길 수 있다. 오타가 날 때마다 되걸음쇠(백스페이스)를 여러 번 눌러 잘못 들어간 글을 지우는 것은 불편한 일이다.

  온라인 한글 입력기에서는 바로 앞에 모아치기로 넣은 한글 낱내와 줄여넣기로 넣은 줄임말은 되걸음쇠(백스페이스)를 눌러 한꺼번에 지울 수 있다. 모아치기로 글이 잘못 들어갔을 때도 한꺼번에 지울 수 있다.주7 다만 모아치기를 할 때에 숫자·기호나 빈칸이 하나라도 끼어 들어갔다면, 앞서 모아치기로 넣은 글을 한꺼번에 지우지 못한다.

 

3. 맺음말

  그 동안 한글 자판에 대한 논의는 거의 이어치기 방식 쪽에 초점이 맞추어졌고, 이어치기 방식에 알맞은 입력 체계가 먼저 자리를 잡았다. 그러므로 일반 셈틀 자판으로 쓰이는 모아치기 자판이 처음에는 이어치기의 틀에 끼워 맞추어서 쓰이기 시작했다는 것은 이상하지 않은 일이다.

  하지만 이어치기의 틀 안에서 모아치기를 흉내 내는 수준에 그친다면, 모아치기 자판을 써서 얻을 수 있는 보람은 적다. 사람들이 모아치기 자판을 어렵게 익히는 것은 이어치기 자판보다 뚜렷이 빠른 속도로 글을 넣을 수 있다는 기대감 때문이다. 첫·가·끝 낱자를 함께 넣는 모아치기 타자법과 이를 더 응용한 줄여넣기를 집중해서 익히고도 이어치기 자판과 엇비슷한 타자 속도에 그친다면, 굳이 모아치기 자판을 쓸 까닭이 없다.

  의회·법원 등에서 속기록 작성에 쓰이는 속기 자판의 힘은 줄여넣기(약법)에서 나오고 있다. 첫·가·끝 낱자를 모아 치는 기본 타자법으로는 겨우 한 낱내를 치는 것에 그치지만, 줄여넣기를 하면 낱말·토막말·문장 단위로 한꺼번에 글을 넣을 수 있기 때문이다. 만약에 지금 활동하는 속기사들이 줄여넣기를 억지로 못 쓰게 한다면, 속기사들은 일을 그만두거나 옛날처럼 다시 펜을 잡아야 할지도 모른다.

  줄여넣기 기능에 쓰이는 한글 조합은 이어치기 자판에서는 오타가 되므로 쓰이지 않는 조합이다. 그래서 줄여넣기 기능을 쓴다면 기본 타자법으로만 칠 때와 타자 흐름 특징이 달라질 수 있다. 예를 들어 모아치기 2015 자판은 첫소리를 오른손 쪽에 두는 공세벌식 자판과 비슷한 배열 틀을 바탕으로 하므로, 기본 타자법으로 쓴다면 왼손 타수 비율이 오른손보다 높다. 하지만 첫소리를 둘 이상 넣는 줄여넣기 조합을 많이 넣는다면, 모아치기 2015 자판의 오른손 타수 비율을 높일 수 있다. 줄여넣기 조합을 많이 붙이면 드물게 쓰지 않던 글쇠를 더 쓰고 자주 쓰던 글쇠를 덜 쓰게 할 수 있으므로, 줄여넣기도 모아치기 자판 배열을 평가할 때에 헤아려야 할 요소이다.

  뒷걸음쇠(백스페이스)로 글을 지우는 단위도 달리 생각해 볼 수 있다. 줄여넣기로 낱말이나 토막말을 잘못 넣었을 때는 낱자 단위로 지우는 것이 번거로울 수 있기 때문이다. 하지만 너무 세세하게 구현하려면 입력기 개발자의 고충이 커질 수 있고, 이미 쓰던 대로 낱자 단위나 낱내 단위로 지우는 것을 편하게 여기는 사람도 있을 수 있다. 모아치기 자판의 응용 기능은 정답이 없이 여러 방안이 나올 수 있으므로, 다른 가능성을 함께 열어 두고 조금씩 시도하며 다듬어 가면 좋을 것 같다.

  • 차례(목차)와 한글 낱자를 기준으로 하는 줄여넣기에 대한 내용을 더하여 넣었습니다. '모두 모아치기'는 '모아치기'로, '부분 모아치기'를 '부분 모아치기(나눠치기)'로 바꾸어 넣었습니다. (2016.3.22)
〈주석〉
  1. 이어치기 방식으로 쓰이는 세벌식 자판에서의 모아주기 기능은 흔히 '모아치기'로 알려져 있다. 하지만 모아주기와 모아치기는 다르다. 모아주기는 입력기의 한글 처리 기능이고, 모아치기는 치는 사람이 여러 글쇠를 한꺼번에 눌러 넣는 타자 행동을 가리킨다. back
  2. '나눠치기'는 2016.1.28에 세벌식 사랑 모임에서 글쓴이가 제안한 낱말이다. (http://cafe.daum.net/3bulsik/5rNj/341) 한 낱내 이상을 치는 것을 기본 타자법으로 보는 모아치기 자판에서는 '부분 모아치기'보다 '나눠치기'가 뜻이 더 뚜렷한 말인 것 같아서 '나눠치기'를 글에 끼워 넣었다. (2016.3.22) back
  3. 안마태연구소에서는 '모아 치기'가 '첫소리와 가운뎃소리를 함께 치고 끝소리를 따로 넣는 방식'이고 '동시 치기'가 '한 낱내를 동시에 쳐서 넣는 방식'이라고 두 낱말을 다르게 뜻을 매겼다. 이와 달리 CAS 속기 자판을 개발한 한국스테노에서는 특허 문서에서 '모아치기'를 속기 자판의 고속 입력법을 가리키는 뜻으로 썼다. (「고속입력용 키보드 커버」, 출원번호:1020030048444, 출원일자: 2003.07.15, 출원인: 주식화사 한국스테노) back
  4. 글쓴이는 안마태연구소 쪽에서 모아치기의 뜻을 좁게 본 것이 1990년대 넥스젠이 두벌식 자판을 바탕으로 한 속기용 자판을  '모아치기'라는 이름으로 내놓은 것을 의식했기 때문이지 않았을까 생각한다. 몇 글쇠를 모아서 치고 몇 글쇠를 동시에 치는지에 따라 '모아치기'와 '동시치기'는 뜻이 서로 겹칠 수 있다. 그러므로 안마태연구소처럼 모아치기와 동시치기에 다른 뜻을 매기는 것은 자연스럽지 못하다. back
  5. keydown 다루개에서 따로 처리하게 할 수 있겠지만 번거롭다. back
  6. 낱자를 기준으로 하는 줄여넣기 기능은 2016.2.10에 온라인 한글 입력에 더하여 넣었다.앞선 판 온라인 한글 입력기에서는 빈칸(0x20)과 기호를 제대로 넣을 수 없었으나, 2016.2.10 이후 판에서 글쇠 기준 및 낱자 기준 줄여넣기 규칙에 빈칸과 기호를 넣을 수 있게 하였다. back
  7. 이 기능은 2015.10.13에 처음 넣었고, 2016.2.14에 되걸음쇠를 눌렀을 때의 처리 동작을 정확하게 다듬었다. back
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요

  1. 신세기 2015/06/05 18:22 고유주소 고치기 답하기

    이렇게 신경써주셔서 감사합니다, 팥알 님 ^^

    글쇠 눌림-글쇠 뗌 방식에 모아치기 용 한글조합규칙이 들어가니, 확실히 모아치기 용 자판에 잘 맞는 설정값이 나오는군요. 줄여넣기 방식도 획기적입니다. 이렇게 좋은 말씀을 자세하게 해 주셔서 감사합니다, 팥알 님.

    날개셋 입력기에서 이러한 방식들이 구현되기를 바라고 있지만, 아직 그 방법을 찾지 못하고 있습니다... 사실 스페이스 바가 한글 조합 중간에 입력되면 한글 글자가 조합되고 그 바로 뒤에 공백이 삽입되는 것을 계획하고 있었는데, 날개셋 입력기 제작자이신 사무엘 님께서 다음 버전에서 이러한 모아치기 관련 기능을 지원할 수 있을 것 같다고 하셨습니다. 마찬가지로 다음 버전이 되어야 팥알 님께서 말씀하신 기능이 온전히 지원되지 않을지 싶습니다. 혹시 몰라서 팥알 님의 이 글을 사무엘 님께 소개해드리고 싶은데 괜찮으신가요?

    일단 지금 상황에서는 날개셋 지원 뿐만이 아니라 우덜 님의 libhangul 에 포함되어 제공되는 정식 배열에, 팥알 님께서 말씀해주신 기능을 넣고 싶습니다. 팥알 님께서 지금 현재 OHI 에 만들어 주신 배열 설정이 지금 현재 가장 이상적인 상태라고 생각합니다.

    줄여넣기 조합 규칙들도 계속 연구가 되면 더욱 좋은 배열이 나올 것 같습니다. 특히 말씀해 주신 줄여넣기 조합 규칙들을 첫소리만으로 친다면 신세벌식 2012 같은 이어치기 자판들에서도 사용할 수 있을 것 같습니다.

    이렇게 모아치기 자판에 대해 신경써주시고 좋은 방법을 알려주셔서 정말 감사합니다. 오늘도 좋은 저녁 되세요...

    • 팥알 2015/06/06 19:26 고유주소 고치기 답하기

      답글이 늦어서 죄송합니다.

      한글 자판아니 입력기를 쓰고 개발하시는 분들께 도움이 되었으면 하는 바람에서 쓴 글이므로, 많이 활용될 수 있으면 좋겠습니다. 이미 한글입력기의 으뜸인 날개셋을 개발하시는 사무엘님은 이미 생각해 보신 내용일 것 같은데, 참고하실 만한 있다면 오히려 제가 영광스럽게 여길 만한 일입니다.

      얼마 앞서까지는 방법을 몰라서 쓰지 못했는데, 자바스크립트에서 자료 구조를 유연하고 간결하게 정의하여 쓸 수 있어서 모아치기 구현이 생각보다는 어렵지 않았습니다. 간이 입력기라는 한계는 있지만, 모아치기 자판을 시험하는 도구로는 자바스크립트로도 너끈한 것 같습니다. 글쇠 누름/뗌을 알아차리는 기능만 넣으면 libhangul로도 모아치기를 제대로 구현할 수 있을 것 같은데, 그 부분은 우덜님의 도움이 필요할 듯합니다.

      날개셋에는 글쇠가 얼마나 오래 눌렸는지도 알 수 있는데, 모아치기를 더 폭넓게 적용한다면 그런 고급 기능이 더 필요할 것 같습니다. 어쩌면 기능을 시험하면서 자료 구조나 함수를 바꾸는 등의 시행착오를 거듭하게 될 수도 있으니, 그 점은 미리 양해 부탁 드리겠습니다.

      제가 주로 이어치기 자판을 쓰고 있다 보니 쓰는 사람의 처지에서 모아치기 자판을 이해하기는 쉽지 않습니다. 그래서 신세기님이 소개해 주신 정보에 기대어 모아치기 자판 쪽에 관심을 넓히며 조금씩 지식을 쌓아 가고 있습니다. 이어치기 자판 쪽의 개선·개발에도 많은 도움을 주시는 신세기님께 감사 드립니다.

  2. 신세기 2015/06/07 16:16 고유주소 고치기 답하기

    오히려 팥알 님께서 제게 더 많은 도움을 주셨습니다. 제가 프로그래머가 아니라서 해 드릴 수 있는 건 원래 있던 분석기를 돌리는 것과 ist 파일을 조금 만지는 것 밖에 없는데도 이렇게 말씀해주시니 정말 감사드립니다. 팥알 님께서 계셨기에 오늘날 세벌식이 더욱 효율적이고 획기적으로 발전할 수 있었다고 생각합니다. 오늘 하루도 좋은 하루 되세요!

  3. 사라오름 2015/06/17 11:40 고유주소 고치기 답하기

    팥알님 안녕하세요.
    오랜만에 생각나서 인사차 들렀습니다.

    그동안 3-2015p를 사용했습니다.
    원래도 타자속도가 느려서 그런지 적응하기엔 쉬었지만
    특수기호 입력기능을 충분히 활용하진 못하고 있네요.

    컴퓨터로 벌어 먹고 사는 사람이 아니라 다행인 점은
    새로운 자판을 익히는 데 부담이 크지 않다는 거죠.

    하지만 모아치기 자판은 3-2015p와 많이 달라 보여서
    슬쩍슬쩍 써봐야 할 것 같습니다.
    나중에 어느 정도 익숙해지면 또 들를께요.
    감사합니다.

    • 팥알 2015/06/18 11:21 고유주소 고치기 답하기

      사라오름님, 반갑습니다. 이따금 들러 주시고 의견 남겨 주셔서 고맙습니다.

      저는 3-2015(P) 자판을 징검다리 삼아서 신세벌식 자판으로 건너 갔습니다. 사라오름님과 비슷한 길을 조금 다르게 길을 걸은 셈이 되었네요.

      실은 모아치기 자판에 대하여 저는 몸으로 겪어 본 바가 적고 아는 것도 많지 않습니다. 하지만 제가 모아치기 자판에 바라는 수준은 매우 높습니다. 빠르게 칠 수 있고 오타도 적게 나서 그 자판 배열을 실무에 쓰는 속기사가 나올 수 있는 수준까지 바라고 있습니다. 그래서 손수 쓰지는 않지만, 속기 자판의 알맹이라고 모아치기를 어떻게 하면 잘 구현할 수 있는지 조금 살펴 보았습니다.

      일반 셈틀에서 흔히 쓰이는 글쇠판은 모아치기를 헤아린 꼴이 아니어서, 모아치기를 하는 데에 어려움이 있습니다. 시중에 나오는 속기 자판들처럼 인체공학을 헤아린 글쇠판 제품이 나와 준다면, 모아치기 자판 배열을 만들고 쓰는 데에 많은 도움이 될 듯합니다.

  4. 세벌 2015/09/08 07:53 고유주소 고치기 답하기

    세벌식 ᅟ안 되는 프로그램을 발견
    http://sebul.co-story.net/q2a/?qa=435
    다른 분은 어떤가요?
    주제글과 직접관련은 적지만 세벌식 관련이라 일단 써 둡니다.

    • 팥알 2015/09/08 12:11 고유주소 고치기 답하기

      무슨 까닭 때문에 그런 일이 일어나는지 모르겠네요.
      좀 더 생각해 보고 세벌이야기에 덧글 달겠습니다.

  5. 비밀방문자 2015/09/10 18:00 고유주소 고치기 답하기

    관리자만 볼 수 있는 덧글입니다.

    • 팥알 2015/09/10 19:47 고유주소 고치기 답하기

      스크립트를 고치다가 잠깐 오류를 냈었는데 그 때에 접속하셨나 봅니다. 주의해서 고쳐야 하는데 대충 작업하다 보니 자꾸 사고를 내서 죄송합니다. 지금은 잘 작동하는 것 같습니다.

    • 팥알 2015/09/10 19:49 고유주소 고치기 답하기

      아, 같은 낱내로 덮어 쓰이는 벌레가 있긴 하군요. 실은 이어치기 자판에서 그 문제를 고쳤는데 모아치기 자판은 미처 살피지 못했습니다. 얼른 고치겠습니다.

    • 팥알 2015/09/10 20:32 고유주소 고치기 답하기

      고쳤습니다. 어제 꽤 큰 벌레를 잡다가 모아치기 자판만 점검하지 않아서 벌어진 사고였습니다. 혹시 잘 안 되는 게 있다면 언제든지 알려주시기 바랍니다. 고맙습니다.

  6. 신세기 2015/09/10 22:45 고유주소 고치기 답하기

    이렇게 신경써주셔서 감사합니다. 이제 낱내가 잘 들어가고 있습니다. 그런데 타자 속도가 빨라지다 보면 어느 순간에서부터 글씨 입력이 안 되고 키보드 글쇠가 눌려져 있는 걸로 나옵니다... 스페이스 바가 다른 글쇠와 동시에 늘렸을 때 이런 현상이 일어나는 것 같습니다. 제가 소스 구조를 잘 안다면 소스를 보고 어디에 문제가 있는 것 같다고 말씀을 드렸을 텐데, C언어를 그리 잘 알지 못해서 이 문제가 소스의 어느 부분과 연결되는지를 잘 몰라서 말씀을 못 드리고 있습니다... 계속 신경쓰시게 해 드려서 죄송합니다...

    • 팥알 2015/09/11 00:42 고유주소 고치기 답하기

      사이띄개가 일반 글쇠와 섞여서 함께 눌렸을 때를 처리하는 걸 빠뜨려서 생긴 문제입니다. 중요한 문제인데 그 동안 알아차리지 못했습니다.

      사이띄개가 다른 일반 글쇠 함께 눌렸다면,

      - 사이띄개가 가장 먼저 눌렸을 때는 한 칸을 먼저 띄고 일반 글쇠 누른 걸 다음에 처리하게 했고,
      - 사이띄개보다 먼저 눌린 글쇠가 있다면, 한 칸 띄는 동작을 가장 나중에 하게 했습니다.

      사이띄개뿐만 아니라 줄바꾸개(엔터)에서도 같은 문제가 일어나서, 다른 특수 글쇠도 더 점검해서 코드를 정리해야 할 것 같습니다.

  7. 신세기 2015/09/11 09:42 고유주소 고치기 답하기

    해결해주셔서 감사합니다. 이제 잘 작동되고 있습니다. 저도 예전에는 이 부분이 잘 작동되어서 잘 몰랐는데, 언제부터인가 공백과 글자가 함께 눌리면 오류가 생긴 것을 알게 되었습니다. 하지만 고쳐주신 덕분에 지금은 잘 작동하고 있습니다. 이렇게 신경써주시고 해결해주셔서 정말 감사합니다. 오늘 하루도 좋은 하루 되세요!

    • 팥알 2015/09/11 12:07 고유주소 고치기 답하기

      줄바꾸개, 뒷걸음쇠, 윗글쇠가 얽혔을 때에도 비슷한 오류가 생겨서 처리 과정을 더 넣거나 바로잡았습니다. 천천히 칠 때는 문제되지 않는 것들이 빨리 칠 때는 큰 걸림돌이 되기도 하는군요. 덕분에 모아치기에 어떤 처리가 더 필요한지 좀 더 알 수 있었고, 원인을 모르던 벌레들을 잡아서 속이 후련합니다. 신세기님도 알찬 하루 보내시길 바랍니다.^^