**내가 만들었어요! 게시판 공지 사항**의 내용을 숙지했습니다.
안녕하세요.
Blazor component로 세벌식 입력창을 만들고 있습니다.
테스트 링크: https://hellojkwcore.azurewebsites.net/typing
hellojkw.com이라는 도메인이 있지만, serverside라 입력 반응이 너무 느려서 이 링크를 공유해봅니다.
커서를 입력창 안에 넣고 타이핑하시면 됩니다.
대학생 시절 세벌식에 도전했다가 두벌식도 세벌식도 하지 못하는 상태에 빠졌다가
10년만에 다시 도전하게 되었습니다.
한글날 기념 한글 타자기의 역사를 다룬 유튜브 영상을 보고 다시 세벌식 뽐뿌가 왔습니다.
평소엔 두벌식을 치고, 내 홈페이지에서 세벌식 타자연습을 하고,
일기를 세벌식으로 써보면 어떨가해서 시작했습니다.
구현 내용
input, textarea를 사용할 수 없기 때문에 최대한 비슷한 효과를 내도록 만들었습니다.
개선할 여지가 많은 부분입니다.
(물론 AI가 했습니다)
저는 세벌식을 만드는 코어로직을 만들었습니다.
영어로 타이핑하면 세벌식 자소로 바꿔주는 InputConverter를 만들었습니다.
세벌식 자소를 한글로 바꿔주는 Hangul3Automata라는 객체를 만들었습니다.
모아치기는 아직 지원하지 않습니다.
초성-중성-종성 순서대로 입력하면 세벌식이 이쁘게 쳐집니다!
어려운 점
js event handler를 제거해야 하는데,
IDisposable과 js call의 궁합이 좋지 않은것 같아요.
jsakamoto님의 HotKey라이브러리를 공부해보고 아이디어를 얻으려고요.
모아치기하려면 keyup이 필요한데, HotKey2라이브러리는 Keyup을 지원하지 않아서 아쉬워하고 있습니다.
세벌식에 HotKey라이브러리가 의미상 맞지 않은 것 같기도 하고요.
앞으로
입력창과 세벌식을 분리할 계획입니다. (하다보니 분리해서 생각해야겠더라고요)
MultiLine입력창을 만들 계획입니다. (일기를 써야 하거든요)
모아치기를 지원할 예정입니다. (세벌식이라면 모아쳐야 제 맛 아닐까요)
커스텀 입력을 만들어볼까합니다. (z를 연타하면 세벌식에선 ㅁ받침이지만 ㅋ으로 바꿔주는거죠)
덧
온라인 한컴 타자연습이 있는데 굳이 또 만든 이유는,
된소리 자음 관련 버그가 있기 때문입니다.
10년도 전에 대학생 때 세벌식을 조금 쳤었는데,
최근 다시 세벌식을 연습할 때 연습 시작한지 10분 만에 키보드 배열을 안 보고 타이핑을 할 수 있었어요.
인간의 뇌는 참 대단한 것 같아요.
뭔가 오른손 약지가 'ㅈ’같다는 느낌이 난달까요..
오늘도 즐거운 하루 보내세요.
