From 1b29bd7cf361f527855246f9ec8f6971472866fa Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:33:30 +0200 Subject: [PATCH 1/6] style(readme): consistantly wrap text at 80 characters --- README.md | 85 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index b61e9df..53d010e 100644 --- a/README.md +++ b/README.md @@ -2,40 +2,38 @@ 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. +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](https://crates.io/crates/embedded-hal) to read the key states, -and the [usb-device crate](https://crates.io/crates/usb-device) for -USB communication. +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](https://crates.io/crates/embedded-hal) to read the key states, and the +[usb-device crate](https://crates.io/crates/usb-device) for USB communication. ## Projects using this firmware [List of Repositories using Keyberon](./KEYBOARDS.md) The first project using this firmware is [Keyberon -grid](https://github.com/TeXitoi/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. +grid](https://github.com/TeXitoi/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](https://raw.githubusercontent.com/TeXitoi/keyberon-grid/master/images/keyberon.jpg) -There is a [port](https://github.com/TeXitoi/ortho60-keyberon) to -[Cannon Keys](https://cannonkeys.com/)'s [Ortho60 keyboard -kit](https://cannonkeys.com/collections/frontpage/products/ortho60) -(blue pill based). +There is a [port](https://github.com/TeXitoi/ortho60-keyberon) to [Cannon +Keys](https://cannonkeys.com/)'s [Ortho60 keyboard +kit](https://cannonkeys.com/collections/frontpage/products/ortho60) (blue pill +based). ![Ortho60](https://cdn.shopify.com/s/files/1/0238/7342/1376/products/Ortho60_1024x1024@2x.jpg) Another handwired project using keyberon is -[keyberon-f4](https://github.com/TeXitoi/keyberon-f4), a unsplitted -ergo keyboard. It runs on a [WeAct -MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based on a -STM32F401 MCU. +[keyberon-f4](https://github.com/TeXitoi/keyberon-f4), a unsplitted ergo +keyboard. It runs on a [WeAct +MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based on a STM32F401 MCU. ![keyberon-f4](https://raw.githubusercontent.com/TeXitoi/keyberon-f4/master/images/keyberon-44.jpg) @@ -43,8 +41,8 @@ STM32F401 MCU. ![TssT16's](https://user-images.githubusercontent.com/12481562/81586297-97996e80-93b5-11ea-86e1-c4358854477e.jpg) -[gilescope](https://github.com/gilescope)'s 4x12 keyboard (keyberon -grid, blue pill based): +[gilescope](https://github.com/gilescope)'s 4x12 keyboard (keyberon grid, blue +pill based): ![gilescope's](https://i.redd.it/syvlwmkd77851.jpg) @@ -53,36 +51,45 @@ MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based): ![covah901](https://i.redd.it/gnkfymu0gwo41.jpg) -[KeySeeBee](https://github.com/TeXitoi/keyseebee), a split ergo -keyboard (STM32F072 based). +[KeySeeBee](https://github.com/TeXitoi/keyseebee), a split ergo keyboard +(STM32F072 based). ![KeySeeBee](https://raw.githubusercontent.com/TeXitoi/keyseebee/master/images/keyseebee.jpg) [Arisu handwired](https://github.com/help-14/arisu-handwired) using STM32F401. -![Arisu handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac211ff80c2891c75c971d15630ef0a948/68747470733a2f2f692e696d6775722e636f6d2f30334c356f63702e6a7067) +![Arisu +handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac211ff80c2891c75c971d15630ef0a948/68747470733a2f2f692e696d6775722e636f6d2f30334c356f63702e6a7067) ## Features The supported features are: - - Layers when holding a key (aka the fn key). When holding multiple - layer keys, the last pressed layer action sets the layer. - - Transparent key, i.e. when on an alternative layer, the key will - inherit the behavior of the default layer. + - Layers when holding a key (aka the fn key). When holding multiple layer keys, + the last pressed layer action sets the layer. + - Transparent key, i.e. when on an alternative layer, the key will inherit the + behavior of the default layer. - Change default layer dynamically. - - Multiple keys sent on an single key press. It allows to have keys - for complex shortcut, for example a key for copy and paste or alt tab, or - for whatever you want. + - Multiple keys sent on an single key press. It allows to have keys for complex + shortcut, for example a key for copy and paste or alt tab, or for whatever + you want. - Chording multiple keys together to act as a single key - - hold tap: different action depending if the key is held or - tapped. For example, you can have a key acting as layer change when - held, and space when tapped. - + - hold tap: different action depending if the key is held or tapped. For + example, you can have a key acting as layer change when held, 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](https://tokio.rs/) 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](https://en.wikipedia.org/wiki/Quiberon), and thus I named the project Keyberon. +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](https://tokio.rs/) 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](https://en.wikipedia.org/wiki/Quiberon), and thus I named the project +Keyberon. From afd809fa78a190235ce46a36a4c2d0e6e364b7fb Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:34:29 +0200 Subject: [PATCH 2/6] style(readme): add and remove lines for improved readability --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53d010e..ed7df0c 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac21 ## Features The supported features are: + - Layers when holding a key (aka the fn key). When holding multiple layer keys, the last pressed layer action sets the layer. - Transparent key, i.e. when on an alternative layer, the key will inherit the @@ -77,7 +78,6 @@ The supported features are: example, you can have a key acting as layer change when held, and space when tapped. - ## FAQ ### Keyberon, what's that name? From 9d8c69c3c18d1bb3db96f1f0655bface4994479d Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:35:44 +0200 Subject: [PATCH 3/6] style(readme): remove list indentation for simplified formatting --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ed7df0c..170e308 100644 --- a/README.md +++ b/README.md @@ -65,18 +65,18 @@ handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac21 The supported features are: - - Layers when holding a key (aka the fn key). When holding multiple layer keys, - the last pressed layer action sets the layer. - - Transparent key, i.e. when on an alternative layer, the key will inherit the - behavior of the default layer. - - Change default layer dynamically. - - Multiple keys sent on an single key press. It allows to have keys for complex - shortcut, for example a key for copy and paste or alt tab, or for whatever - you want. - - Chording multiple keys together to act as a single key - - hold tap: different action depending if the key is held or tapped. For - example, you can have a key acting as layer change when held, and space when - tapped. +- Layers when holding a key (aka the fn key). When holding multiple layer keys, + the last pressed layer action sets the layer. +- Transparent key, i.e. when on an alternative layer, the key will inherit the + behavior of the default layer. +- Change default layer dynamically. +- Multiple keys sent on an single key press. It allows to have keys for complex + shortcut, for example a key for copy and paste or alt tab, or for whatever you + want. +- Chording multiple keys together to act as a single key +- hold tap: different action depending if the key is held or tapped. For + example, you can have a key acting as layer change when held, and space when + tapped. ## FAQ From 429b131384b6a558b794270c089184d15f2aee0b Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:36:45 +0200 Subject: [PATCH 4/6] docs(readme): capitalise the `Rust` language --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 170e308..acefd67 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # Keyberon [![Build status](https://travis-ci.org/TeXitoi/keyberon.svg?branch=master)](https://travis-ci.org/TeXitoi/keyberon) [![](https://img.shields.io/crates/v/keyberon.svg)](https://crates.io/crates/keyberon) [![](https://docs.rs/keyberon/badge.svg)](https://docs.rs/keyberon) -A rust crate to create a pure rust keyboard firmware. +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, +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](https://crates.io/crates/embedded-hal) to read the key states, and the [usb-device crate](https://crates.io/crates/usb-device) for USB communication. @@ -82,7 +82,7 @@ The supported features are: ### Keyberon, what's that name? -To find new, findable and memorable project names, some persons in the rust +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](https://tokio.rs/) that derive its name from the Japanese capital Tokyo and IO for Input Output, the From 45424c878a405d0e331783d1a2bed6697189231c Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:37:46 +0200 Subject: [PATCH 5/6] docs(readme): hyperlink first `Rust` occurrence --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index acefd67..4fd7eb5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Keyberon [![Build status](https://travis-ci.org/TeXitoi/keyberon.svg?branch=master)](https://travis-ci.org/TeXitoi/keyberon) [![](https://img.shields.io/crates/v/keyberon.svg)](https://crates.io/crates/keyberon) [![](https://docs.rs/keyberon/badge.svg)](https://docs.rs/keyberon) -A Rust crate to create a pure Rust keyboard firmware. +A [Rust](https://www.rust-lang.org) 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 From 4a837a859d0dfba7c89c4c5d74c105acfe3b34a7 Mon Sep 17 00:00:00 2001 From: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:42:58 +0200 Subject: [PATCH 6/6] docs(readme): fix typos and improve formatting --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4fd7eb5..28190f9 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A [Rust](https://www.rust-lang.org) 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 +featureful keyboard firmware. As the different functionality are interconnected by the user of the crate, you can use only the parts you are interested in or easily insert your own code in between. @@ -20,21 +20,21 @@ crate](https://crates.io/crates/embedded-hal) to read the key states, and the The first project using this firmware is [Keyberon grid](https://github.com/TeXitoi/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. +STM32F103 MCU: ![keyberon-grid](https://raw.githubusercontent.com/TeXitoi/keyberon-grid/master/images/keyberon.jpg) There is a [port](https://github.com/TeXitoi/ortho60-keyberon) to [Cannon Keys](https://cannonkeys.com/)'s [Ortho60 keyboard kit](https://cannonkeys.com/collections/frontpage/products/ortho60) (blue pill -based). +based): ![Ortho60](https://cdn.shopify.com/s/files/1/0238/7342/1376/products/Ortho60_1024x1024@2x.jpg) -Another handwired project using keyberon is +Another handwired project using Keyberon is [keyberon-f4](https://github.com/TeXitoi/keyberon-f4), a unsplitted ergo keyboard. It runs on a [WeAct -MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based on a STM32F401 MCU. +MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based on a STM32F401 MCU: ![keyberon-f4](https://raw.githubusercontent.com/TeXitoi/keyberon-f4/master/images/keyberon-44.jpg) @@ -53,11 +53,11 @@ MiniF4](https://github.com/WeActTC/MiniF4-STM32F4x1) based): ![covah901](https://i.redd.it/gnkfymu0gwo41.jpg) [KeySeeBee](https://github.com/TeXitoi/keyseebee), a split ergo keyboard -(STM32F072 based). +(STM32F072 based): ![KeySeeBee](https://raw.githubusercontent.com/TeXitoi/keyseebee/master/images/keyseebee.jpg) -[Arisu handwired](https://github.com/help-14/arisu-handwired) using STM32F401. +[Arisu handwired](https://github.com/help-14/arisu-handwired) using STM32F401: ![Arisu handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac211ff80c2891c75c971d15630ef0a948/68747470733a2f2f692e696d6775722e636f6d2f30334c356f63702e6a7067) @@ -66,16 +66,16 @@ handwired](https://camo.githubusercontent.com/4fca994ac2b7c1b1874d4331c2428cac21 The supported features are: -- Layers when holding a key (aka the fn key). When holding multiple layer keys, - the last pressed layer action sets the layer. +- Layers when holding a key (aka the `fn` key). When holding multiple layer + keys, the last pressed layer action sets the layer. - Transparent key, i.e. when on an alternative layer, the key will inherit the behavior of the default layer. - Change default layer dynamically. -- Multiple keys sent on an single key press. It allows to have keys for complex +- Multiple keys sent on a single key press. It allows having keys for complex shortcut, for example a key for copy and paste or alt tab, or for whatever you want. -- Chording multiple keys together to act as a single key -- hold tap: different action depending if the key is held or tapped. For +- Chording multiple keys together to act as a single key. +- hold tap: different action depending on if the key is held or tapped. For example, you can have a key acting as layer change when held, and space when tapped. @@ -85,12 +85,12 @@ The supported features are: 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](https://tokio.rs/) that +project. For example, you have the [Tokio](https://tokio.rs/) 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 +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](https://en.wikipedia.org/wiki/Quiberon), and thus I named the project -Keyberon. +`Keyberon`.