본문 바로가기

QMK configurator로 커스텀 키보드 펌웨어 컴파일 및 업데이트

by rudals.kim 2023. 4. 14. 댓글 개
반응형

일반적으로 QMK를 사용하여 커스텀 키보드를 만드는 경우 아래와 같은 순서대로 진행됩니다.

QMK 소스를 컴파일하여 펌웨어를 생성하고 생성된 펌웨어는 qmk_toolbox.exe를 사용하여 키보드에 업로드하면 됩니다.

 

위 이미지의 커스텀 키보드인 하드웨어 관련 부분은 인터넷 쇼핑몰에서 판매되는 것을 구매하거나 아니면 도면을 구해서 또는 직접 구현하여 PCB 제작업체에 주문을 하여 사용합니다.

 

그다음 소프트웨어는 QMK를 사용하는데 초보자 및 코딩 미경험자는 직접 코드를 컴파일하지는 않고 QMK Configurator 웹사이트에 접속하여 몇 가지 설정만 해 주면 쉽게 해당 키보드의 펌웨어를 빌드할 수 있습니다.

 

이런 방식의 키보드 업데이트는 기성품 키보드로 제한되는데 웹사이트 내에 키보드를 먼저 선택하면 해당 펌웨어를 컴파일해 주는 방식으로 동작되기 때문입니다. 따라서 기성품과 다른 자신만의 커스텀 키보드를 만들 경우에는 직접 소스코드를 컴파일해야만 합니다.

 

이렇게 빌드된 펌웨어를 qmk_toolbox로 해당 키보드에 업로드하면 쉽게 커스텀 키보드를 사용할 수 있습니다.

 

그러면 이제 위에서 설명한 웹사이트인 QMK Configurator 사이트에 접속해 봅니다.

 

QMK Configurator

 

config.qmk.fm

QMK Configurator 사이트에 접속하면 아래와 같은 화면이 나오는데 대략적으로 아래 번호 1~4번 순서로 실행하여 펌웨어를 컴파일 후 다운로드합니다.

위쪽부터 살펴보면 KEYBOARD 항목이 있는데 구매하거나 제작한 키보드를 선택하면 됩니다.(1번)

바로 아래에 있는 LAYOUT를 설정해야 하는데 리스트박스를 선택하여 나오는 Layout 리스트에서 선택하면 됩니다.(2번)

(제 경우에는 Corne 키보드를 만들어 볼 예정이므로 키보드는 crkbd/r2g를 레이아웃은 LAYOUT_split_3x6_3를 선택해 보았습니다.) 

 

이렇게만 설정해도 기본적인 키맵이 적용된 펌웨어의 컴파일 및 다운로드를 할 수 있습니다. 그런데 만약 기본 키맵이 불편하다거나 기본 키맵을 바꾸고 싶은 경우가 있는데 이런 경우 아래 이미지와 같이 레이어 설정화면에서 해당 키맵 값을 변경할 수 있습니다. 

 

웹사이트의 아래 왼편에 레이어라는 항목이 있는데 0~15번까지 레이어가 있습니다.

그중 제가 선택한 키보드에서는 0~3번까지 활성화가 되어 있습니다.

즉 이 키보드에서는 0,1,2,3번 총 4개의 레이어를 사용한다는 것을 알 수 있습니다.

(참고로 Corne 키보드는 총 키가 42개입니다. 키가 몇 개 안 되기 때문에 레이어라는 개념을 사용하여 각 레이어 별로 키를  재정의하여 부족한 키를 사용할 수 있습니다. 아래 이미지를 참고면 쉽게 레이어 개념을 이해할 수 있습니다.)

만약 키값을 변경하고 싶은 경우 바꾸고 싶은 키에 마우스 커서를 가져다 데면 해당 키 우측상단에 X 모양이 나옵니다.(아래 이미지의 파란색 원 참고) X를 눌러 해당 키 설정을 삭제 후 아래 키보드에서 사용하고 싶은 키값을 드래그하여 옮기면 해당 키값이 변경됩니다.

키맵의 변경을 마쳤다면 다음은 QMK configurator 화면의 오른쪽 위쪽에 있는 COMPILE(맨 위의 2번째 이미지의 3번 버튼 참고) 버튼을 눌러 펌웨어를 빌드를 합니다. 아래와 같은 이미지가 나오며 펌웨어가 컴파일됩니다. 컴파일이 완료되면 4번 버튼인 FIRMWARE 버튼을 눌러 컴파일된 펌웨어를 다운로드합니다.

4번 펌웨어 버튼 아래에 Get QMK Toolbox 링크를 눌러 qmk_toolbox.exe를 다운로드합니다.

다운로드한 qmk_toolbox.exe를 처음 실행할 경우 아래 이미지와 같이 드라이버를 설치한다는 팝업창이 나오는데 Yes 버튼을 클릭하여 설치를 합니다.

드라이버의 설치가 완료되면 Open 버튼을 눌러 다운로드한 crkbd_r2g_layout_split_3x6_3_mine.hex 펌웨어를 선택합니다. 오른쪽의 MCU는 사용하는 키보드의 MCU를 선택하면 됩니다.

아마 대부분의 키보드가 MCU로 ProMicro 계열이 사용될 텐데 이 경우 MCU로 ATmega32U4를 선택하면 됩니다.

Corne 키보드의 경우 ProMicro가 사용되어 ATmega32U4를 선택하였습니다.

USB 케이블을 연결 후 커스텀 키보드의 리셋 버튼을 누르면 키보드의 COM 포트가 인식되고(아래 이미지의 노란색 출력문 참고) 비활성화되어 있던 Flash 버튼이 활성화되는데 이때 Flash 버튼을 눌러 키보드에 펌웨어를 업로드합니다.

 

만약 일정 시간 동안 펌웨어를 업데이트하지 않으면 이 버튼이 다시 비활성화됩니다.

짧은 시간 동안에 Flash 버튼을 클릭하는 것이 불편한 경우 Flash 버튼 옆의 Auto-Flash를 체크합니다.

Auto-Flash가 체크된 경우 키보드의 리셋을 감지하여 Flash 버튼을 누르지 않아도 펌웨어를 자동으로 Flash 합니다.

아래와 같이 업데이트 진행사항이 표시되고 마지막에 Flash complete가 나오면 펌웨어 업데이트가 완료된 것입니다.

이런 식으로 QMK Configurator를 사용하여 펌웨어를 빌드하고 업로드하여 커스텀 키보드에 새로운 펌웨어를 설치(업데이트) 해 보았습니다. 누구라도 QMK Configurator 사이트를 이용하면 쉽게 커스텀 키보드를 업데이트할 수 있어서 편리합니다.

반응형

댓글