All Projects → makerdiary → Python Keyboard

makerdiary / Python Keyboard

Licence: mit
A hand-wired USB & Bluetooth keyboard powered by Python and more

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Keyboard

keyboard mouse emulate on raspberry
Bluetooth Keyboard Mouse Emulator on Raspberry Pi
Stars: ✭ 230 (-36.11%)
Mutual labels:  keyboard, bluetooth
Esp32 Ble Keyboard
Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)
Stars: ✭ 533 (+48.06%)
Mutual labels:  keyboard, bluetooth
node-anne-pro
Bluetooth communication library for the Anne Pro keyboard
Stars: ✭ 27 (-92.5%)
Mutual labels:  keyboard, bluetooth
Keymapper
📱 An Android app that maps any keys to actions.
Stars: ✭ 207 (-42.5%)
Mutual labels:  keyboard, bluetooth
Dissatisfaction-65
A 65% QMK Bluetooth keyboard with an OLED and encoder
Stars: ✭ 61 (-83.06%)
Mutual labels:  keyboard, bluetooth
Neural chinese transliterator
Can CNNs transliterate Pinyin into Chinese characters correctly?
Stars: ✭ 310 (-13.89%)
Mutual labels:  keyboard
Sweetblue
BLE on Android, the easy way. THIS IS NOW DEPRECATED. Please visit website for info on new versions.
Stars: ✭ 339 (-5.83%)
Mutual labels:  bluetooth
Esp32 Ble2mqtt
A BLE to MQTT bridge running on an ESP32
Stars: ✭ 301 (-16.39%)
Mutual labels:  bluetooth
Apnumberpad
Full clone of iOS number keyboard with the customizable function button.
Stars: ✭ 298 (-17.22%)
Mutual labels:  keyboard
Keyboardchangelistener
Simple and powerful keyboard show/hidden listeners
Stars: ✭ 352 (-2.22%)
Mutual labels:  keyboard
Ios Pods Dfu Library
OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
Stars: ✭ 349 (-3.06%)
Mutual labels:  bluetooth
Pcb
PCB and PCB related bits
Stars: ✭ 325 (-9.72%)
Mutual labels:  keyboard
Keychron
Settings for Keychron keyboards
Stars: ✭ 312 (-13.33%)
Mutual labels:  keyboard
Hidekeyboard
仿iOS输入法点击输入框以外区域 自动隐藏软键盘轻量级库 , Imitation iOS automatic hidden soft keyboard
Stars: ✭ 341 (-5.28%)
Mutual labels:  keyboard
Markovkeyboard
keyboard layout that changes by markov frequency
Stars: ✭ 307 (-14.72%)
Mutual labels:  keyboard
Coderyi.github.io
Don't fork! coderyi's blog,about iOS ,CS and my code life.
Stars: ✭ 349 (-3.06%)
Mutual labels:  bluetooth
React Simple Keyboard
React Virtual Keyboard - Customizable, responsive and lightweight
Stars: ✭ 301 (-16.39%)
Mutual labels:  keyboard
React Native Input Scroll View
Perfect TextInput ScrollView
Stars: ✭ 323 (-10.28%)
Mutual labels:  keyboard
Cool ui
用flutter实现一些我认为好看的UI控件,有Popover,仿Weui的Toast,自定义键盘
Stars: ✭ 349 (-3.06%)
Mutual labels:  keyboard
Switch Desktop
⚡️ Keyboard-driven commands to navigate your apps faster
Stars: ✭ 320 (-11.11%)
Mutual labels:  keyboard

PYKB - Python Keyboard

English 中文

Create a hand-wired keyboard, run Python on it, turn it into production.

Hand-wiring a keyboard

Follow the guide - hand-wiring-a-keyboard.md to rapidly make a keyboard with 100 lines of Python code.

From prototype to production in progress

With putting more time into the Python keyboard, we find it more and more interesting. We think a Python keyboard can make a big difference, so we decide to design a new keyboard for everyone. Check out the M60 mechanical keyboard.

To be a productive keyboard

As the 60% keyboard lacks a lot of keys (F1~F12, arrow keys and etc). We can use features like TMK's layers and composite keys to make the small keyboard much more powerful. With the idea from Toward a more useful keyboard to keep our fingers at the home row, we can optimize the keyboard to make us more productive.

Adding the Tap-key feature, which is holding a key down to activate an alternate function, can make a big difference.

Using D for Navigation

Taping d outputs d (press & release quickly), holding d down activates navigation functions.

  • d + h as
  • d + j as
  • d + k as
  • d + l as
  • d + u as PageUp
  • d + n as PageDown

Using ; as Ctrl

Use ; as a MODS_TAP key, taping ; outputs ;, holding ; down outputs Ctrl.

Using Pair-keys

Simultaneously pressing two keys (interval less than 10ms) activates an alternate function.

Optimizing with C modulesin progress

A C module matrix of keyboard matrix is written to reduce latency and power consumption. The module has the same function as keyboard/matrix.py.

Todo

  • [ ] add system keys
  • [ ] add mouse keys

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].