diff options
author | Ryan Ascheman <rascheman@groupon.com> | 2016-10-18 12:42:02 -0700 |
---|---|---|
committer | Ryan Ascheman <rascheman@groupon.com> | 2016-10-18 12:42:02 -0700 |
commit | 55b8b8477cc6aee82dfe6792eea4e589cac433d5 (patch) | |
tree | ce5bfbd1b0ee59dbffdc2044bcf90c89614392ed /keyboards/planck/keymaps/ab | |
parent | d1c70328f8d8ded6ce1e5422b468fc41ef315e7d (diff) | |
parent | 04df74f6360464661bcc1e6794e9fd3549084390 (diff) |
Merge remote-tracking branch 'upstream/master'
* upstream/master: (1239 commits)
Update ez.c
removes planck/rev3 temporarily
Move hand_swap_config to ez.c, removes error for infinity
Update Makefile
ergodox: Update algernon's keymap to v1.9
Added VS Code dir to .gitignore
Support the Pegasus Hoof controller.
[Jack & Erez] Simplifies and documents TO
add readme
use wait_ms instead of _delay_ms
add messenger
init keymap
Add example keymap
Adding whiskey_tango_foxtrot_capslock ergodox keymap
Unicode map framework. Allow unicode up to 0xFFFFF using separate mapping table
CIE 1931 dim curve
Apply the dim curve to the RGB output
Update the Cluecard readme files
Tune snake and knight intervals for Cluecard
Tunable RGB light intervals
...
Diffstat (limited to 'keyboards/planck/keymaps/ab')
-rw-r--r-- | keyboards/planck/keymaps/ab/Makefile | 63 | ||||
-rw-r--r-- | keyboards/planck/keymaps/ab/keyboard-layout.json | 185 | ||||
-rw-r--r-- | keyboards/planck/keymaps/ab/keyboard-layout.png | bin | 0 -> 26518 bytes | |||
-rw-r--r-- | keyboards/planck/keymaps/ab/keyboard-photo.jpg | bin | 0 -> 252997 bytes | |||
-rw-r--r-- | keyboards/planck/keymaps/ab/keymap.c | 132 | ||||
-rw-r--r-- | keyboards/planck/keymaps/ab/readme.md | 18 |
6 files changed, 398 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/ab/Makefile b/keyboards/planck/keymaps/ab/Makefile new file mode 100644 index 0000000000..44a030ba38 --- /dev/null +++ b/keyboards/planck/keymaps/ab/Makefile @@ -0,0 +1,63 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Build Options +# change to "no" to disable the options, or define them in the makefile.mk in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/ab/keyboard-layout.json b/keyboards/planck/keymaps/ab/keyboard-layout.json new file mode 100644 index 0000000000..4e631a3487 --- /dev/null +++ b/keyboards/planck/keymaps/ab/keyboard-layout.json @@ -0,0 +1,185 @@ +[ + { + "name": "AB's Practical Keymap for Planck", + "author": "Anand Babu Periasamy" + }, + [ + { + "fa": [ + 2, + 2, + 0, + 2 + ] + }, + "F1\n1\n\n!\n\n\n\n\n\nTab", + "F2\n2\n\n@\n\n\n\n\n\nQ", + "F3\n3\n\n#\n\n\n\n\n\nW", + "F4\n4\n\n$\n\n\n\n\n\nE", + "F5\n5\n\n%\n\n\n\n\n\nR", + "F6\n6\n\n^\n\n\n\n\n\nT", + "F7\n7\n\n&\n\n\n\n\n\nY", + "F8\n8\n\n*\n\n\n\n\n\nU", + "F9\n9\n\n(\n\n\n\n\n\nI", + "F10\n0\n\n)\n\n\n\n\n\nO", + "F11\n-\n\n_\n\n\n\n\n\nP", + "F12\n=\n\n+\n\n\n\n\n\n<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>" + ], + [ + { + "a": 7, + "f": 3 + }, + "Ctrl", + { + "f": 3 + }, + "A", + { + "f": 3 + }, + "S", + { + "f": 3 + }, + "D", + { + "c": "#c4bcbc", + "a": 4, + "f": 3 + }, + "\n(\n\n\n\n\n\n\n\nF", + { + "c": "#cccccc", + "f": 3 + }, + "\n)\n\n\n\n\n\n\n\nG", + { + "f": 3 + }, + "\n{\n\n\n\n\n\n\n\nH", + { + "c": "#c4bcbc", + "f": 3 + }, + "\n}\n\n\n\n\n\n\n\nJ", + { + "c": "#cccccc", + "a": 7, + "f": 3 + }, + "K", + { + "f": 3 + }, + "L", + { + "a": 6, + "f": 3 + }, + ";\n\n:", + { + "a": 7, + "f": 3 + }, + "Enter" + ], + [ + { + "f": 3 + }, + "Shift", + { + "f": 3 + }, + "Z", + { + "f": 3 + }, + "X", + { + "f": 3 + }, + "C", + { + "a": 4, + "fa": [ + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2 + ] + }, + "\\\n[\n\n\n\n\n\n\n\nV", + "|\n]\n\n\n\n\n\n\n\nB", + "`\n'\n\n\n\n\n\n\n\nN", + "~\n\"\n\n\n\n\n\n\n\nM", + { + "a": 6 + }, + ",\n\n<", + ".\n\n>", + "/\n\n?", + { + "a": 7 + }, + "Shift\n\n\n\nEnter" + ], + [ + { + "a": 4, + "fa": [ + 2, + 2 + ] + }, + "<i class='fa fa-download'></i>\n<i class='fa fa-lightbulb-o'></i>\n\n\n\n\n\n\n\nCtrl", + "\n<i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\nEsc", + "\n<i class=\"fa fa-search-minus\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\n<i class='fa fa-linux'></i>", + "\n<i class=\"fa fa-search-plus\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\nAlt", + { + "a": 7, + "f": 3 + }, + "<i class='fa fa-sort-down'></i>", + { + "a": 4, + "fa": [ + 1, + 1 + ], + "w": 2 + }, + "PgUp\nPgDn\n\n\n\n\n\n\n\nSpace", + { + "a": 7, + "f": 3 + }, + "<i class='fa fa-sort-up'></i>", + { + "a": 4, + "fa": [ + 2 + ] + }, + "<i class=\"fa fa-undo\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>", + { + "f": 3 + }, + "<i class='fa fa-volume-down'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>", + { + "f": 3 + }, + "<i class='fa fa-volume-up'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>", + { + "f": 3 + }, + "<i class='fa fa-volume-off'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>" + ] +]
\ No newline at end of file diff --git a/keyboards/planck/keymaps/ab/keyboard-layout.png b/keyboards/planck/keymaps/ab/keyboard-layout.png Binary files differnew file mode 100644 index 0000000000..dcdbb726df --- /dev/null +++ b/keyboards/planck/keymaps/ab/keyboard-layout.png diff --git a/keyboards/planck/keymaps/ab/keyboard-photo.jpg b/keyboards/planck/keymaps/ab/keyboard-photo.jpg Binary files differnew file mode 100644 index 0000000000..358cb6bcae --- /dev/null +++ b/keyboards/planck/keymaps/ab/keyboard-photo.jpg diff --git a/keyboards/planck/keymaps/ab/keymap.c b/keyboards/planck/keymaps/ab/keymap.c new file mode 100644 index 0000000000..8e1d28a65a --- /dev/null +++ b/keyboards/planck/keymaps/ab/keymap.c @@ -0,0 +1,132 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#include "eeconfig.h" +#ifdef BACKLIGHT_ENABLE + #include "backlight.h" +#endif + +extern keymap_config_t keymap_config; + +// Symbolic names for macro IDs. +#define _QWERTY 0 // QUERTY layer +#define _LOWER 1 // Lower layer +#define _RAISE 2 // Raise layer +#define _CUSTOM 3 // Custom layer (LOWER + RAISE) +#define _BL 4 // Backlight +#define _MOB 5 // Mobile# +#define _CUS1 6 // Custom macro 1 +#define _CUS2 7 // Custom macro 2 + +// Macro shortcuts. +#define QWERTY M(_LOWER) +#define LOWER M(_LOWER) +#define RAISE M(_RAISE) +#define CUSTOM M(_CUSTOM) +#define BL M(_BL) +#define MOB M(_MOB) +#define CUS1 M(_CUS1) +#define CUS2 M(_CUS2) + +// Func macro definitions. +#define LWR_PGDN FUNC(0) // Tap for PgDn, hold for LOWER +#define RSE_PGUP FUNC(1) // Tap for PgUp, hold for RAISE +#define CTL_CAPS FUNC(2) // Tap for Caps, hold for Ctrl (DOESN'T SEEM TO WORK) +#define SFT_ENT FUNC(3) // Tap for Enter, hold for Shift +#define ZM_NRM FUNC(4) // Zoom normal +#define ZM_IN FUNC(5) // Zoom out +#define ZM_OUT FUNC(6) // Zoom in +#define EM_UNDO FUNC(7) // Emacs Undo + +// Enable these functions using FUNC(n) macro. +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_PGDN), + [1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_PGUP), + [2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_CAPS), + [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), + [4] = ACTION_MODS_KEY(MOD_LCTL, KC_0), + [5] = ACTION_MODS_KEY(MOD_LCTL, KC_MINS), + [6] = ACTION_MODS_KEY(MOD_LCTL, KC_PLUS), + [7] = ACTION_MODS_KEY(MOD_LCTL, KC_UNDS), + }; + +// This config can be found at Keyboard layout editor site: http://goo.gl/zjXL2l +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_QWERTY] = { /* QWERTY */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, + {KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, +[_LOWER] = { /* LOWER */ + {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {BL, ZM_NRM, ZM_IN, ZM_OUT, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} +}, +[_RAISE] = { /* RAISE */ + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_LCBR, KC_BSLS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_GRV, KC_TILD, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS}, + {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, EM_UNDO, KC_VOLD, KC_VOLU, KC_MUTE} +}, +[_CUSTOM] = { /* CUSTOM */ + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MOB, KC_TRNS, CUS1, CUS2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} +} +}; + +// Set a layer persistantly. +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +// Macro actions for each corresponding ID. +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _RAISE: // Raised layer. + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } + break; + case _LOWER: // Lowered layer. + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } + break; + case _BL: // Backlight + if (record->event.pressed) { + register_code(KC_RSFT); +#ifdef BACKLIGHT_ENABLE + backlight_step(); +#endif + } else { + unregister_code(KC_RSFT); + } + break; + case _MOB: // Your mobile# here. + return MACRODOWN(T(1), T(2), T(3), T(MINS), + T(1), T(2), T(3), T(MINS), + T(1), T(2), T(3), T(4), + END); + case _CUS1: // Your custom macro 1 + return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END); + case _CUS2: // Your custom macro 2 + return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END); + }; + return MACRO_NONE; +} diff --git a/keyboards/planck/keymaps/ab/readme.md b/keyboards/planck/keymaps/ab/readme.md new file mode 100644 index 0000000000..d6280f074d --- /dev/null +++ b/keyboards/planck/keymaps/ab/readme.md @@ -0,0 +1,18 @@ +# Practical keymap for Planck Ortholinear 40% Mechanical Keyboard +A practical keymap that emulates standard QWERTY keyboard for Planck. Once you get comfortable with this keymap, you may fork and customize it for your own needs. + +![Layout](keyboard-layout.png "Practical Keymap") +![Photo](keyboard-photo.jpg "Planck Keyboard") + +* Online keyboard layout editor: http://goo.gl/mlLAFZ + +# Programming Instructions: +Enter into programming mode and run the following command. +``` +$ sudo KEYMAP=ab make dfu +``` +# Notes +* Simultaneous RAISE+LOWER enters CUSTOM layer. You may add your own macros and custom keys here. +* RAISE and LOWER also acts as PgUp and PgDn when tapped. +* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users. +* Bracket keys are placed in the center of the keyboard for programmer's convenience. |