CAFE

지식/정보 나눔터

[[정보]]인체공학 키보드에 참신세벌식D 레이아웃 설정하기

작성자wigglymapp|작성시간22.01.24|조회수881 목록 댓글 12

1.     인체공학 키보드 마련하기

 

 

제가 쓰고 있는 키보드는 zsa moonlander 키보드입니다. 좌우 split하고, 위아래 행이 ortholinear합니다. 밑에는 tenting kit를 3d printing해서 tenting했습니다.(https://www.thingiverse.com/thing:4769961) 또 키보드 밑에 alimed의 desk wedge를 놓아서 negative tilt를 구현했습니다. 자세히는 아래를 참조하세요.

https://cafe.daum.net/3bulsik/y0J/1897?svc=cafeapi

 

 

 

 

 

 

 

2.     인체공학 키보드 설정 setting하기

 

ergodox류의 인체공학 키보드들은 QMK라는 프로그램으로 레이아웃을 설정합니다. 몇몇 키보드들은 자체 홈페이지에서 별도의 레이아웃 설정을 돕는 메뉴를 제공합니다. ZSA moonlander도 그런 키보드입니다.

 

 

ZSA moonlander 키보드 홈페이지 메뉴에서 tools – oryx를 들어갑니다. Start configuring your board – Check out Oryx를 클릭합니다. 밑에 modify layout 버튼을 클릭합니다. (나만의 레이아웃을 위한 계정을 만들기 위해 회원가입이 필요합니다.)

 

 

 

이제 키보드 레이아웃을 자기 재량껏 customizing할 수 있습니다. 저는 다음과 같이 설정했습니다.

 

 

1)     레이어는 총 다섯(0~4레이어)으로 합니다. 모든 레이어는 공통적으로 ctrl, alt, shift, backspace, delete, enter, space, home, end, pgup, pgdn 등을 같은 자리에 공유합니다. 0레이어는 기능키 F1~F12 + 알파벳 carpalx_qgmlwy (http://mkweb.bcgsc.ca/carpalx/?full_optimization 참조)를 가지고, 1레이어는 넘버키 0~9 및 특수기호(%,#,@,$,…)를 가지고, 2레이어는 ctrl+c, v, z, a, .. 등등의 단축키를 가지고, 3레이어는 오토핫키와 연동하여 각 앱마다 다르게 동작하는 매크로 키를 가지고, 4레이어는 윈도우 창 열고닫기(alt+f4, …)나 특정 앱 열기 등등의 기능을 가집니다. 0, 1레이어는 키를 다 설정했는데 2레이어부터는 어떤 키를 배정해야 할지 완전히 다 결정하지는 못했습니다.

 

2)     레이어를 전환할 수 있는 키들을 맨 아래에 배치했습니다. 레이어 전환 방식에는 여러가지가 있는데 저는 TT(tap-toggle) 방식으로 키들을 선정했습니다. TT 방식은 해당 키를 누르고 있으면hold 그 누르는 동안에만 레이어가 전환되고 그 키를 그만 누르면let go 다시 원래 레이어로 돌아오는 한편, 해당 키를 가볍게 타건하면tap 레이어가 그쪽으로 안정적으로 전환되고 다시 원 레이어로 돌아오지 않는 방식의 레이어 전환 키입니다. 다른 레이어 전환 방식으로는 OSL, TG, TO 방식이 있습니다. 1레이어 전환 키는 넘버키+특수기호를 수시로 자주 쳐야 하기 때문에 양손 엄지가 닿는 명당 자리로 놓았습니다.

 

 

3)     가장 명당 자리를 차지하고 있는 전통적으로 capslock이 차지하고 있던 자리를 ctrl, backspace가 가졌습니다. 저 키를 hold하면 ctrl로 작동하고 가볍게 tap하면 backspace로 작동합니다. (대신 Backspace를 오래 누르고 싶으면 저 키를 tap 한번 하고 그 직후 바로 hold하면 backspace를 계속 누르는 효과가 납니다.) 전통적으로 capslock은 그 기능에 비해 너무 명당 자리를 차지했습니다. 글을 쓸 때 자주 쓰는 backspace는 저 구석진 자리에 배치되었습니다. Ctrl은 좌하단, 우하단에 배치되었는데 이 때문에 ctrl+c,v 등 단축키를 쓸때마다 손목을 비틀어야 했습니다.

 

