qmk_firmware/keyboards/frosty_flake/keymaps/QFR_JM
James Morgan 49d8f1c5ed Updated keymaps to allow base layer alternation for QWERTY, Colemak & Dvorak (#1962)
* First commit of the Terminus_Mini firmware and the DivergeJM version of the Nyquist firmware

* Fix terminus_mini & nyquist/DivergeJM readme files

Previously an outdated copy of the default readme. Updated to match the  Nyquist/DivergeJM format (DivergeJM is a split 5x12 implementation of the terminus_mini layout)

* Update makefiles to rules.mk

Renamed both Makefiles to rules.mk, removed references to makefiles

* Updated rules.mk

Inadvertantly removed important code from the rules.mk in previous commit. This has been restored.

Also disabled Tap_Dance in both rules.mk files

* Moved terminus_mini to handwired

Realised that existing directory was not appropriate for the terminus_mini project, moved to handwired.

* New Frosty Flake layout for QFR TKL

Added a TKL layout for the Frosty Flake with a navigation cluster on LOWER under the left hand and a similarly functioning MOUSE layer that includes mouse navigation functionality.

* README fix & keymap update for 3 keyboards

Fixed the markdown for the handwired/terminus_mini:default, Nyqyist:DivergeJM & frosty_flake:QFR_JM.

Added TAPPING_TERM =  150 to config.h for all keyboards

Switched LT(LOWER) and LAlt on the mod row for ortholinear boards.

* Update readme for QFR_JM to include make instructions

* Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware"

This reverts commit a45f264ada09acc14fb85390407bc7ff5bb021e3, reversing
changes made to 62349c33410671a33d4041d50cf27de1d6bdd9cf.

* Revert "Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware""

This reverts commit eae54fb3be2c60dffd704261f84bab98c9e06f93.

* Added QWERTY support to the QFR_JM

Implemented variable default base layer from the Planck default keymap.

* Update README to reflect QWERTY support

* Nyquist:DivergeJM - Update RESET location

Add a reset button to both hands, accessible when halves are disconnected.

* Typo fix

* Update DivergeJM

Switched master to Left hand,
Moved Reset key to a different location

* Added macros to send R pointer & dplyr pipe

Macros added as a string of keypresses, couldn't figure out how to get SEND_STRING to work.

* Added ADJUST -> QWERTY, DVORAK, COLEMAK

Re-implemented update_tri_layer fuctionality to reset base layer for Terminus_Mini & DivergeJM Nyquist keymaps to QWERTY, DVORAK or COLEMAK via the ADJUST layer.

Updated ReadMe files accordingly.

* Fix base layout diagram for Terminus_Mini

Remove split from diagram

* Changed the R operators to SEND_STRING, rather than keypress macros

* Added Dvorak to the QFR_JM keymap

* fixed duplicate row in Nyquist keymap

* Fix readme - LAlt location on mouse layer

* Set EE_HANDS to allow either Nyquist hand to work as master.

* Update R operator strings, clean up layering for terminus_mini, QFR_JM and DivergeJM

"<-" to " <- "
"%>%" to " %>% "

Also played around with the layering, removed unnecessary TAP_TOGGLE for LOWER and shuffled FUNCTION and MOUSE momentary actions to reflect layer order.

* Update bottom alpha row to output symbols on LOWER

This row now outputs the following (z -> /) when in the LOWER layer:
 <-
 %>%
{
[
`
|
]
}
.
/

* Updated readme files for QFR_JM, terminus_mini & DivergeJM

QFR_JM readme reflects correct LOWER bottom row symbol output,
terminus_mini & DivergeJM reflect correct command line make instructions.

* Add media keys to QFR_JM LOWER - Replicate QFR default functionality

* Fix issue with Mouse layering

Stuck on mouse layer because the wrong macro was assigned to the 'exit layer' key. Reassigned that key.

* Changed " <- " to "<- " for QFR_JM, terminus_mini & DivergeJM
2017-11-13 20:55:14 -05:00
..
config.h
keymap.c
readme.md
rules.mk

readme.md

TKL keymap for frosty_flake

make frosty_flake:QFR_JM

dfu-programmer atmega32u2 erase
dfu-programmer atmega32u2 flash frosty_flake_QFR_JM.hex
dfu-programmer atmega32u2 start

##Layers

  ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
  |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |PrSc|ScLk|PsBk|
  '----'    '-------------------' '-------------------' '-------------------' '--------------'
  ,-------------------------------------------------------------------------. ,--------------. 
  |  ` | 1  |  2 |  3 | 4  |  5 |  6 |  7 |  8 |  9 |  0 |  - |  = |  Bspc  | | Ins|Home|PgUp| 
  |-------------------------------------------------------------------------| |--------------| 
  | Tab  | Q  |  W | F  | P  | G  | J  | L  |  U |  Y | ;  | [  |  ] |   \  | | Del|End |PgDn| 
  |-------------------------------------------------------------------------| '--------------'
  |  Bspc | A  | R  |  S |  T | D  | H  | N  | E  | I  | O  | '  |   Enter  |                 
  |-------------------------------------------------------------------------|      ,----.     
  |   LSPO  | Z  | X  |  C | V  |  B |  K |  M |  , |  . |  / |    RSPC     |      | Up |     
  |-------------------------------------------------------------------------| ,--------------.
  |Ctrl|LGUI|LAlt|             Space/Lower              |MSE |RGUI|Menu|Ctrl| |Left|Down|Rght|
  '-------------------------------------------------------------------------' '--------------'

Base Layer - Colemak

The base layout is Colemak by default, but this can be changed to QWERTY via the LOWER layer.

  • I've implemented COLEMAK = SAFE_RANGE when enumerating the custom_keycodes, but I don't actually know what this does...

  • Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)

Layer Shifting

  • The spacebar is a TAP_KEY macro - Hold for momentary LOWER layer, Tap for Space.
  • The Right hand ALT key is a TAP_TOGGLE macro for the MOUSE layer (RAlt is accessible through LOWER, if you want...)

LOWER

  ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
  |ESC |    | F1 | F2 | F3 | F4 | |>/|||Stop| << | >> | | F9 |MUTE|Vol-|Vol+| |QWTY|CLMK|PsBk|
  '----'    '-------------------' '-------------------' '-------------------' '--------------'
  ,-------------------------------------------------------------------------. ,--------------. 
  |  ~ | !  |  @ |  # |  $ |  % |  ^ |  & |  * |  ( |  ) |  _ |  + |  Bspc  | | Ins|Home|PgUp| 
  |-------------------------------------------------------------------------| |--------------| 
  | Tab  |PgUp|Home| Up | End|    |    |    |    |    |    | {  |  } |   |  | | Del|End |PgDn| 
  |-------------------------------------------------------------------------| '--------------'
  | Bckspc|PgDn|Left|Down|Rght|    |    |    |    |    |    | '  |   Enter  |                 
  |-------------------------------------------------------------------------|      ,----.     
  |   LSPO  | <- |%>% |  { | [  |  ` | |  |  ] |  } |  . |  / |    RSPC     |      | Up |     
  |-------------------------------------------------------------------------| ,--------------.
  |Ctrl|LGUI|LAlt|               		                    |RAlt|RGUI|Menu|Ctrl| |Left|Down|Rght|
  '-------------------------------------------------------------------------' '--------------'

The LOWER layer contains a navigation cluster on the left hand. This layer is momentary when the spacebar or LOWER (RAlt) key is held and toggled on/off when the LOWER key is tapped.

  • The Navigation cluster is offset to the right compared to the traditional WASD nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.

  • All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC_NO), all modifiers (edge |_| keys [except 0, . & Fn] on the above keymap) and the ZXCV cluster are transparent (_______) to the Base layer.

  • The base layer can be switched to QWERTY or COLEMAK by pressing the Pause Break or Scroll Lock keys respectively

MOUSE

  ,----.    ,-------------------. ,-------------------. ,-------------------. ,--------------.
  |ESC |    | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 |F10 |F11 |F12 | |PrSc|ScLk|PsBk|
  '----'    '-------------------' '-------------------' '-------------------' '--------------'
  ,-------------------------------------------------------------------------. ,--------------. 
  |  ` | 1  |  2 |  3 | 4  |  5 |  6 |  7 |  8 |  9 |  0 |  - |  = |   Del  | | Ins|Home|PgUp| 
  |-------------------------------------------------------------------------| |--------------| 
  | Tab  | WhU| WhL| MsU| WhR|    |    | M3 | M4 | M5 |    | [  |  ] |   \  | | Del|End |PgDn| 
  |-------------------------------------------------------------------------| '--------------'
  | BSPC  | WhD| MsL| MsD| MsR|    |    |LClk |RClk |    |    | '  |   Enter  |                 
  |-------------------------------------------------------------------------|      ,----.     
  |   LSPO  | Z  | X  |  C | V  |    |    |    |  , |  . |  / |    RSPC     |      | Up |     
  |-------------------------------------------------------------------------| ,--------------.
  |Ctrl|LGUI|LAlt|               Accel ++               |MSE |RGUI|Menu|Ctrl| |Left|Down|Rght|
  '-------------------------------------------------------------------------' '--------------'

The MOUSE layer contains keys replicating functions found on the mouse.

  • The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the LOWER layer. The scroll keys are analagous to the Page Up & Downkeys.
  • The primary click (right & left) buttons are on the right home row (index & middle fingers)
  • Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.