From 4c48c29c0e65f66f95290a6f056d0af5b3cc5ab0 Mon Sep 17 00:00:00 2001 From: Ante Laurijssen Date: Mon, 29 May 2017 22:09:06 -0400 Subject: [PATCH] Added MIDI_CHORD layer and other little fixes. Updated readme.md --- .../bluebear/S60X-Bluebear-ARROWFN-Layer.png | Bin 17938 -> 18499 bytes .../bluebear/S60X-Bluebear-MIDI-Layer.png | Bin 21329 -> 0 bytes .../bluebear/S60X-Bluebear-MOUSE-Layer.png | Bin 16119 -> 16499 bytes keyboards/s60_x/keymaps/bluebear/keymap.c | 195 +++++++++++++++--- keyboards/s60_x/keymaps/bluebear/readme.md | 60 +++++- 5 files changed, 226 insertions(+), 29 deletions(-) delete mode 100644 keyboards/s60_x/keymaps/bluebear/S60X-Bluebear-MIDI-Layer.png diff --git a/keyboards/s60_x/keymaps/bluebear/S60X-Bluebear-ARROWFN-Layer.png b/keyboards/s60_x/keymaps/bluebear/S60X-Bluebear-ARROWFN-Layer.png index a7c6df504412616e24c67efae9d5b18e5097d222..1f659d184d9816a81983cf34436995d000dab4fe 100644 GIT binary patch literal 18499 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 literal 17938 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 Xy^PQ2Z&xxfFfe$!`njxgN@xNAP|x$i diff --git a/keyboards/s60_x/keymaps/bluebear/S60X-Bluebear-MIDI-Layer.png b/keyboards/s60_x/keymaps/bluebear/S60X-Bluebear-MIDI-Layer.png deleted file mode 100644 index c8df0a9e9e7c0ae12beeb972a4c3ad0adec9c420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21329 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 Q5{e)>Pgg&ebxsLQ0D~h&O#lD@ diff --git a/keyboards/s60_x/keymaps/bluebear/keymap.c b/keyboards/s60_x/keymaps/bluebear/keymap.c index 3be39c3fa2..44ebb5aada 100644 --- a/keyboards/s60_x/keymaps/bluebear/keymap.c +++ b/keyboards/s60_x/keymaps/bluebear/keymap.c @@ -3,11 +3,12 @@ // Keyboard Layers enum keyboard_layers { - BASE, //Base Layer - ARROWFN, //Arrow/FN Layer - MOUSE, //Mouse Layer - MIDI, //Midi Layer - MORSE, //Morse Code Layer + BASE, //Base Layer + ARROWFN, //Arrow/FN Layer + MOUSE, //Mouse Layer + MIDI_BASE, //Midi Layer + MIDI_CHORDS, //Midi Chord Layer + MORSE, //Morse Code Layer }; // Midi Chords @@ -15,6 +16,8 @@ enum keyboard_layers { enum midi_chord_modes { //ACTION_FUNCTION id major, minor, + dom_seventh, + dim_seventh, }; enum midi_chord_root { //ACTION_FUNCTION opt @@ -78,6 +81,46 @@ enum midi_chord_id { //ACTION_FUNCTION Progmem Id AsMinor, BbMinor = AsMinor, BMinor, + + //Dominant Seventh Chords + + CDom7, + CsDom7, + DbDom7 = CsDom7, + DDom7, + DsDom7, + EbDom7 = DsDom7, + EDom7, + FDom7, + FsDom7, + GbDom7 = FsDom7, + GDom7, + GsDom7, + AbDom7 = GsDom7, + ADom7, + AsDom7, + BbDom7 = AsDom7, + BDom7, + + //Diminished Seventh Chords + + CDim7, + CsDim7, + DbDim7 = CsDim7, + DDim7, + DsDim7, + EbDim7 = DsDim7, + EDim7, + FDim7, + FsDim7, + GbDim7 = FsDim7, + GDim7, + GsDim7, + AbDim7 = GsDim7, + ADim7, + AsDim7, + BbDim7 = AsDim7, + BDim7, }; enum midi_chord_keycodes { //Midi Chocd Keycodes @@ -121,6 +164,46 @@ enum midi_chord_keycodes { //Midi Chocd Keycodes MI_CH_Asm = F(AsMinor), MI_CH_Bbm = MI_CH_Asm, MI_CH_Bm = F(BMinor), + + //Dominant Seventh Keycodes + + MI_CH_CDom7 = F(CDom7), + MI_CH_CsDom7 = F(CsDom7), + MI_CH_DbDom7 = MI_CH_CsDom7, + MI_CH_DDom7 = F(DDom7), + MI_CH_DsDom7 = F(DsDom7), + MI_CH_EbDom7 = MI_CH_DsDom7, + MI_CH_EDom7 = F(EDom7), + MI_CH_FDom7 = F(FDom7), + MI_CH_FsDom7 = F(FsDom7), + MI_CH_GbDom7 = MI_CH_FsDom7, + MI_CH_GDom7 = F(GDom7), + MI_CH_GsDom7 = F(GsDom7), + MI_CH_AbDom7 = MI_CH_GsDom7, + MI_CH_ADom7 = F(ADom7), + MI_CH_AsDom7 = F(AsDom7), + MI_CH_BbDom7 = MI_CH_AsDom7, + MI_CH_BDom7 = F(BDom7), + + //Diminished Seventh Keycodes + + MI_CH_CDim7 = F(CDim7), + MI_CH_CsDim7 = F(CsDim7), + MI_CH_DbDim7 = MI_CH_CsDim7, + MI_CH_DDim7 = F(DDim7), + MI_CH_DsDim7 = F(DsDim7), + MI_CH_EbDim7 = MI_CH_DsDim7, + MI_CH_EDim7 = F(EDim7), + MI_CH_FDim7 = F(FDim7), + MI_CH_FsDim7 = F(FsDim7), + MI_CH_GbDim7 = MI_CH_FsDim7, + MI_CH_GDim7 = F(GDim7), + MI_CH_GsDim7 = F(GsDim7), + MI_CH_AbDim7 = MI_CH_GsDim7, + MI_CH_ADim7 = F(ADim7), + MI_CH_AsDim7 = F(AsDim7), + MI_CH_BbDim7 = MI_CH_AsDim7, + MI_CH_BDim7 = F(BDim7), }; //Morse Code Macro Keys @@ -202,7 +285,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 1: Arrow/FN Layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │TO(3)│TO(4)│ + │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │TO(3)│TO(5)│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ │ │ │ │ │ │ │ │PGUP │ UP │ │ │ │ INS │ DEL │█████│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ @@ -215,7 +298,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [ARROWFN] = KEYMAP( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TO(3), TO(4), \ + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TO(3), TO(5), \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_UP, KC_NO, KC_NO, KC_NO, KC_INS, KC_DEL, \ KC_CAPS, KC_HOME, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_NO, KC_TRNS, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPACE, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO, KC_NO, \ @@ -225,7 +308,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 2: Mouse Keys Layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │RESET│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ │ + │RESET│ F13 │ F14 │ F15 │ F16 │ F17 │ F18 │ F19 │ F20 │ F21 │ F22 │ F23 │ F24 │ │ │ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ │DEBUG│ │ │ │ │ │ │BTN1 │MS_UP│BTN2 │WH_UP│ │ │ │█████│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ @@ -239,37 +322,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MOUSE] = KEYMAP( - RESET, 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_NO, KC_NO, \ + RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_NO, KC_NO, \ DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_UP, KC_BTN2, KC_WH_U, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_WH_D, KC_BTN3, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS, KC_NO, KC_NO, KC_POWER, KC_NO, KC_NO, KC_NO, KC_NO ), - /* 3: Midi Layer + /* 3: Midi Base Layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │TO(0)│ Cmaj│ Gmaj│ Dmaj│ Amaj│ Emaj│ Bmaj│Gbmaj│Dbmaj│Abmaj│Ebmaj│Bbmaj│ Fmaj│ │ │ + │TO(0)│ Cmaj│ Gmaj│ Dmaj│ Amaj│ Emaj│ Bmaj│Gbmaj│Dbmaj│Abmaj│Ebmaj│Bbmaj│ Fmaj│ │TO(4)│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ C# │ D# │ │ F# │ G# │ A# │ │ C# │ D# │ │ │ │█████│ + │OCT+ │ │ C# │ D# │ │ F# │ G# │ A# │ │ C# │ D# │ │ │ │█████│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │OCT- │ C │ D │ E │ F │ G │ A │ B │ C │ D │ E │ F │▒▒▒▒▒│OCT+ │█████│ + │OCT- │ C │ D │ E │ F │ G │ A │ B │ C │ D │ E │ F │▒▒▒▒▒│ │█████│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ Am │▒▒▒▒▒│ Em │ Bm │ F#m │ C#m │ G#m │ D#m │ Bbm │ Fm │ Cm │ Gm │▒▒▒▒▒│ Dm │▒▒▒▒▒│ + │ Cm │▒▒▒▒▒│ Gm │ Dm │ Am │ Em │ Bm │ Gbm │ Dbm │ Abm │ Ebm │ Bbm │▒▒▒▒▒│ Fm │▒▒▒▒▒│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ │ │ │ │█████│█████│█████│A-OFF│█████│█████│█████│ │ │ │ │█████│ └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ */ - [MIDI] = KEYMAP( - TO(0), MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Gb, MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, KC_NO, KC_NO, \ - KC_NO, KC_NO, MI_Cs, MI_Ds, KC_NO, MI_Fs, MI_Gs, MI_As, KC_NO, MI_Cs_1, MI_Ds_1, KC_NO, KC_NO, KC_NO, \ - MI_OCTD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, KC_NO, MI_OCTU, \ - MI_CH_Am, KC_NO, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Csm, MI_CH_Gsm, MI_CH_Dsm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, KC_NO, MI_CH_Dm, KC_NO, \ - KC_NO, KC_NO, KC_NO, MI_ALLOFF, KC_NO, KC_NO, KC_NO, KC_NO - ), + [MIDI_BASE] = KEYMAP( + TO(0), MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Gb, MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, KC_NO, TO(4), \ + MI_OCTU, KC_NO, MI_Cs, MI_Ds, KC_NO, MI_Fs, MI_Gs, MI_As, KC_NO, MI_Cs_1, MI_Ds_1, KC_NO, KC_NO, KC_NO, \ + MI_OCTD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, KC_NO, KC_NO, \ + MI_CH_Cm, KC_NO, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Gbm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, KC_NO, MI_CH_Fm, KC_NO, \ + KC_NO, KC_NO, KC_NO, MI_ALLOFF, KC_NO, KC_NO, KC_NO, KC_NO + ), - /* 4: Morse Code Layer + /* 4: Midi Chord Layer + + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │TO(0)│ Cmaj│ Gmaj│ Dmaj│ Amaj│ Emaj│ Bmaj│Gbmaj│Dbmaj│Abmaj│Ebmaj│Bbmaj│ Fmaj│TO(3)│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │OCT+ │ Cm │ Gm │ Dm │ Am │ Em │ Bbm │ Gbm │ Dbm │ Abm │ Ebm │ Bbm │ Fm │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │OCT- │Cdom7│Gdom7│Ddom7│Adom7│Edom7│Bdom7│Gbdo7│Dbdo7│Abdo7│Ebdo7│Bbdo7│▒▒▒▒▒│Fdom7│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Cdim7│▒▒▒▒▒│Gdim7│Ddim7│Adim7│Edim7│Bdim7│Gbdi7│Dbdi7│Abdi7│Ebdi7│Bbdi7│▒▒▒▒▒│Fdim7│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│A-OFF│█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + + [MIDI_CHORDS] = KEYMAP( + TO(0), MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Gb, MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, TO(3), KC_NO, \ + MI_OCTU, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bbm, MI_CH_Gbm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, KC_NO, \ + MI_OCTD, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_GbDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, KC_NO, MI_CH_FDom7, \ + MI_CH_CDim7, KC_NO, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_GbDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, KC_NO, MI_CH_FDim7, KC_NO, \ + KC_NO, KC_NO, KC_NO, MI_ALLOFF, KC_NO, KC_NO, KC_NO, KC_NO + ), + + /* 5: Morse Code Layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ │TO(0)│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ @@ -720,6 +826,36 @@ const uint16_t PROGMEM fn_actions[] = { [AMinor] = ACTION_FUNCTION_OPT(minor, A), [AsMinor] = ACTION_FUNCTION_OPT(minor, As), [BMinor] = ACTION_FUNCTION_OPT(minor, B), + + //Dominant 7th + + [CDom7] = ACTION_FUNCTION_OPT(dom_seventh, C), + [CsDom7] = ACTION_FUNCTION_OPT(dom_seventh, Cs), + [DDom7] = ACTION_FUNCTION_OPT(dom_seventh, D), + [DsDom7] = ACTION_FUNCTION_OPT(dom_seventh, Ds), + [EDom7] = ACTION_FUNCTION_OPT(dom_seventh, E), + [FDom7] = ACTION_FUNCTION_OPT(dom_seventh, F), + [FsDom7] = ACTION_FUNCTION_OPT(dom_seventh, Fs), + [GDom7] = ACTION_FUNCTION_OPT(dom_seventh, G), + [GsDom7] = ACTION_FUNCTION_OPT(dom_seventh, Gs), + [ADom7] = ACTION_FUNCTION_OPT(dom_seventh, A), + [AsDom7] = ACTION_FUNCTION_OPT(dom_seventh, As), + [BDom7] = ACTION_FUNCTION_OPT(dom_seventh, B), + + //Diminished 7th + + [CDim7] = ACTION_FUNCTION_OPT(dim_seventh, C), + [CsDim7] = ACTION_FUNCTION_OPT(dim_seventh, Cs), + [DDim7] = ACTION_FUNCTION_OPT(dim_seventh, D), + [DsDim7] = ACTION_FUNCTION_OPT(dim_seventh, Ds), + [EDim7] = ACTION_FUNCTION_OPT(dim_seventh, E), + [FDim7] = ACTION_FUNCTION_OPT(dim_seventh, F), + [FsDim7] = ACTION_FUNCTION_OPT(dim_seventh, Fs), + [GDim7] = ACTION_FUNCTION_OPT(dim_seventh, G), + [GsDim7] = ACTION_FUNCTION_OPT(dim_seventh, Gs), + [ADim7] = ACTION_FUNCTION_OPT(dim_seventh, A), + [AsDim7] = ACTION_FUNCTION_OPT(dim_seventh, As), + [BDim7] = ACTION_FUNCTION_OPT(dim_seventh, B), }; void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { @@ -764,19 +900,30 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { } uint16_t major_third = root_note + 4; uint16_t minor_third = root_note + 3; + //uint16_t flat_fifth = root_note + 6; uint16_t fifth = root_note + 7; + uint16_t minor_seventh = root_note + 10; + uint16_t diminished_seventh = root_note -3; switch (id) { case major: //Major chord - dprintf("Root Note:%d - Major Third:%d - Fifth:%d\n", root_note, major_third, fifth); process_midi(root_note, record); process_midi(major_third, record); process_midi(fifth, record); break; case minor: //Minor chord - dprintf("Root Note:%d - Minor Third:%d - Fifth:%d\n", root_note, minor_third, fifth); process_midi(root_note, record); process_midi(minor_third, record); process_midi(fifth, record); break; + case dom_seventh: //Dominant Seventh chord + process_midi(root_note, record); + process_midi(major_third, record); + process_midi(minor_seventh, record); + break; + case dim_seventh: //Diminished Seventh Chord + process_midi(root_note, record); + process_midi(minor_third, record); + process_midi(diminished_seventh, record); + break; } } diff --git a/keyboards/s60_x/keymaps/bluebear/readme.md b/keyboards/s60_x/keymaps/bluebear/readme.md index 579683abcb..9a70cde96a 100644 --- a/keyboards/s60_x/keymaps/bluebear/readme.md +++ b/keyboards/s60_x/keymaps/bluebear/readme.md @@ -1,25 +1,75 @@ -## Bluebear’s custom S60X layout +# Bluebear’s custom S60X layout Custom keyboard layout for my S60X, my first ever custom mechanical keyboard kit. This layout was inspired in part by the HHKB line of keyboards and a quest to find the perfect ergonomic, logical layout for what I do. If you like this layout, please feel free to use it, modify it and share it. -## Base Layer +## BASE Layer +![BASE Layer](S60X-Bluebear-BASE-Layer.png) + +-Dvorak keyboard layout -Hold left control key for LCTL, and tap it for ESC -Hold enter key for RCTL and tap for ENT --Hold the space key to momentarily switch to [ARROW] layer --Left bottom key acts as momentary switch to the [MOUSE] layer +-Hold the space key to momentarily switch to ARROWFN layer +-Left bottom key acts as momentary switch to the MOUSE layer -Hold right alt key for AltGr and tap for APP(which I have mapped to Compose in OS) -Hold left shift key for LSFT and tap for ( (Space Cadet style) -Hold right shift key for RSFT and tap for ) (Space Cadet style) -Tap key on bottom row, second from the right (where APP usually is) to get CTL-Shift (one shot modifier - next key pressed will be modified by ctl-shift) -Tap key on bottom right to get CTL-Alt (one shot modifier - next key pressed will be modified by ctl-alt) -## Mouse Layer +## ARROWFN Layer +![ARROWFN Layer](S60X-Bluebear-ARROWFN-Layer.png) + +-Number row becomes F1 to F12 +-C, T, H, N keys become Up, Down, Left, Right +-Access to various other keys normally found on a full sized keyboard +-Top right button toggles MORSE layer +-Second from right, top row, toggles MIDI_BASE layer + +## MOUSE Layer + +![MOUSE Layer](S60X-Bluebear-MOUSE-Layer.png) + +-Move the mouse with mouse keys -Hitting the escape key in this layer will give RESET, which puts the controller into dfu mode for flashing firmware onto it -Hitting the space key in this layer is like hitting power button on computer +-Hitting the tab button toggles caps lock +-Number row becomes F13 to F24 + +## MIDI_BASE Layer + +![MIDI_BASE Layer](S60X-Bluebear-MIDI_BASE-Layer.png) + +This layer was inspired by the Satan Midi layout (https://github.com/qmk/qmk_firmware/tree/master/keyboards/satan/keymaps/midi) and gives access to basic MIDI notes. What I added were two layers of MIDI chords (major and minor triads) arranged in a circle of fifths pattern. Thanks to @fredizzimo for helping me with the code for these chords. + +-Top right button toggles MORSE_CHORDS layer +-Escape brings you back to the BASE layer + +## MIDI_CHORDS Layer + +![MIDI_CHORDS Layer](S60X-Bluebear-MIDI_CHORDS-Layer.png) + +After figuring out how to code my MIDI chord function, I decided to dedicate a full layer to these chords. This chord layout was inspired by the Stradella Base system (https://en.wikipedia.org/wiki/Stradella_bass_system) found on accordions. This layer is a tool for musical composition and songwriting. + +-Second from right, top row, toggles MIDI_BASE layer +-Escape brings you back to the BASE layer + +## MORSE LAYER + +![MORSE Layer](S60X-Bluebear-MORSE-Layer.png) + +This layer is really just for fun, and because I am a ham radio operator and morse code enthusiast. Hitting the alphanumerical keys in this layer will send a series of dits (.) and dahs (-) representing that character in morse code. + +-Escape brings you back to the BASE layer + +### THIS IS STILL A WORK IN PROGRESS + +This keyboard layout is still a work in progress and there are a couple of kinks left to iron out. But it is still very usable and the midi and morse code layers are lots of fun to use. Please feel free to use, share and improve all, or part of this layout. + +