製作Retropie系統樹莓派掌機(四)

製作Retropie系統樹莓派掌機(四)

解決按鍵的識別問題

這回到了軟件部分,要解決按鍵的識別問題,需要將GPIO的按鍵開關識別爲系統的JOYSTICK設備。

爲了實現這個東西,上網查了好多資料。把Retropie的官方文檔看了好多遍。好像官方的Retropie鏡像只支持串口的,不支持直接連接到GPIO口的這種開關,也許是因爲這種方式太low太暴力了。

然後搜了broadcom芯片對GPIO的說明,也沒怎麼理解透。原理倒是明白了。

最後發現,Recalbox這個系統上有對直連GPIO按鍵的支持,然後找到了一個開源的叫mk_arcade_joystick的驅動程序。

github上的這個好像是有問題的,源碼語法就有錯,又找找找,找着了另一個版本的,比較了下,選了一個新一點的,修改了裏面的錯誤,又刪除了一些代碼,把選定的GPIO引腳編號,寫死到了驅動程序源碼裏去了。

開機啓動retropie,用電腦用ssh連接上去,在字符控制檯下,把c代碼傳上去,編譯成ko文件,再用insmod或modpro裝載進去。然後測試,發現有部分按鍵可以識別,有些不識別,有些沒按卻被識別爲按下。

最後,檢查了電路板的電路,更換了部分按鍵使用的引腳之後,總算是有10個按鍵可以使用了。上下左右,ABCD,START,SELECT,基本夠用了。

驅動程序代碼等有時間時詳細說一下,l軟件的東西比較多,這裏就先這麼樣吧...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章