ZNDS智能電視網 推薦當貝市場

TV應用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 146007|回復: 5
上一主題 下一主題
[經驗&教程]

教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2016-1-7 10:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自浙江
本帖最后由 瑪麗蘇 于 2016-1-7 11:01 編輯


教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

[  前言  ]
隨著電競方面政策的開放,機械鍵盤這些年在國內也火起來了,同時國內的機械鍵盤客制化玩家也變得多起來。入坑客制化幾個月,國內的客制化模式還比較單一,主要就是PCB、外殼、鍵帽再加上燈,有創(chuàng)新的也不是沒有但比較少(比如BLE6,這個全球惟一BLE客制化60 PCB)。自己想要的鍵盤買不到,或者說太貴,那么,我只能自己動手了。
所有操作都沒什么難度,所用到的東西都是現(xiàn)成的,我只是把這些東西按我的用法來實現(xiàn)了我想要的結果。重在想法,在我之前沒人這么用過,也希望本文能給大家一些啟發(fā)和幫助。



[  Part 1.準備工作與原理闡述  ]
準備工作主要指需要的材料,所有物品淘寶及閑魚購得。這算是我的第一個無線40%機械鍵盤的嘗試,所以成本控制得較低。這個完成之后的下一步就是做一個更窄邊框更輕薄的無線40%機械鍵盤,40%這個尺寸在tmk固件的配合下我日用起來是毫無壓力的。
名稱數量價格
亞克力夾心外殼(閑魚)133元
MKC金屬腳墊(淘寶)220元
櫻桃軸(39顆茶軸、1顆青軸)4080元
衛(wèi)星軸6.25x(淘寶)110元
羅技K230無線鍵盤(京東)189元
ARDUINO USB Host Shield (淘寶)144元
Arduino Leonardo R3(淘寶)124元
松下2032電池(天貓)511元

除開鍵帽后花費大致如上再加上郵費若干,除了殼我買到的價格較低一點外,其他列出的都是正常價。上面價格并沒有包含鍵帽,鍵帽的價格不具有參考性,因為它可以下到幾十上到過千。

然后說說,為什么選擇使用優(yōu)聯(lián)呢?原因之一是我不是搞開發(fā)的,做藍牙鍵盤我根本不會,先前的BLE60其實在編程功能以及續(xù)航上(日常使用兩到三周)都比較滿意了,但是我做不出那樣的產品。另外,優(yōu)聯(lián)相比藍牙也還是有幾個好處的:
1是搞干擾能力強于藍牙;
2是續(xù)航超強,兩節(jié)AAA電池用一到兩年;
3是鍵盤喚醒速度比藍牙快,從節(jié)能休眠狀態(tài)中喚醒幾乎感覺不到明顯延遲。

關于優(yōu)聯(lián)飛線,網上搜索“優(yōu)聯(lián) 飛線”能找到不少的帖子和教程,都得飛成下面這樣,而且一邊飛還要注意時不時測試有沒有線接錯了。(以下圖片來自網絡)
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

然而有了DIY有線機械鍵盤的經驗,直接連接標準矩陣的話,是這樣的,看上去簡潔多了。有興趣的可以看看國外這個教程(地址直通)。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

因為40鍵盤,如果不支持按鍵編程,是根本沒辦法正常用的,那還怎么讓人輸數字,怎么讓人輸符號了。然而,羅技的優(yōu)聯(lián)主控,并不能進行全鍵盤按鍵編程,雖然用按鍵增強軟件能實現(xiàn)部分功能(比如ahk),但那并不是我想到的。因此介紹一個重要物品——USB to USB Keyboard Converter(github地址geekhack地址)。
簡單來說,這個轉換器的原理就是獲取usb鍵盤輸入它的按鍵值,再輸出新的值到PC上,因此用它可以實現(xiàn)tmk固件的各種高級功能。geekhac上有作者銷售的成品,也有自己制作的方法。我這個是先前做的,制作最簡單,就是Arduino Leonardo R3和ARDUINO USB Host Shield 疊起來就行了。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

上面這個體積是比較大了一點,還有一個比較小的組合方式,用Pro Micro或者Teensy加上mini host shield,體積就會減小到如下圖所示。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

當然買作者hasu的成品會更小,只是價格較貴,50刀,郵費8刀。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

簡單介紹完USB to USB keyboard converter后,接著繼續(xù),這次用的是羅技k230的主控,對于要使用的主控,最先應該測出該主控的按鍵矩陣,k230和k270網上都有現(xiàn)成的,k230的如下(感謝Luckybird929)。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

我將其整理成表格的形式如下,方便用我自己的方式飛線。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

