2017
Jan
02




組裝完 GH60 鍵盤之後,下一步就是要自已刷鍵位囉,裝 GH60 鍵盤除了可以把鍵盤弄成自已要的風格,另外最重要的就是自定每一個按鍵的輸出值,這篇文章我會先介紹如何用軟體重刷鍵位,下次再來介紹如何修改 tmk keyboad 的鍵位設定。

如果你是使用 Mac 系統,那麼請參考我的另一篇文章 Mac 刷鍵位教學

網路上有不少刷鍵位教學的文章,不過很多都過時了,軟體已經不能下載或安裝,不然就是技術狂人寫出來很難懂的神奇教學,我記錄下我的刷鍵位方式,希望大家都能夠輕鬆刷機,本篇文章只介紹如何在 Windows 系統刷鍵位喔! (Mac 請右轉)

刷鍵位軟體

網路上可以找到好幾種刷鍵位軟體,其中 UI 介面的有 Atmel Flip 與 Teensy , 這裡我要使用的軟體是 Atmel Flip ,我翻開看我的 GH60 PCB 板,背面黑黑的主控件上面寫著 Atmel Atmega32U4,所以我當然是選用 Atmel Flip 來刷機,其實我也試過 Teensy ,但是 Teensy 沒辦法偵側到我的板子,如果你刷鍵位軟體沒辦法載入你的板子,記得翻開背面看看大大一塊,黑色的主控件上面寫著什麼牌子。

你可以從下面這個連結下載 Atmel Flip,官方的下載連結有提供三種檔案,一個是內建 Java ,一個沒有內建 Java,最後一個是給 Linux 用的,如果你要下載無內建 Java ,那麼你要記得自已安裝 Java。

Flip 是一個 Windows UI 介面的軟體,我們可以用他來更新各種裝置的韌體,例如鍵盤,廢話 ~ 鍵盤是我今天的重點 ! 而今天我就是要使用 Flip 來更新機械式鍵盤的鍵位設定,這個軟體的安裝方式很簡單,在 Windows 介面中就是一直點下一步就安裝完成了,安裝完成後就可以直接打開 Flip 程式如左圖。

接下就我們要選 device DeviceSelectAtmega32U4 ,如下圖示 。

選好 Device 後,下一步是要選 SettingsCommunicationUSB ,這一步是指我們要選擇需要被刷鍵的鍵盤,大部份的機械式鍵盤都是用 USB 連到電腦,所以一般來說就選 USB 就可以了。

Driver 沒有安裝 libusb-win32

上一步選完 Communication ,你會得到一個錯誤訊息,說你的電腦"遺失 libusb0.dll" ,我的 Windows 是裝英文版的,錯誤訊息是說 "libusb0.dll not found" ,問題就是我們沒有安裝 libusb0.dll 這個程式庫,安裝方式可以參考下面這個網站:

安裝 libusb : 簡單說就是新增一個硬體,然後選擇自已驅動程式,尋找這個路徑 C:\Program Files (x86)\Atmel\Flip 3.4.7 , 硬體類型我選擇 Atmega16U4 ,這樣 Windows 就會幫你自動安裝 好 libusb0.dll 。


確認是否安裝成功,先打開裝置管理員,確定是否有 libusb-win32 devices ,如果已經有了,你會看到下面這個圖示:

下載鍵位設定檔

好了,接下來我們就可以刷鍵位了,但是我們得先有一個鍵位設定檔,可以自已編譯程式產生設定檔,或是下載別人編譯好的,這裡先用簡單的方式,就是去下載別人的設定檔,下面我提供兩個設定檔給大家下載,gh60-0.2_rc2_std_layout 這個是 geekhack https://geekhack.org/index.php?topic=37570.0 有人提供的,另一個 gh60_lufa.hex 是我自已編譯的。

開始刷鍵位

先回到 Flip 軟體的畫面,記得要選 SettingsComunicationUSB

接著你要按一下 PCB 版 背面右邊的一顆按鈕,按下去聽到喀一聲, PCB 就會進入刷機模式,如果按鈕太小按不太到的話,就用攝子壓一下,在刷機模式中 Caps 鍵的燈會一直閃動,看到燈在閃就是已經進入刷機模式了。

這時點擊 Flip UI 上的 Open ,Flip 會自動載入鍵盤,這時你會看 UI 左邊的 Erase, Black Check , Program , Verify 變成可以勾選,記得全部打勾,然後再點擊 FileLoad HEX File ,選擇你剛剛下載的 Hex 鍵位設定檔,選完按左下角的 Run ,等大約 10 秒就刷機完畢了,最後再按一下 Flip 右邊按鈕的 Start Application ,新刷好的鍵位會立刻生效,不用拔 USB 插頭,打開 notepad 或是 sublime 試一下鍵盤每個按鍵是否正常輸出。

恭喜你 ! 你已經學會刷鍵盤鍵位囉,下一步就是自已產生鍵位設定檔,這個檔案的副檔名為 .hex ,只要你懂得如何產生 .hex ,那麼你就可以自定鍵盤的所有熱鍵、組合鍵囉,我自已編譯的 gh60_lua 是使用 tmk_keyboard 來編譯的。

下面這兩個是鍵盤韌體的原始碼,第一個是原創,支援 PCB 板子 Rev. A , Rec. B ,你可以翻到板子背面,看看你的板子是 Rev 多少,第二個連結是有人拿 tmk 來改的,改成支援 Rev. C ,建議使用第二個連結的檔案來編譯,問題會比較少。


回應 (Leave a comment)