日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式微處理器
[導讀]來源:機器之心 參考鏈接:https://news.ycombinator.com/item?id=23219641 這是一個內部運行 Python 的開源鍵盤,可根據(jù)個人需求定制鍵盤映射。從此以后,「窮苦玩家」也能在 MOBA 游戲里一鍵放連招了,不知這樣算不算硬件外掛?「氪金玩家」請出門右轉購買

來源:機器之心

參考鏈接:https://news.ycombinator.com/item?id=23219641


這是一個內部運行 Python 的開源鍵盤,可根據(jù)個人需求定制鍵盤映射。從此以后,「窮苦玩家」也能在 MOBA 游戲里一鍵放連招了,不知這樣算不算硬件外掛?「氪金玩家」請出門右轉購買宏編程鍵盤。


近日,一位中國開發(fā)者在 GitHub 上開源了一個帶有 USB 和藍牙的手工「焊」接 Python 鍵盤的代碼。該項目使用了 AdaFruit 的人員開發(fā)的 CircuitPython(衍生自 MicroPython)的特定實現(xiàn),該實現(xiàn)可以在容納 256K 的代碼空間和 16K 的 RAM 的虛擬機上運行。

這一 Python 鍵盤可以讓用戶輕松地使用 Python 編寫控制板。

項目地址:https://github.com/makerdiary/python-keyboard

下面我們就來看下這個 Python 鍵盤的具體操作和實現(xiàn)細節(jié)。

操作步驟

在 GitHub 上,作者詳細描述了制作這個 Python 鍵盤的操作步驟,總結起來包括:

1. 手工「焊」接鍵盤

下面這些圖展示了作者對這些鍵盤內部結構的改造。


去掉鍵盤帽扣,作者用焊絲把關聯(lián)按鍵連接起來,達到下圖這樣的效果。


最后,作者把一個能夠運行 Python 的開源控制板連接到鍵盤上。最終圖示如下。


2. 編程 Pitaya Go

第二步是對上圖中紅色設備的編程。作者在 Github 中編寫了詳細的指南,對 Pitaya Go 進行編程并燒寫到 Flash CircuitPython 固件上。

3. 下載 CircuitPython 庫

接下來,下載兩個 CircuitPython 庫:adafruit-ble 和 adafruit-hid,并將它們放入名為 CIRCUITPY 的 USB 驅動器里的 lib 目錄中,如下圖所示。


4. 復制代碼

最后一步是將 Python 的代碼復制到 code.py。重新加載 code.py 后,我們就可以獲得一個帶有 USB 以及藍牙的鍵盤了。

完整代碼作者也開源到 Github 項目中。

生產(chǎn)力升級

60%(61 鍵)的鍵盤缺少 F1~F12、方向鍵、PgUp、PgDn 等鍵位。該項目加入了 tmk_keyboard 項目中的鍵位映射功能,同時參考了 Toward a more useful keyboard 項目對于鍵位設置上的優(yōu)化理念,使得小鍵盤更具生產(chǎn)力「折騰才有樂趣,就是不買全鍵盤」!

  • tmk_keyboard 項目地址:https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md

  • Toward a more useful keyboard 項目地址:https://github.com/jasonrudolph/keyboard


由于使用了 Python 編寫鍵位映射,我們可以很方便地對鍵位進行個性化定制「以后誰還需要宏編程鍵盤,大霧」。該項目自帶 Tap-key 功能,即按住一個鍵不放可激活替代功能模式,在 60% 鍵盤上擴展出更多鍵位。我們只需將 keyboard.py 與 keycodes.py 復制到 CIRCUITPY 目錄下,之后修改 code.py 導入新鍵盤,即可將按鍵 D 用作導航。


當僅想要輸出 D 時快速敲擊即可,而按住 D 不放則激活導航功能,變化后的鍵位如下圖所示。


此時 H、J、K、L 鍵分別被映射為上下左右方向鍵,而 U 與 N 則被映射為 PgUp 和 PgDn。


另外還支持同時按住兩個鍵(間隔小于 25 毫秒)激活替代功能模式,以及按住「;」鍵作為 Ctrl。

為什么要用 Python 寫?

這個項目在 hackernews 和 twitter 上都引來了不少人圍觀。多數(shù)人認為這是一個非常有創(chuàng)意的想法,之前沒見過這種操作。


但鑒于作者在項目中用的語言是 Python,大家不免擔心起速度問題。對此,作者回復稱,「確實有點慢,現(xiàn)在掃描一次矩陣需要 4 毫秒,但優(yōu)化之后速度會有提升?!?/span>


既然用 Python 速度慢,那為什么不用 C 語言寫呢?也沒有多復雜啊。作者表示,「項目中的硬件包含一個 QSPI 閃存,它是一個 USB 存儲,用來保存 Python 源代碼,你可以直接改 Python 代碼。而且,使用 Python 為快速驗證硬件產(chǎn)品的創(chuàng)意提供了一個新的方式?!?/span>


除此之外,也有人幫作者補充了使用 Python 的好處。 ta 指出,這個項目用到的 CircuitPython 實現(xiàn)使用一個非常不同的 VM 運行,雖然不能指望它接近 C 的性能,但相比 Cpython 要輕量化得多。 整個開發(fā)過程也會簡單得多。


-END-




推薦閱讀



【01】C++ 轉 Python 這三年,我都經(jīng)歷了什么?
【02】使用 Python 來開發(fā) STM32F411 !
【03】給大神鼓掌:400行Python代碼實現(xiàn)文語處理助手?。∟XP資深系統(tǒng)工程師精品)
【04】Github 5w星!100天自學Python,他是怎么做到的?(附Github地址)
【05】科普:你知道C/C++/Java/Python等主流編程語言之父是誰嗎?


免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯(lián)系刪除

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關注更多精彩內容

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