然后這次使用的是jd40的布局,總共40個鍵,四排的按鍵數依次為12 11 11 6。此處的作法就是我所用方法的關鍵了,我只保證每個按鍵都觸發(fā)而不用管它是否對應。因此,我從k230的矩陣中選擇了四列,如下圖所示,藍字為k230優(yōu)聯(lián)主控的接口以及對應按鍵,紅色為之后要重映射第0層大致的按鍵。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

講到這里大概理解我做了什么吧。
小結一下:
1.簡化優(yōu)聯(lián)飛線。
2.使用USB to USB keyboard converter從usb接收端進行按鍵編程。



[  Part 2.焊接鍵盤  ]
在焊接前第一步,我先把外殼的邊框給打磨了,亞克力外殼的邊框切割痕跡比較明顯,我是略微有點不能接受的。下圖是打磨前的。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
然后是打磨后的。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

因為沒有使用PCB,所以將軸直接固定在上殼同時也是定位板上,這次使用的是茶軸,空格為青軸,啪啪啪的青軸用在空格上,用來保持打字時的節(jié)奏。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

背面每個軸再用熱熔膠固定一下,因為這個定位板是可開軸蓋的設計,所以熱熔膠固定時只固定了上下兩個位置。不用擔心不牢固,我已經插拔多次鍵帽,沒有把軸拔出來過。飛線的連接方式可以參考Part 1里給出的國外玩家寫的教程,這時需要注意的是二極管的方向,連接前測試好,對于k230的主控,二極管黑色端接1、2、3、4這邊,紅色接10、11、12、13這些。接二極管主要是為了防止按鍵沖突,這樣做到了全鍵盤任意6鍵無沖。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

空格鍵需要一組6.25x的衛(wèi)星軸,我是拿一個廢鍵盤的PCB切下一小部分,再打孔固定衛(wèi)星軸的。如果是自己做外殼,還是建議使用定位板衛(wèi)星軸或平衡桿。前面行線上已經二極管連好,現(xiàn)在接好列線,我用的OK單芯飛線,別用網線,太硬了超難用。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

接下來,按Part 1里給出的圖,將行線和列線都連接到K230的優(yōu)聯(lián)主控上對應的針腳,同時電池要用的線也接好。這個外殼比較薄,所以使用CR2032電池來供電,根據另外一個飛線優(yōu)聯(lián)小伙伴的使用情況(他是104鍵盤盤絲洞式飛線),幾毛錢一顆的雜牌2032也堅持了2個月。這里故意將線留長了一些,萬一以后哪個軸有問題時有足夠的空間將主控提起來,然后換軸。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

底部貼上防滑腳墊,前方用了兩個mkc金屬腳墊來讓鍵盤使用時有一定的斜度。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

還有底殼上開了一個小孔,正好對應在優(yōu)聯(lián)主控開關的位置。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

這下鍵盤就組裝完了,把接收器直接插電腦上試試,所有按鍵都是觸發(fā)的,當然并沒有和鍵盤上按鍵位置對應上,按鍵會在Part 3里再解決。


最終再裝上鍵帽后,效果圖如下。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤


[  Part 3.編譯固件&修改布局  ]
對于軟件或硬件開發(fā),我的經驗是0,所以下面的過程只是按我的理解與方法來的,有不正規(guī)的還請程序猿大大包涵,有錯誤的也請指正。不會編程的照做也可以,本身并不需要多少編程知識,后面的改布局,依葫蘆畫瓢改就是了。

首先是搭建編譯環(huán)境,我的操作系統(tǒng)是win10,不想安裝Linux,因此在windows下首先安裝cygwin。
1.安裝時選擇了安裝Devel和Shell下的所有組件,其他基本是默認。
2.安裝dfu-programmer,安裝方法是按照github上給的Linux下安裝的方法進行編譯與安裝。地址直達:https://github.com/dfu-programmer/dfu-programmer
3.安裝aVR8-gnu-toolchain-installer-3.5.0.84-win32.any.x86,這是從官方下載的,下載完解壓后,復制到cygwin文件夾里。
4.嘗試編譯USB to USB keyboard converter使用的固件,這個在Part 1里給出的github以及geekhack的網址里都有介紹,如下:
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
如果編譯不成功,根據錯誤提示補全cygwin的組件。
5.將生成的hex刷入,win下使用的arduloader來刷的,這個win下刷hex的工具足夠的傻瓜和簡單。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

以上步驟完成,測試USB to USB keyboard converter是正常使用的,那就ok。下面才開始編譯適用于本貼DIY的無線40用的固件。
用記事本打開tmk_keyboard\converter\usb_usb\keymap_common.h看看,會看到如下:
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

