스플릿 키보드인 sofle과 키보드 키 맵핑 펌웨어인 zmk관련 정보를 정리한 문서입니다.
저도 이런 키보드는 처음이라 나중을 위해서 메모 하려합니다.
zmk는 키맵 파일을 git의 action기능으로 빌드? 시켜 추출한 파일을 키보드에 옮겨서 적용하더라구요.
zmk 기반 키보드에 키 맵핑하기
순서는 이렇습니다.
- sofle-zmk 깃 fork하기 (git 계정 필요)
- 키맵 에디터 로 깃 연결
- 키 맵핑 완료 후 추출 된 파일 키보드에 적용
1. sofle-zmk 깃 fork하기 (git 계정 필요)
sofle zmk 깃은 검색하면 잘 나오는데요. 이 글에서는 제가 fork 한 git을 공유하겠습니다.
2. 키맵 에디터 로 깃 연결
본인의 깃으로 fork를 완료하면 키맵 에디터 로 접속하여 fork한 깃을 연결 하면 됩니다.
이 화면에서 키를 바꿔주고 save하면 되는데요.
save가 git의 commit으로 연결됩니다. 이제 fork한 본인의 깃으로 가면 자동 파이프라인으로 action이 돌고 있을텐데요.
이 작업이 끝나면 파일이 추출됩니다.
이때 에러가 나는 경우가 있는데요. 에러가 안나면 바로 3번 작업 하시면 됩니다.
왼쪽 Jobs를 보면 left, right build가 실패된게 보입니다. 로그를 보면 어떤 오류인지 볼 수 있습니다.
#include <dt-bindings/zmk/pointing.h>
#include <dt-bindings/zmk/pointing.h>
이 라인이 문제라는데, 찾아보니 포인터 또는 트랙볼이 없는 키보드인데 해당 헤더를 사용하려해서 그렇다고 합니다.
저는 저 기능이 필요없으니 깃에서 config 폴더 안의 sofle.keymap
파일을 찾아서 저 라인을 지워줍니다.
저장하니 아까처럼 다시 파이프라인이 돌고 정상 빌드가 되네요.
3. 키 맵핑 완료 후 추출 된 파일 키보드에 적용
완료되고 Summary탭에 가서 추출된 firmware
파일을 받아줍니다.
이제 파일을 키보드에 옮겨야하는데요.
sofle 키보드를 하나씩 USB로 연결해줍니다.
연결 후 저 버튼을 두번 누르면 키보드가 저장 장치로 인식되면서 컴퓨터에 폴더가 하나 잡힙니다.
이제 left, right 파일을 sofle 키보드 좌, 우의 CURRENT.uf2
파일로 각각 바꿔주면 자동으로 적용되고 바로 사용가능해집니다.
reset파일은 적용하면 초기화되니 주의하세요.