4)     shift키는 전통적인 그 자리에 위치시켰습니다. 영문에서는 대문자를, 한글에서는 여러가지 보조적 기능을 수행하는 등 쓰임이 많은데 해당 기능을 수행하려면 저 자리가 최적입니다.

 

5)     전통적인 ctrl 자리에는 (ctrl+alt), 전통적인 tap 자리에는 (ctrl+shift) 기능을 배정했습니다.

 

6)     Tab (hold시 ctrl)은 우측에 놓았습니다. backspace만큼 명당 자리를 차지하게 했습니다. 자주 쓰이기 때문입니다.

 

7)     [, ] 키는 왼손 중지와 약지가 닿는 맨 상단 행의 자리에 놓았는데 이는 날개셋 프로그램에서 참신세벌식D에서 받침 ㄷ, ㅈ를 놓을 자리입니다.

 

 

8)     오른손 중지와 약지가 닿는 맨 상단 행의 자리에는 ctrl+shift+8, 9 기능을 놓았는데 날개셋에서 ctrl+shift+8은 한글 표준 두벌식 모드로 무조건 전환하는 키이고, ctrl+shift+9는 영문 쿼티 모드로 무조건 전환하는 키입니다. Ctrl+Shift+[ 를 누르면 한글 참신세벌식D로 무조건 전환하고 ctrl+shift+]를 누르면 영문 carpalx_qgmlwy 모드로 무조건 전환하도록 날개셋 프로그램에서 셋팅했습니다. Capslock이 그 주변에서 tap 위에 있습니다. Right alt를 날개셋에서 한자 키로 설정하고 우하단에 배치했습니다.

 

9)     oryx에서 설정하는 레이아웃은 바닥 키보드입니다. 날개셋 프로그램의 키 설정은 이 바닥 키보드가 최종 산출되는 과정에서 이 키의 신호를 가로채 다른 값으로 바꿔치기 합니다. `(~) 키를 오른손 영역에 놓고 영문 모드일때는 그대로 `(~)로 출력되도록, 하지만 한글 모드일때는 표준 두벌식의 경우 ㅠ로, 참신세벌식D의 경우 초성 ㅋ으로 출력되도록 했습니다. 자세히는 나중에 후술.

 

10)  오른손은 마우스(*저는 마우스 대신 판 타블렛을 마우스 대신 씁니다만)와 키보드 오른손 영역을 왔다갔다 하면서 주로 하는 일은 커서 이동입니다. 그래서 1~4레이어의 오른손 영역 제일 중앙의 명당 자리에 마우스 커서 up down left right 키가 배치됩니다. 왼손은 오른손이 그러는 동안에 트랙볼(*스크롤용으로 씁니다)도 만지작거리다가 키보드 왼손 영역을 다룹니다. 따라서 키보드 왼손 영역에 오른손 영역보다 상대적으로 더 중요한 기능 키들을 배정합니다. Esc, f2, f4, enter, backspace, delete, .. 0레이어의 shift는 오로지 shift 기능만 있는데 1~4레이어의 shift는 hold시 shift로 작동하지만 tap시 space로 작동합니다. 이는 오른손이 마우스를 쥐고 왼손만 키보드에 놓여있을 때 왼손만으로 space를 누르고 싶었기 때문입니다.

 

11)  저는 주로 엑셀 프로그램을 다루면서 이 레이아웃을 수정했습니다. 특히 0레이어에 기능키 F1~F12를 배치하고 1레이어에서 넘버키 0~9와 사칙연산 관련 특수기호키 = + - * / 를 왼손영역에 놓고 2레이어에서 F2, ctrl+a, c, x, v를 한데 같이 모아 놓은 것이 그 때문입니다.

 

12)  여러 레이어들에 ctrl+c, v 등등 단축키들을 굳이 한 키로 넣은 이유는, ctrl, alt, shift, win 등등을 누르면서 단축키를 입력하는 것이 손에 지속적인 부담이 되기 때문에 이를 경감하기 위함이 첫째, 함께 쓰이는 단축키들을 인접한 자리에 한데 모아 능률적인 일처리를 보조하려는 것이 둘째, 수많은 단축키들을 굳이 외우지 않고 망각해도 됨이 셋째입니다.

 

13) 각 레이어마다 키에 이런저런 색깔을 부여하여 기능 분류를 하는 것이 시각적으로 좋습니다. 이 레이어가 어떤 레이어인지 키의 색깔만 보고도 바로 직관적으로 파악할 수 있도록 설정하는 것 역시 중요합니다.

 

 

 