這個排列看上去挺眼熟的,對吧。它就是一個標準104鍵的按鍵布局,為了后面更加方便進行修改,把這個布局改成40了。根據上面圖片提供的按鍵值,40的話就應該如下圖所示。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

再依照上圖修改keymap_common.h文件,得到如下結果。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

接下來就是利用kle(Keyboard Layout Editor)和tkg來生成按鍵布局的源碼了,這方面可以看看我寫過的一個教程:PDF的百度網盤地址。
我用的是三層布局,按鍵如下:
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

因為是jd40布局,而amj40也是這個布局,所以tkg里直接選amj40。然后將raw data復制過去,再設置好各個fn的功能。之后點擊“下載.c文件“。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

將下載回來的.c文件重命名一下,比如我改為了keymap_yang.c,再移到tmk_keyboard\converter\usb_usb\目錄。這個文件目前是不能直接使用的,還需要做一些修改。對照一個該目錄下的其他幾個keymap*.c就會知道怎么改了。大致如下,紅框內的內容刪除,藍框內的稍微修改一下。
教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

最終的結果就是下圖這樣的。


現(xiàn)在可以開始編譯了,因為我先前重命名了為keymap_yang.c,所以編譯的時候使用命令為
make KEYMAP=yang
編譯成功后得到usb_usb.hex,刷入USB to USB keyboard converter,一切工作正常。
上面通過kle及tkg來完成,當然也可以直接編輯keymap*.c這個文件,多對照看看就知道它是怎么樣的格式以及各個按鍵的寫法了,只是我覺得kle看起來更直觀一些。

小結:可以說USB to USB keyboard converter是本文的關鍵,只要自己會搭建環(huán)境編譯固件了,那么就不存在難度了。


[  Part 4.總結  ]
本來只是想分享一下這次制作的無線優(yōu)聯(lián)40鍵盤的,結果寫得較多就干脆寫成教程了。
USB to USB keyboard converter是個好東西,事實上除了用來飛線40外,像60鍵盤也可以通過此方法來飛線成無線鍵盤,并且支持編程。甚至是想給普通的無線鍵盤或者usb鍵盤使用tmk固件功能,也可以通過它來實現(xiàn)。
雖然說自己沒有能力去開發(fā)一個無線鍵盤主控,但是,利用本文的方法還是制作出了自己想要的鍵盤,我還是很滿意的。而且,這個鍵盤非常非常好用,畢竟優(yōu)聯(lián)本身已經是一個相當優(yōu)秀的無線方案了。
最終成果是,一把日用主力40%無線機械鍵盤,重量270g,輕于Surface Pro 3的超薄原裝鍵盤套(約300g)。
下一把的打算是:外殼也自己訂做,上下兩層改用碳纖維,中間夾心夾還是亞克力,但是鍵盤四周的邊框會收窄到幾近無邊程度。同時,厚度會再稍微縮減一點,布局會修改一下,采用雙空格。

教你如何DIY一把可編程無線優(yōu)聯(lián)40%的機械鍵盤

PS:本文轉自chiphell

上一篇:Panasonic在CES發(fā)表UHD 4K 播放機DMP-UB900
下一篇:實測:分體電視體驗上與電視盒子有什么區(qū)別
沙發(fā)
發(fā)表于 2016-1-7 11:02 | 只看該作者 | 來自浙江
帥氣啊 看來是學不會了
回復 支持 反對

使用道具 舉報

板凳
發(fā)表于 2016-2-26 23:42 | 只看該作者 | 來自天津
那么如果想改成藍牙的 需要修改那些地方呢? 而且 藍牙的可以編程么。。。。
回復 支持 反對

使用道具 舉報

地板
發(fā)表于 2016-2-26 23:44 | 只看該作者 | 來自天津
或者說 有關于藍牙開發(fā)的相關帖子推薦么。。
回復 支持 反對

使用道具 舉報

5#
發(fā)表于 2016-8-22 14:57 | 只看該作者 | 來自遼寧
樓主有做好的 USB to USB keyboard converter 出手么? 求一個
回復 支持 反對

使用道具 舉報

6#
發(fā)表于 2016-8-22 14:58 | 只看該作者 | 來自遼寧
有出的話 給我郵件 1010777500@qq.com
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網 ( 蘇ICP備2023012627號 )

網絡信息服務信用承諾書 | 增值電信業(yè)務經營許可證:蘇B2-20221768 丨 蘇公網安備 32011402011373號

GMT+8, 2024-12-30 00:23 , Processed in 0.084430 second(s), 16 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表