All Projects → TeXitoi → Keyberon

TeXitoi / Keyberon

Licence: mit
A rust crate to create a pure rust keyboard firmware.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Keyberon

Anne Key
Firmware for Anne Pro Keyboard written in Rust
Stars: ✭ 506 (+42.54%)
Mutual labels:  keyboard, firmware, embedded
prk firmware
A keyboard firmware platform in PicoRuby
Stars: ✭ 337 (-5.07%)
Mutual labels:  keyboard, firmware
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-91.27%)
Mutual labels:  usb, firmware
Sub-IoT-Stack
Sub-IoT: Open Source Stack for Dash7 Alliance Protocol
Stars: ✭ 123 (-65.35%)
Mutual labels:  embedded, firmware
Qmkbuilder
Online GUI for QMK Firmware
Stars: ✭ 254 (-28.45%)
Mutual labels:  keyboard, firmware
pi400kb
Raw HID keyboard forwarder to turn the Pi 400 into a USB keyboard
Stars: ✭ 182 (-48.73%)
Mutual labels:  keyboard, usb
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (-88.73%)
Mutual labels:  embedded, firmware
Kmk firmware
Clackety Keyboards Powered by Python
Stars: ✭ 132 (-62.82%)
Mutual labels:  keyboard, firmware
OpenWare
Firmware for OWL devices
Stars: ✭ 23 (-93.52%)
Mutual labels:  embedded, firmware
nrf52-keyboard
A BLE & 2.4G Keyboard Firmware using nrf52810/52811/52832
Stars: ✭ 101 (-71.55%)
Mutual labels:  keyboard, usb
drone-cortexm
ARM® Cortex®-M platform crate for Drone, an Embedded Operating System.
Stars: ✭ 31 (-91.27%)
Mutual labels:  embedded, firmware
Nrf52 Keyboard
A ble keyboard firmware using nrf52810/52832
Stars: ✭ 168 (-52.68%)
Mutual labels:  keyboard, usb
Hidusbf
USB Mice Overclocking Software (for Windows)
Stars: ✭ 152 (-57.18%)
Mutual labels:  keyboard, usb
nucular-keyboard
USB Keyboard Adapter for old ThinkPad keyboards
Stars: ✭ 27 (-92.39%)
Mutual labels:  keyboard, usb
Ergodox Layout
algernon's ErgoDox EZ layout
Stars: ✭ 135 (-61.97%)
Mutual labels:  keyboard, firmware
CapableRobot USBHub Driver
www.crowdsupply.com/capable-robot-components/programmable-usb-hub
Stars: ✭ 17 (-95.21%)
Mutual labels:  embedded, usb
Drone Core
The core crate for Drone, an Embedded Operating System.
Stars: ✭ 263 (-25.92%)
Mutual labels:  firmware, embedded
Whitefox Keyboard Macos Configuration
⌨ A macOS compatible configuration for Matt3o's Whitefox keyboard.
Stars: ✭ 53 (-85.07%)
Mutual labels:  keyboard, firmware
Minikbd
Stars: ✭ 97 (-72.68%)
Mutual labels:  keyboard, usb
SerialProxy
🖱️⌨️ Arduino Input Proxying for PC (.NET Core)
Stars: ✭ 39 (-89.01%)
Mutual labels:  keyboard, usb

Keyberon Build status

A rust crate to create a pure rust keyboard firmware.

It is exposed as a library giving you the different building blocks to create a featureful keyboard firmware. As the different functionality are interconected by the user of the crate, you can use only the parts you are interested in or easily insert your own code in between.

This crate is a no_std crate, running on stable rust. To use it on a given MCU, you need GPIO throw the embedded hal crate to read the key states, and the usb-device crate for USB communication.

Projects using this firmware

The first project using this firmware is Keyberon grid, a handwired keyboard with a grid of keys. It is based on the blue pill, a cheap development board based on a STM32F103 MCU.

keyberon-grid

There is a port to Cannon Keys's Ortho60 keyboard kit (blue pill based).

Ortho60

Another handwired project using keyberon is keyberon-f4, a unsplitted ergo keyboard. It runs on a WeAct MiniF4 based on a STM32F401 MCU.

keyberon-f4

TssT16's 4x12 keyboard (blue pill based):

TssT16's

gilescope's 4x12 keyboard (keyberon grid, blue pill based):

gilescope's

covah901's keyboard (WeAct MiniF4 based):

covah901

KeySeeBee, a split ergo keyboard (STM32F072 based).

KeySeeBee

Features

The supported features are:

  • Layers when holding a key (aka the fn key). When holding multiple layer keys, the numbers add (if you have a layer 1 key and a layer 2 key, when holding the 2 together, the layer 3 will be active).
  • Transparent key, i.e. when on a alternative layer, the key have the same behavior of the default layer.
  • Change default layer dynamically.
  • Multiple keys send on an single key press. It allows to have keys for complex shortcut, as a key for copy and paste, for alt tab, or for whatever you want.
  • hold tap: different action depending if the key is holded or tapped. For example, you can have a key acting as layer change when holded, and space when tapped.

FAQ

Keyberon, what's that name?

To find new, findable and memorable project names, some persons in the rust community try to mix the name of a city with some keyword related to the project. For example, you have the Tokio project that derive its name from the Japanese capital Tokyo and IO for Input Output, the main subject of this project.

So, I have to find such a name. In the mechanical keyboard community, "keeb" is slang for keyboard. Thus, I searched for a city with the sound [kib], preferably in France as it is the country of origin of the project. I found Quiberon, and thus I named the project Keyberon.

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].