|
@@ -14,7 +14,7 @@
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
*/
|
|
#include QMK_KEYBOARD_H
|
|
#include QMK_KEYBOARD_H
|
|
-#include "raw_hid.h"
|
|
|
|
|
|
+//#include "raw_hid.h"
|
|
#define RAW_EPSIZE 8
|
|
#define RAW_EPSIZE 8
|
|
#include <stdio.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
@@ -28,15 +28,24 @@ uint16_t wpm_graph_timer = 0;
|
|
#ifdef COMBO_ENABLE
|
|
#ifdef COMBO_ENABLE
|
|
enum combos {
|
|
enum combos {
|
|
ZX_COPY,
|
|
ZX_COPY,
|
|
- CV_PASTE
|
|
|
|
|
|
+ CV_PASTE,
|
|
|
|
+ PB_PARENS,
|
|
|
|
+ FP_CURLY,
|
|
|
|
+ DV_SQUARE
|
|
};
|
|
};
|
|
|
|
|
|
const uint16_t PROGMEM copy_combo[] = { KC_Z, KC_X, COMBO_END };
|
|
const uint16_t PROGMEM copy_combo[] = { KC_Z, KC_X, COMBO_END };
|
|
-const uint16_t PROGMEM paste_combo[] = { KC_C, KC_V, COMBO_END };
|
|
|
|
|
|
+const uint16_t PROGMEM paste_combo[] = { KC_C, KC_D, COMBO_END };
|
|
|
|
+const uint16_t PROGMEM curly_combo[] = { KC_F, KC_P, COMBO_END };
|
|
|
|
+const uint16_t PROGMEM parens_combo[] = { KC_P, KC_B, COMBO_END };
|
|
|
|
+const uint16_t PROGMEM square_combo[] = { KC_D, KC_V, COMBO_END };
|
|
|
|
|
|
combo_t key_combos[COMBO_COUNT] = {
|
|
combo_t key_combos[COMBO_COUNT] = {
|
|
[ZX_COPY] = COMBO(copy_combo, LCTL_T(KC_C)),
|
|
[ZX_COPY] = COMBO(copy_combo, LCTL_T(KC_C)),
|
|
- [CV_PASTE] = COMBO(paste_combo, LCTL_T(KC_V))
|
|
|
|
|
|
+ [CV_PASTE] = COMBO(paste_combo, LCTL_T(KC_V)),
|
|
|
|
+ [PB_PARENS] = COMBO(parens_combo, KC_LPRN),
|
|
|
|
+ [FP_CURLY] = COMBO(curly_combo, KC_LCBR),
|
|
|
|
+ [DV_SQUARE] = COMBO(square_combo, KC_LBRC)
|
|
};
|
|
};
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -64,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
_______QWERTY_L1______, _______QWERTY_R1______,
|
|
_______QWERTY_L1______, _______QWERTY_R1______,
|
|
_______QWERTY_L2______, _______QWERTY_R2______,
|
|
_______QWERTY_L2______, _______QWERTY_R2______,
|
|
_______QWERTY_L3______, _______QWERTY_R3______,
|
|
_______QWERTY_L3______, _______QWERTY_R3______,
|
|
- _______THUMBS_L_______, _______THUMBS_R_______
|
|
|
|
|
|
+ _______NAKED_L___T____, _______THUMBS_R_______
|
|
/* `---------------------' `---------------------' */
|
|
/* `---------------------' `---------------------' */
|
|
),
|
|
),
|
|
[_COLEMAK] = LAYOUT_kyria_wrapper(
|
|
[_COLEMAK] = LAYOUT_kyria_wrapper(
|
|
@@ -78,10 +87,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
// GAME layout -- qwerty without homerow mods
|
|
// GAME layout -- qwerty without homerow mods
|
|
[_GAME] = LAYOUT_kyria_wrapper(
|
|
[_GAME] = LAYOUT_kyria_wrapper(
|
|
/* ,-------------------------------------------. ,-------------------------------------------. */
|
|
/* ,-------------------------------------------. ,-------------------------------------------. */
|
|
- KC_GRV, _______QWERTY_L1______, _______QWERTY_R1______, KC_BSLS,
|
|
|
|
- KC_CTLBS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
|
|
|
- KC_LSFT, _______QWERTY_L3______, KC_LCCL, KC_LALT, KC_ALTCL, KC_LSFT, _______QWERTY_R3______, KC_MINS,
|
|
|
|
- KC_EQL, KC_0, _______NAKED_L___T____, _______THUMBS_R_______, TO(_COLEMAK), KC_F12
|
|
|
|
|
|
+ KC_GRV, _______COLEMAK_L1_____, _______COLEMAK_R1_____, KC_BSLS,
|
|
|
|
+ KC_CTLBS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_SCLN,
|
|
|
|
+ KC_LSFT, _______COLEMAK_L3_____, KC_LCCL, KC_LALT, KC_ALTCL, KC_LSFT, _______COLEMAK_R3_____, KC_MINS,
|
|
|
|
+ KC_EQL, MO(_NUM), _______NAKED_L___T____, _______THUMBS_R_______, TO(_COLEMAK), KC_F12
|
|
/* `----------------------------------' `----------------------------------' */
|
|
/* `----------------------------------' `----------------------------------' */
|
|
),
|
|
),
|
|
[_FN] = LAYOUT_kyria_base_wrapper(
|
|
[_FN] = LAYOUT_kyria_base_wrapper(
|
|
@@ -146,7 +155,7 @@ static void send_layer_via_hid(int layer) {
|
|
|
|
|
|
|
|
|
|
#ifdef RGBLIGHT_LAYERS
|
|
#ifdef RGBLIGHT_LAYERS
|
|
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_AZURE} );
|
|
|
|
|
|
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_RED} );
|
|
const rgblight_segment_t PROGMEM my_colemak_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_BLUE} );
|
|
const rgblight_segment_t PROGMEM my_colemak_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_BLUE} );
|
|
const rgblight_segment_t PROGMEM my_game_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_RED} );
|
|
const rgblight_segment_t PROGMEM my_game_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_RED} );
|
|
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_PINK} );
|
|
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 20, HSV_PINK} );
|
|
@@ -253,10 +262,10 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
|
}
|
|
}
|
|
|
|
|
|
static void render_logo(void) {
|
|
static void render_logo(void) {
|
|
- static const char PROGMEM qmk_logo[] = {
|
|
|
|
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
|
|
|
|
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
|
|
|
|
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
|
|
|
|
|
|
+ /*static const char PROGMEM qmk_logo[] = {*/
|
|
|
|
+ /* 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,*/
|
|
|
|
+ /* 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,*/
|
|
|
|
+ /* 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};*/
|
|
|
|
|
|
static const char PROGMEM logo[] = {
|
|
static const char PROGMEM logo[] = {
|
|
// canvas is 128x64. need 16 padding
|
|
// canvas is 128x64. need 16 padding
|
|
@@ -280,7 +289,7 @@ static void render_logo(void) {
|
|
oled_advance_page(false);
|
|
oled_advance_page(false);
|
|
oled_advance_page(false);
|
|
oled_advance_page(false);
|
|
oled_advance_page(false);
|
|
oled_advance_page(false);
|
|
- oled_write_P(qmk_logo, false);
|
|
|
|
|
|
+// oled_write_P(qmk_logo, false);
|
|
|
|
|
|
#ifdef COMBO_ENABLE
|
|
#ifdef COMBO_ENABLE
|
|
oled_write_P(PSTR("Combos enabled: "), false);
|
|
oled_write_P(PSTR("Combos enabled: "), false);
|
|
@@ -325,7 +334,7 @@ static void render_status(void) {
|
|
// Host Keyboard Layer Status
|
|
// Host Keyboard Layer Status
|
|
switch (get_highest_layer(layer_state)) {
|
|
switch (get_highest_layer(layer_state)) {
|
|
case _QWERTY:
|
|
case _QWERTY:
|
|
- oled_write_P(PSTR("Default\n"), false);
|
|
|
|
|
|
+ oled_write_P(PSTR("Game\n"), false);
|
|
isColemak = false;
|
|
isColemak = false;
|
|
break;
|
|
break;
|
|
case _SYMBOLS:
|
|
case _SYMBOLS:
|
|
@@ -342,10 +351,10 @@ static void render_status(void) {
|
|
break;
|
|
break;
|
|
case _GAME:
|
|
case _GAME:
|
|
oled_write_P(PSTR("Game\n"), false);
|
|
oled_write_P(PSTR("Game\n"), false);
|
|
- isColemak = false;
|
|
|
|
|
|
+ isColemak = true;
|
|
break;
|
|
break;
|
|
case _COLEMAK:
|
|
case _COLEMAK:
|
|
- oled_write_P(PSTR("Colemak-DHm\n"), false);
|
|
|
|
|
|
+ oled_write_P(PSTR("Default\n"), false);
|
|
isColemak = true;
|
|
isColemak = true;
|
|
break;
|
|
break;
|
|
case _MEDIA:
|
|
case _MEDIA:
|