자판 배열에 대한 다음 글 "Keyboard layouts doc" https://bit.ly/keyboard-layouts-doc (KLD라 약칭하겠습니다)은 영문 자판에 대한 내용이지만, 한글 자판을 이야기하는 우리에게도 시사점이 많다고 보아 관련 내용을 소개합니다.
한글 낱자는 태생부터 자음과 모음, 혹은 초·중·종성으로 나뉘어 있어 각종 입력 기술을 적용할 수 있습니다. 또한, 가령 문자 입력 때 시프트 키는 서양에서 대문자를 입력할 때마다 쓰이고 피할 수 없지만 한글에선 시프트 없이 문자 입력이 가능한 자판이 많이 있습니다. 또한, 같은 알파벳이 연달아 나오면 같은 손가락 같은 글쇠 연타를 피할 수 없지만, 초성-중성, 혹은 초성-중성-종성 순으로 입력하는 한글에서는 같은 손가락 연타를 사실상 제로로 만들 방법도 있습니다.
KLD의 4장에 나오는 자판 통계에 대한 용어들을 설명하면 다음과 같습니다.
bigram: 철자 두 개로 이루어진 조합입니다. re, io, 세벌식의 ㅏ+종성ㄴ 등입니다.
trigram: 철자 세 개로 이루어진 조합입니다. the, ing, ati 등입니다.
finger frequency: 8개의 손가락의 분담 비율을 말합니다. 우리에게도 익숙한 개념입니다.
hand balance: 좌우 손이 어느 비율로 쓰이는지에 대한 지표입니다. 50:50 이면 이상적이라고 보통 이야기합니다. 역시 우리에게도 익숙합니다.
same finger bigram(SFB): bigram 중 같은 손가락으로 입력해야 하는 경우를 말합니다. 쿼티 자판의 ed 가 SFB입니다. KLD에서는 SFB의 빈도를 줄여야 하고, 또한 SFB들의 이동 거리도 줄여야 바람직하다고 말합니다. 가령 쿼티의 ce 나 br, my 같은 것이 이동 거리가 긴 SFB겠지요. 특이사항이라면 우리는 SFB 중 같은 글쇠 연타(예: 390과 391의 초성 된소리)와 다른 글쇠 연타를 좀더 구분하는 경향이 있다는 것인데, 이들에게는 같은 글쇠 연타는 어차피 피할 수도 없고 자판에 따라 상관이 없이 가령 ss는 쿼티에서건 드보락에서건 SFB이기 때문에 그런 것 같습니다. 한글에서는 가령 '학교'에서 두벌식에서는 같은 글쇠 SFB가 발생하고, 세벌식에서는 그렇지 않습니다. 혹은 신세벌식 자판의 왼손에서는 모음과 받침이 같은 글쇠 안에 들어가 있으므로 문제가 발생할 수 있습니다.
same finger skipgram(SFS), 혹은 disjointed SFB (DSFB): 두 글쇠를 한 손가락으로 누른다는 점은 SFB와 같지만 이 경우는 중간에 1개 이상의 다른 글쇠가 들어간다는 점입니다. 쿼티의 may, 공병우 세벌식의 '사랑한다'(좌우 전부, 왼손은 같은 글쇠) 가 그런 경우이며, 둘째손가락의 비중이 높은 공병우 세벌식의 경우 DSFB가 상당히 많을 것으로 생각됩니다.
lateral stretch bigram(LSB): 인접한 손가락으로 치되 손가락이 많이 벌어지는 bigram입니다. 쿼티의 be, 공세벌식의 ㅔ+종성ㅆ 이 이에 해당합니다.
roll: 같은 손의 다른 손가락으로 입력하는 bigram입니다. 바깥쪽(소지 쪽)에서 안쪽(검지 쪽)으로 가는 roll은 inward roll, 반대 방향의 roll은 outward roll이라 합니다. 쿼티의 fe 는 outward roll, at는 inward roll 입니다. 어떤 사람들은 inward roll을 outward roll보다 선호한다고 합니다만 꼭 그렇지만도 않은가 봅니다. 공세벌식의 강력한 특징 중 하나가 왼손 중-종성의 outward roll이며 이것이 소위 리듬감에서 중요한 부분을 차지한다 봅니다.
다음은 trigram에 대한 지표들입니다.
alternate: 좌우 손 교대로, 즉 오른손-왼손-오른손, 혹은 왼손-오른손-왼손 순으로 입력하는 trigram입니다.
roll: 한 손으로 roll bigram을 입력하고 나머지 손으로 한 글쇠를 입력하거나, 한 손으로 한 글쇠를 입력하고 나머지 손으로 roll bigram을 입력하는 trigram입니다.
onehand: 한 손으로 치되 outward 혹은 inward 방향으로만 진행하는 trigram입니다. 쿼티에서는 pin, nio 등이 있겠네요.
redirect: 한 손으로 치되 방향이 바뀌는 trigram입니다. 쿼티의 ion 이 그런 경우겠네요.
SFB를 포함하지 않는 trigram은 alternate, roll, onehand, redirect 중 하나에 반드시 해당하게 됩니다. 자판 배열을 만든다면 SFB를 최소화하는 쪽이 바람직하며, trigram의 지표들은 우선순위가 그보다 낮은 경우가 많을 듯합니다. 이 네 가지 중에서는 redirect가 가장 나쁜 것으로 봅니다. alternate와 roll의 비율의 균형을 찾는 것이 좋을 것으로 KLD에서는 이야기합니다. 입력할 때 손의 힘이 좀 필요했던 타자기 시대에는 alternate를 좀더 선호했다면, 요즘에는 roll도 나쁘지 않다고 여기는 것 같습니다. trigram을 조사하지 않고 bigram 통계만 조사하게 되면, 가령 dfdfdfdfdf 와 같은 문자열이 그저 df 와 fd 의 roll들로만 분석될 뿐 한 손에서 계속 입력되고 있다는 것을 알 수 없다고 이야기하고 있습니다. 391처럼 겹받침을 모두 챙기지 않은 공세벌식이나 신세벌식 자판에서는 왼손 onehand나 redirect가 다소 발생합니다.
자판을 설계할 때 이 모든 지표들을 모두 좋게 유지하는 것은 불가능하며, 한 지표가 좋아지면 다른 지표가 나빠질 수 있으며, 어떤 지표를 좀더 챙겨야 할지 경중을 정하는 것에는 절대적인 기준이 없습니다. 이것이 나쁜 자판은 있어도 완벽한 자판은 없다고 말해지는 이유라고 생각합니다. KLD의 그 밖의 내용들은 한글 자판에는 해당하지 않는 내용이 대부분입니다. 문서의 끝부분에는 별의별 자판 배열들이 SFB가 높은 순에서 낮은 순으로 나열돼 있습니다. 그러나 SFB가 낮다고 해서 반드시 좋은 자판이라는 뜻은 아닙니다. 예를 들면 SFB가 극단적으로 낮은 실험적 자판들을 보면 검지의 비율을 의도적으로(?) 낮춘 듯한 모습이 보입니다.
공병우 계열 세벌식(넉 줄이건, 석 줄이건)에서, 손 입장에서 보아 이상적인 모습은 시프트 키의 사용을 없애고, 특히 왼손에서 나쁜 패턴(SFB, redirect 등)을 줄이는 것입니다. 제 경험으로는 넉 줄을 사용하면 어느 정도 이상적인 입력 패턴에 가까워질 수 있었습니다. 구체적으로는 https://cafe.daum.net/3bulsik/JMKX/103 를 참조하실 수 있습니다. 입력 순서 오타 수정은 보너스고요. 이번에 분리형 키보드 Glove80 https://www.moergo.com/
을 주문하면서 어느 정도 수정은 불가피해졌지만 그래도 큰 손해 없이 다음처럼 넉줄 12345...nm,./ 내에 안착시킬 수 있는 것 같습니다.
이 40개의 글쇠는 웬만한 키보드라면 가지고 있기 때문에 - 좀더 정확히는 이 40개 글쇠도 없는 키보드는 쓸 생각이 없기 때문에 - 앞으로 이런 계열의 키보드를 쓰더라도 날개셋만 있어 준다면 문제는 없겠지요 ㅠㅠ (전 윈도우만 사용합니다) 받침ㅎ, 초성ㅌ를 위한 글쇠를 유지할까도 고민했었습니다.
석 줄 자판에 큰 이점은 있지만, 한글 입력 차원에서"만" 보면 넉 줄이 적절하다고 생각합니다. 몇몇 시도를 해 보기는 했습니다. 가령 왼손 중지에 ㅡ ㅗ ㅜ 를 배치하게 되면 이들은 받침ㅆ와 결합하지 않으므로 받침ㅆ를 왼손 중지에 두는 것이 나쁘지 않게 됩니다. Glove80과 같은 프로그래밍 가능한 키보드에서는 숫자 레이어를 따로 둘 수 있으므로 넉 줄 세벌식의 단점도 완화될 수 있습니다. 그래서 키보드 바꾸는 김에 요 며칠 석 줄 세벌식을 고민해 보긴 했습니다만 결국 다시 넉 줄로 결론을 냈습니다.
추가. 세로로 반듯한 자판을 익히는 노력을 하게 된 김에 자판 배열을 다시 손봐 볼까 싶은 마음도 듭니다 -_- 예전 글 https://cafe.daum.net/3bulsik/5rNj/332 등에서 했던 고민을 다시 하면서... 오른손은 비중 높은 ㅇㄱㄷ 를 검지에서 빼고 K, L, ; 위치로 옮기는 등의 방법을 쓸 수 있는데 왼손은 모든 모음을 검지와 중지, 자주 나오는 받침을 약지와 소지가 담당하니 운신의 폭이 좁습니다. 그리고 저 자판을 쓴 게 10년이 다 돼 가는데 바꾸는 것도 모험이군요. 이렇게 바꾸게 되면 공병우 세벌식과 호환성도 포기하는 것이구요.
첫댓글 어차피 레이어가 있다면 굳이 세줄 세벌식에 얽매이지 않아도 되지 않나 싶기도 합니다
2 3 4 7 8 9 여섯 자리만 더 써도 훨씬 좋으니까요
저는 레이어를 사용할 수 있는 인체공학 스플릿 키보드를 사용하는데도 3줄 세벌식으로 위에 숫자열에는 숫자를 배치하고 있습니다. 레이어를 전환하는 것도 번거롭고 손이 한번씩 더 가는 문제가 있어서 손의 부담이 증가하는 일입니다. 즉각적으로 숫자를 타이핑할 필요성을 느끼게 됩니다.
또한 숫자열의 key는 타이핑하는 데에 더 effort가 많이 들어가는 자리라 가급적 한글 영문자를 배치하기를 자제해야 손이 더 편합니다. 손 거듭치기 빈도수가 높아질 우려가 있다는 게 신세벌식의 유일한 단점인데 이것은 코퍼스 기반 통계를 가지고 잘 분석해서 최대한 sfb를 피하는 식으로 설계해야 한다고 생각합니다.
신세벌식 자판에서는 SFB 가운데 같은 글쇠를 거듭 누르는 경우가 조금만 잦아서 힘이 많이 빠집니다.
갈마들이 공세벌식 자판도 다른 낱자를 같은 글쇠로 넣는 유형이 나타나는 건 같지만,
신세벌식 자판의 한글 배열이 3줄인 것 때문에 문제가 도드라지는 것 같습니다.
다른 낱자를 같은 글쇠로 누를 때는 손가락에 무리가 가지 않게 박자를 맞추어 누르기 어려운 것이
손가락의 피로도를 높이는 원인이 아닐까 생각합니다.
이 점이 신세벌식 자판에 좋게 작용하는 면도 있긴 합니다.
조금만 잘못 조율해도 견디고 쓸 수 없는 경우가 많으니,
공세벌식 자판처럼 그럭저럭 쓰기 좋은 변형 배열이 많이 나오기는 어렵습니다.
어쩌면 배열 통일이나 표준화를 이룰 때에 인위적인 손길을 덜 거칠 수 있을지도 모르겠습니다.
저는 갈마들이와 4줄 한글 배열의 이점을 더 살린다면 공세벌식 자판의효율성을 더 끌어올릴 수 있다고 생각합니다.
신세벌식 자판에서의 관점에서 3줄 한글 배열을 4줄로 늘려 보는 것도 흥미로운 주제일 것 같습니다.
하지만 그렇게 하려면 명랑소녀 님 말씀처럼 널리 알려진 공세벌식 자판과의 호환성을 포기해야 할 수 있으니,
깊이 뛰어들 자신이 얼른 안 생기는 일이기도 합니다
본문에서 소개된 glove80 키보드도 그러한 키보드이지만, 커스터마이징이 가능한 키보드는 위에 숫자열을 건드리지 않고 대신에 소지 바깥쪽 행을 건드릴 수도 있습니다. 숫자열에 한글을 추가로 놓기보다는 옆에 바깥쪽 행에 한글을 추가로 배치하는 쪽으로 지금 제가 새로운 세벌식 레이아웃을 구상하고 있는데 이쪽이 더 키 수월성이 나으면서 숫자열의 숫자도 그대로 사용할 수 있고 동시에 sfb를 줄이는 쪽이 되는 거 같습니다.
아 저도 이 문서 관련해서 글 쓰려고 했었는데요.. sfb, dsfb, lsb 등등 줄이기 위해서는 한국어 ngram(bigram, trigram)에 대한 코퍼스 기반의 빈도수 통계가 필요합니다.
한국어는 자음과 모음의 숫자가 비슷한 언어로 roll보다 alternate이 주된 언어입니다. 따라서 한국어 키보드 레이아웃에서 roll은 영어 등등의 언어보다 상대적으로 덜 중요하게 됩니다. 그래도 outward roll을 되도록 구현할 수 있는 게 좋겠죠. 영문 자판에서 inward roll이 일반적으로 outward roll보다 고평가되는 건 맞습니다만(그것도 일반적으로만 그렇고 디테일로 들어가면 또 다르고 취향차이의 문제이기도 합니다) 한국어의 경우 alternate이 주된 언어라 한 손으로 길게 타이핑하는 횟수가 적다보니(즉, 한국어는 무조건 다른 손으로 자주 번갈아치도록 자음-모음이 배열됨을 강요받는 언어입니다) 오히려 힘센 손가락부터 출발하여 힘약한 손가락으로 끝나는 outward roll이 inward roll에 비해 더 우위를 가질 수 있습니다.
공세벌식의 경우 숫자열까지 사용하는데 숫자열의 경우 그 자리의 key를 타이핑하는 데에 드는
effort가 너무 크다는 데에 심각한 문제가 있습니다. 인체공학 스플릿 키보드에 더 잘 어울리는 세벌식은 공세벌식보다는 신세벌식이라고 생각합니다. 단, sfb를 최소화하도록 자판 설계를 더 잘해야겠죠. 위 댓글의 첨부 effort grid를 참고해주세요. 출처는 https://colemakmods.github.io/mod-dh/model.html 여기입니다.