oryx에서 키보드 레이아웃을 다 설정하면 밑에 compile this layout 버튼을 누르고 download this layout 버튼을 눌러 키보드 레이아웃 정보가 들어있는 설정파일을 다운로드받습니다. 확장자는 .bin 파일입니다.

 

 

Zsa moonlander 홈페이지의 메뉴에서 tools – wally를 들어가서 wally 프로그램을 다운받습니다. 이 wally 프로그램에 해당 레이아웃 .bin 파일을 넣고 키보드 좌상단의 조그마한 구멍에 paper clip같은 걸 꽂으면 키보드에 이 레이아웃 정보가 입력됩니다.

 

혹시 Wally 프로그램이 error가 나면 다음의 싸이트에서 더 구버전을 다운받으면 될겁니다. 개인적으로 저는 그런 적이 있어서 이메일로 문의를 했더니 그쪽 연구소에서 알려주더군요. 인체공학 키보드키 구입할 때 이렇게 사후 q&a도 잘 들어주는 곳을 택하면 좋습니다.

https://github.com/zsa/wally-win/releases/tag/3.0.2

 

 

 

 

 

 

 

3.     인체공학 키보드에 날개셋 프로그램 setting하기

 

2.에서는 인체공학 키보드의 바닥 키보드를 셋팅했고 날개셋 프로그램에서 이 바닥 키보드에 대응되는 표면 키보드를 셋팅해야 합니다. ●●● 식으로 보안이 걸려 비밀번호를 써야 하는 그런 곳(ex> 로그인·로그아웃시에 id, password 쓰는 곳, 은행 공인인증서 비밀번호 입력)에서는 바닥 키보드의 값이 입력됩니다. 그렇지 않은 일반적인 모든 곳에서는 키를 타건시에 표면 키보드의 값이 출력됩니다.

 

 

 

예를 들어 제가 쿼티 키의 a 자리에 있는 키를 carpalx_qgmlwy 구현을 위해 oryx에서 바닥 키보드는 d 값을 부여하고 이 자리를 날개셋에서 영문 쿼티 모드 시에 a 값을, 영문 carpalx 모드 시에 d 값을, 한글 표준 두벌식 모드 시에 ㅁ 값을 부여했다 칩시다. 이 자리의 키를 은행 비밀번호 누르는 곳에서 누르면 이 키의 출력 값은 무조건 d입니다. 평범한 ms 워드 앱에서 영문 쿼티 모드로 전환한 후에는 이 키의 출력 값은 a입니다. 당연히 영문 carpalx 모드 시엔 d, 표준 두벌식 모드 시엔 ㅁ 값이 되겠지만요.

 

