2
0
Просмотр исходного кода

Restructuring in keeping with recent changes to conventions

Christopher Browne 9 лет назад
Родитель
Сommit
3fe26d47a6

+ 2 - 1
keyboard/planck/keymaps/README.md

@@ -19,4 +19,5 @@ When adding your keymap to this list, keep it organised alphabetically (select l
 
 # List of Planck keymaps
 
-* **default** default Planck layout
+* **default** default Planck layout
+* **cbbrowne** cbbrowne's Planck layout

+ 1 - 0
keyboard/planck/keymaps/cbbrowne/.gitignore

@@ -0,0 +1 @@
+compiled.hex

+ 0 - 28
keyboard/planck/keymaps/cbbrowne/README.md

@@ -1,28 +0,0 @@
-cbbrowne custom keyboard
-==============================
-
-Due to cbbrowne@acm.org
-Christopher Browne
-
-This was originally based on the default keyboard map, but I have been
-doing sundry experimentation:
-
- * To figure things out about the toolset
- * I'm an Emacs guy, so will be needing a fair bit of tuning
- * It made sense to mess around some with keyboard maps.
-   - I tried added Workman alongside Dvorak and Colemak
-     - Boy, oh boy, these don't help!!!
-     - I have done 30 years of learning of Emacs key mappings, and
-       these alternative keyboards massively mess me up
-   - I added a keypad, originally based on keymaps/numpad.c, but
-     mighty substantially revised, as that one seems to be rotated 90
-     degrees from usual conventions for number pads
- * The keypad layer also includes some sample "hacks" of cool things,
-   all using actions attached in using the function action_get_macro()
-   - Key [1][2] aka "q" types out my name, cbbrowne, as a fun example
-     of a key generating a bunch of keystrokes.  The keystroke is
-     sufficiently inconvenient that it isn't terribly practical for me
-     to use it, but hey, it shows how others might use this facility
-     in a more useful context.
-   - Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random
-   - Key [3][2] aka "z" uses a random number generator to select a letter a-z at random	 

Разница между файлами не показана из-за своего большого размера
+ 0 - 1463
keyboard/planck/keymaps/cbbrowne/compiled.hex


+ 6 - 0
keyboard/planck/keymaps/cbbrowne/config_user.h

@@ -0,0 +1,6 @@
+/* cbbrowne user configuration */
+
+#define randadd 53
+#define randmul 181
+#define randmod 167
+

+ 9 - 13
keyboard/planck/keymaps/cbbrowne/keymap.c

@@ -2,6 +2,7 @@
 #ifdef BACKLIGHT_ENABLE
   #include "backlight.h"
 #endif
+#include "config_user.h"
 
 /* Each layer is given a name to aid in readability, which is then
    used in the keymap matrix below.  The underscores do not denote 
@@ -19,26 +20,25 @@
 
 /* Things I did not like about the default mapping 
 
-   - I find control too hard to get to.  I think I'll want it on a
-     left finger.  Gonna need to lose something to do that...
-   - Almost certainly, KC_LCTL should be on [2][1]
-   - having dash on [lower-j] is a bit nonintuitive, but may be OK
+   - I found control too hard to get to.  I use it more than Tab, so
+     switched it there.
+   - Having dash on [lower-j] is a bit nonintuitive, but may be OK
    - I'll bet I should switch ESC/TAB
    - I'm suspicious that I want to shift M(0) from [4][1] to [4][2],
      and shift ESC off the first column so KC_LCTL and KC_LALT can
      be on the first column.
-   - I think I wanna swap ' and ENTER
+   - I needed to swap ' and ENTER
 
    - All of the above are done :-)
 
-   - I'm keeping Colemak and Dvorak around for reference, and added
-     Workman just for fun.  They're useless to me, though.
+   - Dropped out support for Dvorak and friends.  They aren't 
+     improvements to me
 */
 
 
 /* Some interesting things implemented
 
-   - There is a macro that writes out "cbbrowne" just because I could
+   - There is a macro that writes out "cbbrowne" to show that I could
    - There is a (somewhat cruddy) linear congruential random number
      generator.
      - I would like to be seeding it with clock info to make it look
@@ -50,16 +50,15 @@
        of the random number generator
      - in both, note the use of register_code()/unregister_code()
        to indicate the desired key
+   - I do indeed want a sweet number pad!
 */
 
 /* Other things to do...
 
    - Need to think about what zsh and readline actions I use lots
-   - Wanna figure out macros, so I can put in a "cbbrowne" macro
    - Ought to ensure that Control-Alt-Delete is convenient enough
    - How about Alt-F1 thru Alt-F8?
    - What's the keystroke to get from X to console these days?
-   - I do indeed want a sweet number pad!
    - A layer for doing console switching would not be a bad idea
 */
 
@@ -112,9 +111,6 @@ const uint16_t PROGMEM fn_actions[] = {
 /* This bit of logic seeds a wee linear congruential random number generator */
 /* lots of prime numbers everywhere... */
 static uint16_t random_value = 157;
-#define randadd 53
-#define randmul 181
-#define randmod 167
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {

+ 63 - 0
keyboard/planck/keymaps/cbbrowne/readme.md

@@ -0,0 +1,63 @@
+cbbrowne custom keyboard
+==============================
+
+Due to cbbrowne@acm.org
+Christopher Browne
+
+This was originally based on the default keyboard map, but I have been
+doing sundry experimentation:
+
+1. Experiments
+----------------------------------------
+
+ * To figure things out about the toolset
+ * I'm an Emacs guy, so will be needing a fair bit of tuning
+ * It made sense to mess around some with keyboard maps.
+   - I tried added Workman alongside Dvorak and Colemak
+     - Boy, oh boy, these don't help!!!
+     - I have done 30 years of learning of Emacs key mappings, and
+       these alternative keyboards massively mess me up
+   - I added a keypad, originally based on keymaps/numpad.c, but
+     mighty substantially revised, as that one seems to be rotated 90
+     degrees from usual conventions for number pads
+ * The keypad layer also includes some sample "hacks" of cool things,
+   all using actions attached in using the function action_get_macro()
+   - Key [1][2] aka "q" types out my name, cbbrowne, as a fun example
+     of a key generating a bunch of keystrokes.  The keystroke is
+     sufficiently inconvenient that it isn't terribly practical for me
+     to use it, but hey, it shows how others might use this facility
+     in a more useful context.
+   - Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random
+   - Key [3][2] aka "z" uses a random number generator to select a letter a-z at random	 
+
+2. Some code structure ideas
+---------------------------------------------------
+
+   Each layer is given a name to aid in readability, which is then
+   used in the keymap matrix below.  The underscores do not denote
+   anything - you can have a layer called STUFF or any other name.
+
+   Layer names don't all need to be of the same length, obviously, and
+   you could also skip them entirely and just use numbers, though that
+   means needing to manage the numbers.
+
+   It is preferable to keep the symbols short so that a line worth of
+   key mappings fits compactly onto a line of code.  It might be an
+   interesting idea to express the maps rotated 90%, so that you
+   only need to fit 4 symbols onto each line, rather than 12.
+
+   I used enums to manage layer IDs and macro IDs so that I don't need
+   to care (beyond "start at 0", and arguably that's not needed) about
+   their values.
+
+3. Things I did not like about the default mapping
+---------------------------------------------------------
+
+   * I found control too hard to get to.  I use it more than Tab, so
+     switched it there.
+   * Having dash on [lower-j] is a bit nonintuitive, but may be OK
+   * I switched ESC/TAB/M(0) around
+   * I'm suspicious that I want to shift M(0) from [4][1] to [4][2],
+     and shift ESC off the first column so KC_LCTL and KC_LALT can
+     be on the first column.
+   * I needed to swap ' and ENTER