|
本帖最后由 瑪麗蘇 于 2016-1-7 11:01 編輯
forum.jpg (68.46 KB, 下載次數(shù): 103)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
[ 前言 ]
隨著電競(jìng)方面政策的開放,機(jī)械鍵盤這些年在國內(nèi)也火起來了,同時(shí)國內(nèi)的機(jī)械鍵盤客制化玩家也變得多起來。入坑客制化幾個(gè)月,國內(nèi)的客制化模式還比較單一,主要就是PCB、外殼、鍵帽再加上燈,有創(chuàng)新的也不是沒有但比較少(比如BLE6,這個(gè)全球惟一BLE客制化60 PCB)。自己想要的鍵盤買不到,或者說太貴,那么,我只能自己動(dòng)手了。
所有操作都沒什么難度,所用到的東西都是現(xiàn)成的,我只是把這些東西按我的用法來實(shí)現(xiàn)了我想要的結(jié)果。重在想法,在我之前沒人這么用過,也希望本文能給大家一些啟發(fā)和幫助。
[ Part 1.準(zhǔn)備工作與原理闡述 ]
準(zhǔn)備工作主要指需要的材料,所有物品淘寶及閑魚購得。這算是我的第一個(gè)無線40%機(jī)械鍵盤的嘗試,所以成本控制得較低。這個(gè)完成之后的下一步就是做一個(gè)更窄邊框更輕薄的無線40%機(jī)械鍵盤,40%這個(gè)尺寸在tmk固件的配合下我日用起來是毫無壓力的。
名稱 | 數(shù)量 | 價(jià)格 | 亞克力夾心外殼(閑魚) | 1 | 33元 | MKC金屬腳墊(淘寶) | 2 | 20元 | 櫻桃軸(39顆茶軸、1顆青軸) | 40 | 80元 | 衛(wèi)星軸6.25x(淘寶) | 1 | 10元 | 羅技K230無線鍵盤(京東) | 1 | 89元 | ARDUINO USB Host Shield (淘寶) | 1 | 44元 | Arduino Leonardo R3(淘寶) | 1 | 24元 | 松下2032電池(天貓) | 5 | 11元 |
除開鍵帽后花費(fèi)大致如上再加上郵費(fèi)若干,除了殼我買到的價(jià)格較低一點(diǎn)外,其他列出的都是正常價(jià)。上面價(jià)格并沒有包含鍵帽,鍵帽的價(jià)格不具有參考性,因?yàn)樗梢韵碌綆资系竭^千。
然后說說,為什么選擇使用優(yōu)聯(lián)呢?原因之一是我不是搞開發(fā)的,做藍(lán)牙鍵盤我根本不會(huì),先前的BLE60其實(shí)在編程功能以及續(xù)航上(日常使用兩到三周)都比較滿意了,但是我做不出那樣的產(chǎn)品。另外,優(yōu)聯(lián)相比藍(lán)牙也還是有幾個(gè)好處的:
1是搞干擾能力強(qiáng)于藍(lán)牙;
2是續(xù)航超強(qiáng),兩節(jié)AAA電池用一到兩年;
3是鍵盤喚醒速度比藍(lán)牙快,從節(jié)能休眠狀態(tài)中喚醒幾乎感覺不到明顯延遲。
關(guān)于優(yōu)聯(lián)飛線,網(wǎng)上搜索“優(yōu)聯(lián) 飛線”能找到不少的帖子和教程,都得飛成下面這樣,而且一邊飛還要注意時(shí)不時(shí)測(cè)試有沒有線接錯(cuò)了。(以下圖片來自網(wǎng)絡(luò))
forum (1).jpg (108.53 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
forum (2).jpg (117.51 KB, 下載次數(shù): 102)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
然而有了DIY有線機(jī)械鍵盤的經(jīng)驗(yàn),直接連接標(biāo)準(zhǔn)矩陣的話,是這樣的,看上去簡(jiǎn)潔多了。有興趣的可以看看國外這個(gè)教程(地址直通)。
forum (3).jpg (89.94 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
因?yàn)?0鍵盤,如果不支持按鍵編程,是根本沒辦法正常用的,那還怎么讓人輸數(shù)字,怎么讓人輸符號(hào)了。然而,羅技的優(yōu)聯(lián)主控,并不能進(jìn)行全鍵盤按鍵編程,雖然用按鍵增強(qiáng)軟件能實(shí)現(xiàn)部分功能(比如ahk),但那并不是我想到的。因此介紹一個(gè)重要物品——USB to USB Keyboard Converter(github地址,geekhack地址)。
簡(jiǎn)單來說,這個(gè)轉(zhuǎn)換器的原理就是獲取usb鍵盤輸入它的按鍵值,再輸出新的值到PC上,因此用它可以實(shí)現(xiàn)tmk固件的各種高級(jí)功能。geekhac上有作者銷售的成品,也有自己制作的方法。我這個(gè)是先前做的,制作最簡(jiǎn)單,就是Arduino Leonardo R3和ARDUINO USB Host Shield 疊起來就行了。
forum (4).jpg (101.05 KB, 下載次數(shù): 104)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
上面這個(gè)體積是比較大了一點(diǎn),還有一個(gè)比較小的組合方式,用Pro Micro或者Teensy加上mini host shield,體積就會(huì)減小到如下圖所示。
forum (5).jpg (72.23 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
當(dāng)然買作者h(yuǎn)asu的成品會(huì)更小,只是價(jià)格較貴,50刀,郵費(fèi)8刀。
forum (6).jpg (77.24 KB, 下載次數(shù): 103)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
簡(jiǎn)單介紹完USB to USB keyboard converter后,接著繼續(xù),這次用的是羅技k230的主控,對(duì)于要使用的主控,最先應(yīng)該測(cè)出該主控的按鍵矩陣,k230和k270網(wǎng)上都有現(xiàn)成的,k230的如下(感謝Luckybird929)。
forum (7).jpg (70.76 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
我將其整理成表格的形式如下,方便用我自己的方式飛線。
forum.png (216.72 KB, 下載次數(shù): 102)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
然后這次使用的是jd40的布局,總共40個(gè)鍵,四排的按鍵數(shù)依次為12 11 11 6。此處的作法就是我所用方法的關(guān)鍵了,我只保證每個(gè)按鍵都觸發(fā)而不用管它是否對(duì)應(yīng)。因此,我從k230的矩陣中選擇了四列,如下圖所示,藍(lán)字為k230優(yōu)聯(lián)主控的接口以及對(duì)應(yīng)按鍵,紅色為之后要重映射第0層大致的按鍵。
forum (1).png (82.67 KB, 下載次數(shù): 105)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
講到這里大概理解我做了什么吧。
小結(jié)一下:
1.簡(jiǎn)化優(yōu)聯(lián)飛線。
2.使用USB to USB keyboard converter從usb接收端進(jìn)行按鍵編程。
[ Part 2.焊接鍵盤 ]
在焊接前第一步,我先把外殼的邊框給打磨了,亞克力外殼的邊框切割痕跡比較明顯,我是略微有點(diǎn)不能接受的。下圖是打磨前的。
forum (8).jpg (55.94 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
然后是打磨后的。
forum (9).jpg (45.8 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
因?yàn)闆]有使用PCB,所以將軸直接固定在上殼同時(shí)也是定位板上,這次使用的是茶軸,空格為青軸,啪啪啪的青軸用在空格上,用來保持打字時(shí)的節(jié)奏。
forum (10).jpg (102.3 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
背面每個(gè)軸再用熱熔膠固定一下,因?yàn)檫@個(gè)定位板是可開軸蓋的設(shè)計(jì),所以熱熔膠固定時(shí)只固定了上下兩個(gè)位置。不用擔(dān)心不牢固,我已經(jīng)插拔多次鍵帽,沒有把軸拔出來過。飛線的連接方式可以參考Part 1里給出的國外玩家寫的教程,這時(shí)需要注意的是二極管的方向,連接前測(cè)試好,對(duì)于k230的主控,二極管黑色端接1、2、3、4這邊,紅色接10、11、12、13這些。接二極管主要是為了防止按鍵沖突,這樣做到了全鍵盤任意6鍵無沖。
forum (11).jpg (114.05 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
空格鍵需要一組6.25x的衛(wèi)星軸,我是拿一個(gè)廢鍵盤的PCB切下一小部分,再打孔固定衛(wèi)星軸的。如果是自己做外殼,還是建議使用定位板衛(wèi)星軸或平衡桿。前面行線上已經(jīng)二極管連好,現(xiàn)在接好列線,我用的OK單芯飛線,別用網(wǎng)線,太硬了超難用。
forum (12).jpg (110.82 KB, 下載次數(shù): 99)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
接下來,按Part 1里給出的圖,將行線和列線都連接到K230的優(yōu)聯(lián)主控上對(duì)應(yīng)的針腳,同時(shí)電池要用的線也接好。這個(gè)外殼比較薄,所以使用CR2032電池來供電,根據(jù)另外一個(gè)飛線優(yōu)聯(lián)小伙伴的使用情況(他是104鍵盤盤絲洞式飛線),幾毛錢一顆的雜牌2032也堅(jiān)持了2個(gè)月。這里故意將線留長(zhǎng)了一些,萬一以后哪個(gè)軸有問題時(shí)有足夠的空間將主控提起來,然后換軸。
forum (13).jpg (115.26 KB, 下載次數(shù): 98)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
底部貼上防滑腳墊,前方用了兩個(gè)mkc金屬腳墊來讓鍵盤使用時(shí)有一定的斜度。
forum (14).jpg (52.71 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
還有底殼上開了一個(gè)小孔,正好對(duì)應(yīng)在優(yōu)聯(lián)主控開關(guān)的位置。
forum (15).jpg (46.23 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
這下鍵盤就組裝完了,把接收器直接插電腦上試試,所有按鍵都是觸發(fā)的,當(dāng)然并沒有和鍵盤上按鍵位置對(duì)應(yīng)上,按鍵會(huì)在Part 3里再解決。
最終再裝上鍵帽后,效果圖如下。
forum (16).jpg (70.06 KB, 下載次數(shù): 107)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
forum (17).jpg (44.05 KB, 下載次數(shù): 102)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
forum (18).jpg (44.18 KB, 下載次數(shù): 103)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
forum (19).jpg (62.49 KB, 下載次數(shù): 103)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
forum (20).jpg (75.75 KB, 下載次數(shù): 108)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
forum (21).jpg (94.09 KB, 下載次數(shù): 106)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
[ Part 3.編譯固件&修改布局 ]
對(duì)于軟件或硬件開發(fā),我的經(jīng)驗(yàn)是0,所以下面的過程只是按我的理解與方法來的,有不正規(guī)的還請(qǐng)程序猿大大包涵,有錯(cuò)誤的也請(qǐng)指正。不會(huì)編程的照做也可以,本身并不需要多少編程知識(shí),后面的改布局,依葫蘆畫瓢改就是了。
首先是搭建編譯環(huán)境,我的操作系統(tǒng)是win10,不想安裝Linux,因此在windows下首先安裝cygwin。
1.安裝時(shí)選擇了安裝Devel和Shell下的所有組件,其他基本是默認(rèn)。
2.安裝dfu-programmer,安裝方法是按照github上給的Linux下安裝的方法進(jìn)行編譯與安裝。地址直達(dá):https://github.com/dfu-programmer/dfu-programmer
3.安裝aVR8-gnu-toolchain-installer-3.5.0.84-win32.any.x86,這是從官方下載的,下載完解壓后,復(fù)制到cygwin文件夾里。
4.嘗試編譯USB to USB keyboard converter使用的固件,這個(gè)在Part 1里給出的github以及geekhack的網(wǎng)址里都有介紹,如下:
Build firmware
--------------
$ git clone git://github.com/tmk/tmk_keyboard.git
$ cd tmk_keyboard
$ git submodule init
$ git submodule update
$ cd converter/usb_usb
$ make
如果編譯不成功,根據(jù)錯(cuò)誤提示補(bǔ)全cygwin的組件。
5.將生成的hex刷入,win下使用的arduloader來刷的,這個(gè)win下刷hex的工具足夠的傻瓜和簡(jiǎn)單。
forum (22).jpg (57.51 KB, 下載次數(shù): 104)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
以上步驟完成,測(cè)試USB to USB keyboard converter是正常使用的,那就ok。下面才開始編譯適用于本貼DIY的無線40用的固件。
用記事本打開tmk_keyboard\converter\usb_usb\keymap_common.h看看,會(huì)看到如下:
forum (8).png (401.19 KB, 下載次數(shù): 99)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
這個(gè)排列看上去挺眼熟的,對(duì)吧。它就是一個(gè)標(biāo)準(zhǔn)104鍵的按鍵布局,為了后面更加方便進(jìn)行修改,把這個(gè)布局改成40了。根據(jù)上面圖片提供的按鍵值,40的話就應(yīng)該如下圖所示。
forum (3).png (166.77 KB, 下載次數(shù): 99)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
再依照上圖修改keymap_common.h文件,得到如下結(jié)果。
forum (4).png (275.83 KB, 下載次數(shù): 107)
下載附件
保存到相冊(cè)
2016-1-7 10:53 上傳
接下來就是利用kle(Keyboard Layout Editor)和tkg來生成按鍵布局的源碼了,這方面可以看看我寫過的一個(gè)教程:PDF的百度網(wǎng)盤地址。
我用的是三層布局,按鍵如下:
forum (5).png (314.57 KB, 下載次數(shù): 104)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
因?yàn)槭莏d40布局,而amj40也是這個(gè)布局,所以tkg里直接選amj40。然后將raw data復(fù)制過去,再設(shè)置好各個(gè)fn的功能。之后點(diǎn)擊“下載.c文件“。
forum (6).png (312.41 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
將下載回來的.c文件重命名一下,比如我改為了keymap_yang.c,再移到tmk_keyboard\converter\usb_usb\目錄。這個(gè)文件目前是不能直接使用的,還需要做一些修改。對(duì)照一個(gè)該目錄下的其他幾個(gè)keymap*.c就會(huì)知道怎么改了。大致如下,紅框內(nèi)的內(nèi)容刪除,藍(lán)框內(nèi)的稍微修改一下。
forum (7).png (336.15 KB, 下載次數(shù): 103)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
最終的結(jié)果就是下圖這樣的。
現(xiàn)在可以開始編譯了,因?yàn)槲蚁惹爸孛藶閗eymap_yang.c,所以編譯的時(shí)候使用命令為
make KEYMAP=yang
編譯成功后得到usb_usb.hex,刷入U(xiǎn)SB to USB keyboard converter,一切工作正常。
上面通過kle及tkg來完成,當(dāng)然也可以直接編輯keymap*.c這個(gè)文件,多對(duì)照看看就知道它是怎么樣的格式以及各個(gè)按鍵的寫法了,只是我覺得kle看起來更直觀一些。
小結(jié):可以說USB to USB keyboard converter是本文的關(guān)鍵,只要自己會(huì)搭建環(huán)境編譯固件了,那么就不存在難度了。
[ Part 4.總結(jié) ]
本來只是想分享一下這次制作的無線優(yōu)聯(lián)40鍵盤的,結(jié)果寫得較多就干脆寫成教程了。
USB to USB keyboard converter是個(gè)好東西,事實(shí)上除了用來飛線40外,像60鍵盤也可以通過此方法來飛線成無線鍵盤,并且支持編程。甚至是想給普通的無線鍵盤或者usb鍵盤使用tmk固件功能,也可以通過它來實(shí)現(xiàn)。
雖然說自己沒有能力去開發(fā)一個(gè)無線鍵盤主控,但是,利用本文的方法還是制作出了自己想要的鍵盤,我還是很滿意的。而且,這個(gè)鍵盤非常非常好用,畢竟優(yōu)聯(lián)本身已經(jīng)是一個(gè)相當(dāng)優(yōu)秀的無線方案了。
最終成果是,一把日用主力40%無線機(jī)械鍵盤,重量270g,輕于Surface Pro 3的超薄原裝鍵盤套(約300g)。
下一把的打算是:外殼也自己訂做,上下兩層改用碳纖維,中間夾心夾還是亞克力,但是鍵盤四周的邊框會(huì)收窄到幾近無邊程度。同時(shí),厚度會(huì)再稍微縮減一點(diǎn),布局會(huì)修改一下,采用雙空格。
forum (23).jpg (67.57 KB, 下載次數(shù): 99)
下載附件
保存到相冊(cè)
2016-1-7 10:54 上傳
PS:本文轉(zhuǎn)自chiphell |
上一篇: Panasonic在CES發(fā)表UHD 4K 播放機(jī)DMP-UB900下一篇: 實(shí)測(cè):分體電視體驗(yàn)上與電視盒子有什么區(qū)別
|