@@ -6,6 +6,12 @@ This project adheres to [Semantic Versioning 2.0.0](http://semver.org/). | |||
keybrd version 0.x.x is for initial development. | |||
keybrd version 1.0.0 will be released when the public API is stable. | |||
0.6.7 (2016-11-21) | |||
------------------ | |||
* Enhancements | |||
* change #define SAMPLE_COUNT_MACRO to const SAMPLE_COUNT | |||
* add tutorial_7ab_mapping_layout_to_matix.md | |||
0.6.6 (2016-11-16) | |||
------------------ | |||
* Enhancements |
@@ -2,12 +2,11 @@ planned_features is a view of where the keybrd project is headed. | |||
Top priority | |||
------------ | |||
* Add matrix-to-layout mapping (to decouple key matrix from layout) | |||
* Add breadboard keyboard schematics to tutorials | |||
Medium priority | |||
--------------- | |||
* Add breadboard keyboard schematics to tutorials | |||
* Getting user feedback | |||
Low priority | |||
------------ | |||
* Getting user feedback |
@@ -1,5 +1,5 @@ | |||
name=keybrd | |||
version=0.6.6 | |||
version=0.6.7 | |||
author=Wolfram Volpi | |||
maintainer=Wolfram Volpi | |||
sentence=A library for creating custom-keyboard firmware. |
@@ -10,7 +10,7 @@ | |||
#include "Debouncer_Not.h" | |||
/* | |||
strobePin has one of two formats: todo | |||
strobePin has one of two formats: | |||
* if strobe pin is on uC (strobe for Scanner_uC or Scanner_ShiftRegsRead), | |||
then strobePin is an Arduino pin number connected to this row. | |||
* if strobe pin is on I/O expander (strobe for Scanner_IOE), then strobePin is bit pattern, |
@@ -62,7 +62,7 @@ and layerState restores the active layer to default layerId 0 (NORMAL). | |||
*/ | |||
Code_LayerHold l_fn(FN, layerState); | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_minus(KEY_MINUS); |
@@ -53,7 +53,7 @@ When l_sym is pressed, SYM becomes the active layer. | |||
Code_LayerLock l_normal(ALPHA, layerState); | |||
Code_LayerLock l_sym(SYM, layerState); | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_minus(KEY_MINUS); |
@@ -53,7 +53,7 @@ Thus groupState manages a layer group delineated by all layers in Key_LayeredKey | |||
*/ | |||
LayerStateInterface& Key_LayeredKeys::refLayerState = groupState; | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_c(KEY_C); |
@@ -76,7 +76,7 @@ subgroupState manages a layer group delineated by all layers that are in Key_Lay | |||
*/ | |||
LayerStateInterface& Key_LayeredKeys1::refLayerState = subgroupState; | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_c(KEY_C); |
@@ -60,7 +60,7 @@ subgroupState manages a layer group delineated by all layers that are in Key_Lay | |||
*/ | |||
LayerStateInterface& Key_LayeredScSc::refLayerState = subgroupState; | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_c(KEY_C); |
@@ -45,7 +45,7 @@ enum layerIds { NORMAL, FN }; | |||
LayerState layerState; | |||
Code_LayerHold l_fn(FN, layerState); | |||
/* ---------------- SCAN CODES ----------------- | |||
/* ----------------- SCANCODES ----------------- | |||
The "Sc" in Code_Sc means "scancode". | |||
When a Code_Sc is pressed, it sends its scancode. | |||
*/ |
@@ -46,7 +46,7 @@ LayerState layerState; | |||
Code_Shift s_shift(MODIFIERKEY_LEFT_SHIFT); | |||
Code_LayerHoldShift l_shift(SHIFT, layerState, s_shift); | |||
/* ---------------- SCAN CODES ----------------- | |||
/* ----------------- SCANCODES ----------------- | |||
The "Sc" in Code_Sc means "scancode". | |||
When a Code_Sc is pressed, it sends its scancode. | |||
*/ |
@@ -55,7 +55,7 @@ LayerState_LED layerState(prtsLayerLEDs); | |||
Code_LayerHold l_fn(FN, layerState); | |||
/* ---------------- SCAN CODES ----------------- | |||
/* ----------------- SCANCODES ----------------- | |||
When a Code_LEDLock object is pressed, it sends its scancode and updates the its LED. | |||
Scancodes can be one of: KEY_CAPS_LOCK, KEY_SCROLL_LOCK, or KEY_NUM_LOCK. | |||
For example, when o_capsLock is pressed, it sends KEY_CAPS_LOCK scancode and updates LED_capsLck. |
@@ -68,7 +68,7 @@ LayerState_LED layerState(prtsLayerLEDs); | |||
Code_LayerHold l_fn(FN, layerState); | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_c(KEY_C); |
@@ -41,7 +41,7 @@ LayerState layerState; | |||
Code_LayerHold l_fn(FN, layerState); | |||
// ---------------- SCAN CODES ----------------- | |||
// ----------------- SCANCODES ----------------- | |||
Code_Sc s_a(KEY_A); | |||
Code_Sc s_b(KEY_B); | |||
Code_Sc s_minus(KEY_MINUS); |