在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個帶有USB和藍牙的手工「焊」接Python鍵盤的代碼

strongerHuang ? 來源:機器之心 ? 2020-09-07 17:25 ? 次閱讀

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

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

這一 Python 鍵盤可以讓用戶輕松地使用 Python 編寫控制板。 項目地址:https://github.com/makerdiary/python-keyboard 下面我們就來看下這個 Python 鍵盤的具體操作和實現細節。 操作步驟 在 GitHub 上,作者詳細描述了制作這個 Python 鍵盤的操作步驟,總結起來包括: 1. 手工「焊」接鍵盤 下面這些圖展示了作者對這些鍵盤內部結構的改造。

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

最后,作者把一個能夠運行 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 項目中。 生產力升級 60%(61 鍵)的鍵盤缺少 F1~F12、方向鍵、PgUp、PgDn 等鍵位。該項目加入了 tmk_keyboard 項目中的鍵位映射功能,同時參考了 Toward a more useful keyboard 項目對于鍵位設置上的優化理念,使得小鍵盤更具生產力「折騰才有樂趣,就是不買全鍵盤」!

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 上都引來了不少人圍觀。多數人認為這是一個非常有創意的想法,之前沒見過這種操作。

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3381

    瀏覽量

    42604
  • 代碼
    +關注

    關注

    30

    文章

    4809

    瀏覽量

    68819
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84867

原文標題:自己「焊」鍵盤:使用Python編寫

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用Python進行串口通信的案例

    當然!以下是使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發送數據以及接收數據。我們將使用 pyserial 庫,這是
    的頭像 發表于 11-22 09:11 ?324次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 11-08 14:36

    使用Python進行圖像處理

    下面是關于使用Python在幾行代碼中分析城市輪廓線的快速教程。
    的頭像 發表于 11-07 10:14 ?259次閱讀
    使用<b class='flag-5'>Python</b>進行圖像處理

    如何使用TARGET3001!創建異形盤的封裝

    大家在使用TARGET軟件過程中,可能會對軟件的些功能不盡熟知,比如在有些情況下,某些特定的元器件的封裝帶有異形盤,如果自帶元器件庫和對接的網絡庫都沒有該元器件,這時候可能會需要我們手工
    的頭像 發表于 10-16 17:05 ?213次閱讀
    如何使用TARGET3001!創建異形<b class='flag-5'>焊</b>盤的封裝

    使用和處理帶有ENIG盤飾面的半導體封裝

    電子發燒友網站提供《使用和處理帶有ENIG盤飾面的半導體封裝.pdf》資料免費下載
    發表于 10-16 09:46 ?0次下載
    使用和處理<b class='flag-5'>帶有</b>ENIG<b class='flag-5'>焊</b>盤飾面的半導體封裝

    如何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 09-27 06:44

    【每天學點AI】例子帶你了解Python裝飾器到底在干嘛!

    進行“加料”呢?Python裝飾器提供了更為優雅的方式來增強現有函數的行為,并且不需要修改現有的函數代碼及調用方式。接下來通過
    的頭像 發表于 09-20 16:54 ?578次閱讀
    【每天學點AI】<b class='flag-5'>一</b><b class='flag-5'>個</b>例子帶你了解<b class='flag-5'>Python</b>裝飾器到底在干嘛!

    藍牙遙控代碼及使用

    藍牙遙控代碼及使用
    的頭像 發表于 05-15 10:15 ?941次閱讀

    USB鼠標鍵盤可用,U盤不能正常使用

    現自制飛凌A40i核心板底板,通過USB2514芯片將其中USB擴展4路,就是USB hub的形式,這4路USB
    發表于 05-13 20:02

    用STM32 的USB HOST鍵盤,要怎樣才能讀取鍵盤的按鍵字符并顯示在屏幕上?

    用STM32 的USB HOST鍵盤,用官方例程可以完成鍵盤的枚舉,接下來要怎樣才能讀取鍵盤的按鍵字符并顯示在屏幕上? 小弟剛接觸
    發表于 04-29 08:44

    如何用STM32的HIDUSB鍵盤

    有高手用STM32的HID接過USB鍵盤么,或者有什么例程、開發板或書籍有這方面的參考?
    發表于 04-28 08:39

    【鴻蒙】OpenHarmony 4.0藍牙代碼結構簡析

    OpenHarmony 4.0藍牙代碼結構簡析前言 OpenHarmony 4.0上藍牙倉和目錄結構進行次較大整改,本文基于4.0以上版本對藍牙
    的頭像 發表于 02-26 16:08 ?1628次閱讀
    【鴻蒙】OpenHarmony 4.0<b class='flag-5'>藍牙</b><b class='flag-5'>代碼</b>結構簡析

    【外設移植】USB鍵盤+M61開發板

    這篇開始使用 M62 板子來實現 USB 的設備開發,首先從最簡單的 USB HID 鍵盤開始。固件的 SDK 使用的是 CherryUSB 開源 USB 固件。CherryUSB 是
    的頭像 發表于 02-26 11:31 ?1987次閱讀
    【外設移植】<b class='flag-5'>USB</b><b class='flag-5'>鍵盤</b>+M61開發板

    接地和零是概念嗎?接地和零的基本目的 工作接地與保護零的區別

    接地和零是概念嗎?接地和零的基本目的 工作接地與保護零的區別 保護接地與保護零的區別
    的頭像 發表于 02-04 15:45 ?1160次閱讀

    Python智能家居系統代碼介紹

    Python智能家居系統是種基于Python編程語言開發的智能家居控制系統,在現代家庭中得到了越來越廣泛的應用。本文將詳細介紹Python智能家居系統的
    的頭像 發表于 01-25 09:46 ?1416次閱讀
    主站蜘蛛池模板: 四虎comwww最新地址| 爽好舒服快给老师| 人碰人操| 三级理论在线播放大全| 色多多在线观看高清免费| 日日噜噜噜夜夜爽爽狠狠图片| 四虎国产永久在线精品免费观看| 狠狠色噜噜狠狠狠狠97老肥女 | 久久香蕉国产线看观看精品yw| 婷婷综合激六月情网| 7086bt伙计 福利一区| 一区二区中文字幕| 男人j进入女人免费视频| 在线亚洲成人| 嗯!啊!使劲用力在线观看| 综合伊人| 免费久久精品国产片香蕉| 优优国产在线视频| 色天天综合网色鬼综合| 你懂的网址在线观看| 国产你懂的在线| 天天做日日爱| 成人福利在线视频| 1024手机在线看永久免费| 国产精品影视| 在线a亚洲老鸭窝天堂新地址 | 国内精品久久影视| 91大神在线看| 综合亚洲一区二区三区| 国产叼嘿视频免费网站| 国产亚洲欧美日韩俺去了| 天天做人人爱夜夜爽2020| 欧美精品video| 男人的天堂久久精品激情| 国产免费人成在线视频视频| 午夜久久久精品| 天堂在线资源网| 欧美性xxxx极品高清| 69xxxxtube日本免费| 亚洲综合色婷婷久久| 免费视频淫片aa毛片|