한/영 키를 하나로 통합하지 말고 ‘지금 한글 모드 상태이든 영문 모드 상태이든 상관없이’ 무조건 한글 모드로 전환하는 키, 영문 모드로 전환하는 키 둘을 따로 놓아야 합니다. 영문 모드와 한글 모드가 특수기호 자리가 꽤나 불일치하기 때문에 이렇게 한/영 전환 키를 따로따로 배정하지 않으면 헷갈립니다. 저의 경우는 영문 쿼티(ctrl+shift+9)나 한글 표준 두벌식(ctrl+shift+8) 말고도 영문 carpalx(ctrl+shift+] ), 한글 참신세벌식D(ctrl+shift+[ )도 셋팅해야 하기 때문에 한/영 키 관련 키가 넷입니다.

 

 

 

 

oryx에서 설정할 때 바닥 키보드가 쿼티가 아닌 다른 레이아웃을 설정했다면, 날개셋 제어판에서 글쇠배열시에 키들이 놓인 배치는 쿼티식으로 배치되어있는데 쿼티의 a키가 carpalx에서는 쿼티의 j키 자리에 있으므로 잘 생각해야 합니다. 글쇠 수식 편집의 ‘글쇠 위치’가 a키이면 이 키는 쿼티 기준 a키 자리에 있는 키를 말하는 게 아닙니다. 바닥 키보드가 a인 그 자리에 있는 키입니다.(carpalx 경우, 쿼티 기준 j키 자리임) 따라서 이런 자리 배치가 매우 헷갈리므로 저는 먼저 엑셀 파일을 열어서 각 자리마다 수식들을 다 입력해놓고 이것을 복사, 날개셋 제어판 글쇠 수식 자리에서는 붙여넣기만 합니다.

 

저는 쿼티 기준 b키 자리의 한글 표준 두벌식 글쇠값을 없애고 대신 `(~) 자리에 ㅠ 값을 넣었습니다. 또 참신세벌식D의 경우 원래는 숫자행에서 2, 3 숫자가 들어가는 자리에 바닥 키보드 ], [ 값을 집어넣고 참신세벌식D의 받침 ㄷ, ㅈ 값을 수행하도록 했습니다. `(~) 자리에는 초성 ㅋ 값을 넣었고, 쿼티 기준 t가 들어갈 자리에 있는 종성 ㅊ을 쿼티 기준 g 자리로 옮겼습니다.

 

 

 

 

 

 

4.     접근성 키보드 설정에서 고정 키 사용하기

 

 

저는 고정 키를 사용합니다. 그래서 shift를 계속 누르지 않아도 한번 tap하기만 해도 효력이 계속 유지되기를 바랍니다. Shift를 계속 hold하면서 다른 키를 눌러야 하는 작업은 고됩니다. 고정 키를 사용하면 shift에 대해 큰 거부감을 가질 필요가 없습니다.

 

특히 참신세벌식D의 겹받침을 ㄴ, ㄹ으로 시작하는 겹받침은 낱자결합규칙(ㄹ+ㄴ=ㄼ 등)으로, 나머지 겹받침(과 ㅆ 받침)은 shift 처리로서 따로 분류하여 저만의 재량껏 설정하여 연습하고 있습니다. 몇 달 연습한 후에 괜찮다 싶으면 공개하겠습니다.

 

 

 

 

 

 

 

 

 

5. 제가 쓴 날개셋 글쇠 수식, 코드값들

 

 

 

값이 없음 (null) >

0

 

초성, 중성, 특수기호 only > 

(기호코드값)

 

초성 + 중성 (이중모음용 ㅗ, ㅜ) >

D&&!E&&!F ? (중성(이중모음용) : (초성)

 

특수기호 + 중성 (이중모음용 ㅗ, ㅜ) >

D&&!E&&!F ? (중성(이중모음용) : (특수기호)

 

중성 + 종성 >

D&&E&&E<0x1F4&&c<2 ? (종성) : (중성)

 

특수기호 + 종성 >

D&&E&&E<0x1F4&&c<2 ? (종성) : (특수기호)

 

 

 

 

이중모음용 ㅗ(500) 코드값 >

H3|0x1F40000

 

이중모음용 ㅜ(501) 코드값 >

H3|0x1F50000

 

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 답댓글 작성자wigglymapp 작성자 본인 여부 작성자 | 작성시간 24.01.02 기본적으로 제공되는 한글 ime 이외에 다른 한글 ime 지원이 있어야만 세벌식이 가능하다는 거죠. 날개셋 프로그램 등등을 말하는 겁니다.

    윈도우의 경우 콜맥과 세벌식을 qmk와 날개셋 프로그램의 조합을 써서 가능합니다. qmk는 키보드 자체의 영문 밑바닥 키를 바꾸고, 한글 ime는 이 영문 키에 대응하는 신호를 중간에 붙잡아서 한글 음소 값으로 변환해 출력합니다.
  • 답댓글 작성자wigglymapp 작성자 본인 여부 작성자 | 작성시간 24.01.02 스플릿 키보드 구입시 키 수가 너무 적은 키보드 기종들은 세벌식 구현할때 키가 적어서 구현을 못할 수 있으니 이런저런 면을 다 고려하고 구입하셔야 합니다.
  • 답댓글 작성자freeit | 작성시간 24.01.02 wigglymapp 아아!! 키 숫자가 중요하긴 하군요!! 날개셋이 한글 IME군요~
    확인해 주셔서 깊이 감사드립니다!!🤩
  • 답댓글 작성자wigglymapp 작성자 본인 여부 작성자 | 작성시간 24.01.02 freeit 콜맥을 밑바닥으로 쓰면 날개셋을 깔지 않은 다른 pc에서는 그 키보드로 한글을 타이핑할 수 없게 됩니다. 물론 쿼티로 default layer를 전환하는 방법이 있긴 하죠.
  • 답댓글 작성자freeit | 작성시간 24.01.02 wigglymapp 날개셋은 깔았습니다^^ 친절하게 알려주셔서 많은 도움이 되었습니다!! 🎶🙏🏻
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