自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自己動手「焊」鍵盤,使用Python編寫,一鍵放連招不在話下

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

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

近日,一位中國開發(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 鍵盤的操作步驟,總結(jié)起來包括:

1. 手工「焊」接鍵盤

下面這些圖展示了作者對這些鍵盤內(nèi)部結(jié)構(gòu)的改造。

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

2. 編程 Pitaya Go

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

3. 下載 CircuitPython 庫

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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 用作導航。

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

為什么要用 Python 寫?

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

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

自己动手「焊」键盘,使用Python编写,一键放连招不在话下

 

 

責任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2021-05-07 09:18:04

CSS 文字動畫技巧

2010-04-01 15:01:26

配置無線路由器

2022-08-26 00:00:00

元宇宙高薪系統(tǒng)

2019-11-07 09:49:38

監(jiān)控優(yōu)化技巧

2010-08-10 09:35:26

實施VDI

2022-05-24 07:40:40

CSS逐幀動畫圖片輪播

2021-04-21 14:15:08

機器人AI人工智能

2019-12-23 14:24:14

數(shù)據(jù)挖掘數(shù)據(jù)分析網(wǎng)絡分析

2022-08-18 09:12:17

存儲數(shù)據(jù)

2023-02-07 23:42:55

機器人技術(shù)識別

2024-06-17 00:00:05

鏡像倉庫帶寬

2021-07-02 16:04:54

機器人人工智能AI

2021-07-09 10:02:32

AI Rap人工智能

2022-01-20 09:56:33

機器人冬奧滑雪

2020-02-19 14:55:20

開發(fā)技能代碼

2020-01-14 10:28:24

網(wǎng)絡安全網(wǎng)絡安全技術(shù)周刊

2023-07-11 10:19:47

AI視頻

2022-05-16 08:50:00

筆記本虛擬

2018-03-20 12:30:44

iOSPush抓包

2023-06-25 10:34:56

3D開源
點贊
收藏

51CTO技術(shù)棧公眾號