HID USB 키보드 펌웨어를 만들기로 했으니까 당연히 제일 먼저 HID USB 코드를 작성한다. 그래서 컴퓨터에 꼽아보고 HID 키보드로 인식되는 모습을 먼저 봐야 동기부여가 될 것이다. 프로그램을 만드는 작업은 일단 작업 내용을 바로바로 눈으로 볼 수 있어야 재미있게 할 수 있다.
나빌로스에 예제 코드 포팅 (멀티 플랫폼을 반만 고려해서 cortex-m3 삽질한 이야기)
Cortex-m3에 나빌로스를 포팅할 줄은 몰랐던 이야기.
키보드 펌웨어에 RTOS가 필수는 아니다. 하지만 내가 만든 RTOS(나빌로스: https://github.com/navilera/Navilos)가 이미 있으니 한번 실전 경험을 해야 하지 않겠는가하는 생각이 들었다. 그래서 직전에 만든 베이스 코드를 나빌로스에 포팅하기로 결정했다.
이 글은 커스텀 기계식 키보드를 하드웨어부터 펌웨어까지 모두 만들어본 이야기다. 첫 번째 이야기. 하드웨어 편.
원래는 그냥 기계식 키보드 하나 새로 사려고 했다. 그런데 기계식 키보드는 종류가 매우 많기 때문에 인터넷 검색질을 하면 할 수록 더욱 고르기 어렵게되는 문제가 있다. 어떤 키보드가 대충 80% 정도 마음에 드는데 다른 키보드는 부족한 20%를 채우고 있지만 나머지는 다 마음에 들지 않는 그런 상황이다. 그래서 생각했다. 그냥 내 마음에 드는 걸로 만들어 보는건 어떨까.
나빌입력기는 윈도우에서 동작하는 오픈 소스 한글 입력기 입니다. libhangul 자체를 윈도우에서 빌드하여 직접 사용하는 한글 입력기입니다. 그래서 한글 오토마타는 리눅스의 ibus, fcitx와 동일합니다. 모두 libhangul을 사용하니까요.
기존에 오픈 소스 윈도우 한글 입력기는 제가 조사한 범위에서는 새나루 입력기(https://kldp.net/saenaru/)가 유일했습니다. 새나루 입력기 역시 KLDP에서 활동하시던 개발자님들께서 만든 작품이지요. 새나루 입력기에 이어서 나빌 입력기는 사실상 두번째로 공개된 윈도우용 오픈 소스 한글 입력기입니다.
KLDP 블로그는 그다지 화려하지도, 많은 기능을 제공하지도 않지만 F/OSS, IT에 관련된 충실한 내용을 담고자 노력하는 분들이 함께 만들어 나가고 있습니다. 혹시라도 이곳에서 블로그를 운영하시고자 하는 분은 이곳으로 어떤 내용으로 운영하실지를 알려 주십시오. 확인 후 개설 여부를 결정하여 알려 드리도록 하겠습니다.