diff --git a/build-scripts/gen-layout.py b/build-scripts/gen-layout.py
index fec5225..fd5e54c 100755
--- a/build-scripts/gen-layout.py
+++ b/build-scripts/gen-layout.py
@@ -74,6 +74,55 @@ def main():
+Firmware Layout
+
+
+ - git commit date:
+
""" + info.all['miscellaneous']['git-commit-date'] + """
+ - git commit id:
+
""" + info.all['miscellaneous']['git-commit-id'] + """
+
+
+Notes
+
+
+ - Layer keys are labeled e.g.
la 2 +- 2
+
+ la
is for "layer"
+ 2
indicates that the second pair of push|pop functions is
+ being used (differently numbered pairs won't interfere with each
+ other)
+ +
indicates that the layer is being "pushed" onto the
+ stack at some point, either when the key is pressed or when it is
+ released
+ -
indicates that the layer is being "popped" off of the
+ stack at some point
+ - the last
2
indicates the layer-number that will be
+ activated on "push".
+
+ See the project 'readme.md' file on the github page as a
+ starting point for learning more about how this firmware implements
+ layers.
+
+ - Shifted keys are labeled with an
sh
at the beginning. This
+ indicates that a 'Shift' is generated with that keypress, the same as if you
+ had held down 'Shift', and pressed that key.
+
+ (null)
indicates that no keypress or keyrelease will be
+ generated for that key, on that layer.
+
+ - Blank keys indicate "transparency": if you press that key on that layer,
+ the key will act as if it was on whatever layer is active below the current
+ one.
+
+ - Some keys may be labled with special functions (like
+
[btldr]
, which tells the Teensy to wait for the host to send it
+ a new firmware).
+
+
+
+
""")[1:-1]
# suffix
@@ -84,16 +133,36 @@ def main():
""")[1:-1]
# substitute into template
+ # -------
+ # note: this is not general enough to handle any possible layout well, at
+ # the moment. but it should handle more standard ones well. (hopefully
+ # minor) modifications may be necessary on a case by case basis
+ # -------
+ layer_number = -1
for (layout, layer) in zip( info.matrix_layout,
range(len(info.matrix_layout))):
+ layer_number += 1
svg = template.svg
for (name, (code, press, release)) \
in zip(info.matrix_positions, layout):
replace = ''
- if press == 'kbfun_jump_to_bootloader':
+ if press == 'kbfun_transparent':
+ replace = ''
+ elif press == 'kbfun_shift_press_release':
+ replace = 'sh ' + keycode_to_string.get(code, '[n/a]')
+ elif press == 'kbfun_jump_to_bootloader':
replace = '[btldr]'
- elif re.search(r'layer', press):
- replace = '[layer]'
+ elif press == 'NULL' and release == 'NULL':
+ replace = '(null)'
+ elif re.search(r'numpad', press+release):
+ replace = '[num]'
+ elif re.search(r'layer', press+release):
+ replace = 'la ' + re.findall(r'\d+', press+release)[0] + ' '
+ if re.search(r'push', press+release):
+ replace += '+'
+ if re.search(r'pop', press+release):
+ replace += '-'
+ replace += ' ' + str(code)
else:
replace = keycode_to_string.get(code, '[n/a]')
@@ -104,7 +173,10 @@ def main():
r"('\1', " + str(layer) + r")",
svg )
- doc.main += svg
+ doc.main += 'Layer ' + str(layer_number) + '
\n' + svg
+
+ # change the font size
+ doc.main = re.sub(r'22.5px', '15px', doc.main)
print(doc.prefix + doc.main + doc.suffix)
diff --git a/build-scripts/gen-ui-info.py b/build-scripts/gen-ui-info.py
index 2690e2c..ab45f2a 100755
--- a/build-scripts/gen-ui-info.py
+++ b/build-scripts/gen-ui-info.py
@@ -31,6 +31,7 @@ var ui_info = {
".meta-data": { // for the JSON file
"version": "",
"date-generated": "", // format: RFC 3339
+ "description": "",
},
"keyboard-functions": {
"<(function name)>": {
diff --git a/readme.md b/readme.md
index a09b389..15742a3 100644
--- a/readme.md
+++ b/readme.md
@@ -94,6 +94,20 @@ A few concepts that might be different:
active before them).
+## Dependencies (for building from source)
+
+* See the PJRC [Getting Started] (http://pjrc.com/teensy/first_use.html) page
+ for instructions on how to set up an AVR programming environment (be sure to
+ click through all the subsections (in the navigation bar on the left), as
+ there is essential information in each one). This project uses C (not
+ Arduino), and Make. I'm compiling with GNU tools under OS X, but other
+ environments (especially Linux, appropriately set up, or [WinAVR]
+ (http://winavr.sourceforge.net/) under Windows) should work too.
+
+* I also assume that you are using [git] (http://git-scm.com/) (for `make
+ clean`).
+
+
## HowTo
@@ -267,20 +281,6 @@ That is, how to change whether the rows or the columns are being driven. This c
-## Dependencies (for building from source)
-
-* See the PJRC [Getting Started] (http://pjrc.com/teensy/first_use.html) page
- for instructions on how to set up an AVR programming environment (be sure to
- click through all the subsections (in the navigation bar on the left), as
- there is essential information in each one). This project uses C (not
- Arduino), and Make. I'm compiling with GNU tools under OS X, but other
- environments (especially Linux, appropriately set up, or [WinAVR]
- (http://winavr.sourceforge.net/) under Windows) should work too.
-
-* I also assume that you are using [git] (http://git-scm.com/) (for `make
- clean`).
-
-
-------------------------------------------------------------------------------
Copyright © 2012 Ben Blazak
diff --git a/src/keyboard/ergodox/layout/dvorak-kinesis-mod.c b/src/keyboard/ergodox/layout/dvorak-kinesis-mod.c
index 00b7201..6b1df55 100644
--- a/src/keyboard/ergodox/layout/dvorak-kinesis-mod.c
+++ b/src/keyboard/ergodox/layout/dvorak-kinesis-mod.c
@@ -247,9 +247,9 @@ NULL,
ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, ktrans,
- ktrans, kprrel,
+ ktrans, ktrans,
ktrans, ktrans, ktrans,
- ktrans, ktrans, ktrans ),
+ ktrans, ktrans, kprrel ),
};
@@ -345,9 +345,9 @@ NULL,
ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, ktrans,
- ktrans, kprrel,
+ ktrans, ktrans,
ktrans, ktrans, ktrans,
- ktrans, ktrans, ktrans ),
+ ktrans, ktrans, kprrel ),
KB_MATRIX_LAYER( // release: layer 3: nothing (just making sure unused
diff --git a/src/keyboard/ergodox/layout/qwerty-kinesis-mod.c b/src/keyboard/ergodox/layout/qwerty-kinesis-mod.c
index 4c375b3..f18e1bd 100644
--- a/src/keyboard/ergodox/layout/qwerty-kinesis-mod.c
+++ b/src/keyboard/ergodox/layout/qwerty-kinesis-mod.c
@@ -247,9 +247,9 @@ NULL,
ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, ktrans,
- ktrans, kprrel,
+ ktrans, ktrans,
ktrans, ktrans, ktrans,
- ktrans, ktrans, ktrans ),
+ ktrans, ktrans, kprrel ),
};
@@ -345,9 +345,9 @@ NULL,
ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, kprrel, kprrel, ktrans,
ktrans, ktrans, kprrel, kprrel, ktrans,
- ktrans, kprrel,
+ ktrans, ktrans,
ktrans, ktrans, ktrans,
- ktrans, ktrans, ktrans ),
+ ktrans, ktrans, kprrel ),
KB_MATRIX_LAYER( // release: layer 3: nothing (just making sure unused