document
This commit is contained in:
parent
726e666ebb
commit
256a247011
@ -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 0.x.x is for initial development.
|
||||||
keybrd version 1.0.0 will be released when the public API is stable.
|
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)
|
0.6.6 (2016-11-16)
|
||||||
------------------
|
------------------
|
||||||
* Enhancements
|
* Enhancements
|
||||||
|
@ -2,12 +2,11 @@ planned_features is a view of where the keybrd project is headed.
|
|||||||
|
|
||||||
Top priority
|
Top priority
|
||||||
------------
|
------------
|
||||||
* Add matrix-to-layout mapping (to decouple key matrix from layout)
|
* Add breadboard keyboard schematics to tutorials
|
||||||
|
|
||||||
Medium priority
|
Medium priority
|
||||||
---------------
|
---------------
|
||||||
* Add breadboard keyboard schematics to tutorials
|
* Getting user feedback
|
||||||
|
|
||||||
Low priority
|
Low priority
|
||||||
------------
|
------------
|
||||||
* Getting user feedback
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=keybrd
|
name=keybrd
|
||||||
version=0.6.6
|
version=0.6.7
|
||||||
author=Wolfram Volpi
|
author=Wolfram Volpi
|
||||||
maintainer=Wolfram Volpi
|
maintainer=Wolfram Volpi
|
||||||
sentence=A library for creating custom-keyboard firmware.
|
sentence=A library for creating custom-keyboard firmware.
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "Debouncer_Not.h"
|
#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),
|
* if strobe pin is on uC (strobe for Scanner_uC or Scanner_ShiftRegsRead),
|
||||||
then strobePin is an Arduino pin number connected to this row.
|
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,
|
* 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);
|
Code_LayerHold l_fn(FN, layerState);
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_minus(KEY_MINUS);
|
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_normal(ALPHA, layerState);
|
||||||
Code_LayerLock l_sym(SYM, layerState);
|
Code_LayerLock l_sym(SYM, layerState);
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_minus(KEY_MINUS);
|
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;
|
LayerStateInterface& Key_LayeredKeys::refLayerState = groupState;
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_c(KEY_C);
|
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;
|
LayerStateInterface& Key_LayeredKeys1::refLayerState = subgroupState;
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_c(KEY_C);
|
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;
|
LayerStateInterface& Key_LayeredScSc::refLayerState = subgroupState;
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_c(KEY_C);
|
Code_Sc s_c(KEY_C);
|
||||||
|
@ -45,7 +45,7 @@ enum layerIds { NORMAL, FN };
|
|||||||
LayerState layerState;
|
LayerState layerState;
|
||||||
Code_LayerHold l_fn(FN, layerState);
|
Code_LayerHold l_fn(FN, layerState);
|
||||||
|
|
||||||
/* ---------------- SCAN CODES -----------------
|
/* ----------------- SCANCODES -----------------
|
||||||
The "Sc" in Code_Sc means "scancode".
|
The "Sc" in Code_Sc means "scancode".
|
||||||
When a Code_Sc is pressed, it sends its 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_Shift s_shift(MODIFIERKEY_LEFT_SHIFT);
|
||||||
Code_LayerHoldShift l_shift(SHIFT, layerState, s_shift);
|
Code_LayerHoldShift l_shift(SHIFT, layerState, s_shift);
|
||||||
|
|
||||||
/* ---------------- SCAN CODES -----------------
|
/* ----------------- SCANCODES -----------------
|
||||||
The "Sc" in Code_Sc means "scancode".
|
The "Sc" in Code_Sc means "scancode".
|
||||||
When a Code_Sc is pressed, it sends its 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);
|
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.
|
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.
|
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.
|
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);
|
Code_LayerHold l_fn(FN, layerState);
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_c(KEY_C);
|
Code_Sc s_c(KEY_C);
|
||||||
|
@ -41,7 +41,7 @@ LayerState layerState;
|
|||||||
|
|
||||||
Code_LayerHold l_fn(FN, layerState);
|
Code_LayerHold l_fn(FN, layerState);
|
||||||
|
|
||||||
// ---------------- SCAN CODES -----------------
|
// ----------------- SCANCODES -----------------
|
||||||
Code_Sc s_a(KEY_A);
|
Code_Sc s_a(KEY_A);
|
||||||
Code_Sc s_b(KEY_B);
|
Code_Sc s_b(KEY_B);
|
||||||
Code_Sc s_minus(KEY_MINUS);
|
Code_Sc s_minus(KEY_MINUS);
|
||||||
|
Reference in New Issue
Block a user