當我們已經聊完怎麼使用開放原始碼的韌體來開發一隻鍵盤之後,如何把現有的鍵盤加入功能鍵呢?例如把較少用到的menu
鍵變成FN
鍵,把FN+1
、FN+2
、FN+3
、FN+4
等按鍵變成大聲、小聲、播放、暫停呢?
先抓下tmk的開源鍵盤韌體
$ git clone git://github.com/tmk/tmk_keyboard.git
$ cd tmk_keyboard
$ git submodule init
$ git submodule update
$ cd converter/usb_usb
先看一下usb_usb資料夾底下的Makefile
檔案
MOUSEKEY_ENABLE ?= yes # Mouse keys
EXTRAKEY_ENABLE ?= yes # Media control and System control
CONSOLE_ENABLE ?= yes # Console for debug
#COMMAND_ENABLE ?= yes # Commands for debug and configuration
#NKRO_ENABLE ?= yes # USB Nkey Rollover
因為要塞進一個USB_HID的library,atmega32u4就快被寫滿了,因此USB_USB並不支援MKRO
當確認完Makefile
檔案後,就可以進行以下的動作
$ make clean
$ make
$ make install
如果覺得上述的指令太麻煩的話,TMK有web介面生成hex
檔,讓各位比較好編輯keycode
抓好合適的hex
檔後使用
avrdude -patmega32u4 -cavr109 -b57600 -Uflash:w:usb_usb.hex -PCOM17
就可以了
當然不要照抄,COM17
要改成你接上arduino的port,如果在linux下,可能長這樣/dev/ttyACM0
之類的東西,生成的hex
檔可能也會改變名稱,記得更換名稱