diff options
Diffstat (limited to 'keyboards/ergodox/keymaps')
-rw-r--r-- | keyboards/ergodox/keymaps/common-nighthawk/Makefile | 6 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/common-nighthawk/keymap.c | 216 | ||||
-rwxr-xr-x | keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png | bin | 0 -> 84725 bytes | |||
-rwxr-xr-x | keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png | bin | 0 -> 82660 bytes | |||
-rwxr-xr-x | keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png | bin | 0 -> 72923 bytes | |||
-rw-r--r-- | keyboards/ergodox/keymaps/ishigoya-jp/keymap.c | 962 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/ishigoya-jp/readme.md | 54 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/replicaJunction/config.h | 63 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/replicaJunction/keymap.c | 336 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/replicaJunction/readme.md | 5 |
10 files changed, 1642 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/common-nighthawk/Makefile b/keyboards/ergodox/keymaps/common-nighthawk/Makefile new file mode 100644 index 0000000000..fafa40c43d --- /dev/null +++ b/keyboards/ergodox/keymaps/common-nighthawk/Makefile @@ -0,0 +1,6 @@ +SUBPROJECT_DEFAULT = ez +TAP_DANCE_ENABLE = yes + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/ergodox/keymaps/common-nighthawk/keymap.c b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c new file mode 100644 index 0000000000..debf384f3d --- /dev/null +++ b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c @@ -0,0 +1,216 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "version.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +//Tap Dance Declarations +enum { + TD_U_LBRC = 0, + TD_I_RBRC, +}; + +//Tap Dance Definitions +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_U_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_U, KC_LBRC), + [TD_I_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_I, KC_RBRC) +}; + +//Macro Declarations +static uint16_t sunds_timer; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | _ | x | x | _ | Esc | Hypr | Home | | End | Hypr | [ | ] | `~ | `~ | Bks | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * |Ctrl/Tab| Q | W | E | R | T | Up | | PgUp | Y | U | I | O | P | Ctrl | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Cmd/"' | A | S | D | F | G |------| |------| H | J | K | L | ;: |Cmd/Entr| + * |--------+------+------+------+------+------| Down | | PgDn |------+------+------+------+------+--------| + * | Shft | Z | X | C | V | B | | | | N | M | ,< | .> | /? | Shft | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Alt | x | x | x | Left | |Right | Bks | x | x | Alt | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |Teensy| VolUp| | Play | Del | + * ,------|------|------| |------+--------+------. + * | | | VolDn| | Next | | | + * |Sp/~L1| L2 |------| |------| L2 |'"/~L1| + * | | | Mute | | Prev | | | + * `--------------------' `----------------------' + */ +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_UNDS, KC_1, KC_1, KC_UNDS, KC_ESC, ALL_T(KC_NO), KC_HOME, + CTL_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP, + M(1), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, + KC_LALT, KC_1, KC_1, KC_1, KC_LEFT, + RESET, KC_VOLU, + KC_VOLD, + LT(SYMB, KC_SPC), TG(MDIA), KC_MUTE, + // right hand + KC_END, ALL_T(KC_NO), KC_LBRC, KC_RBRC, KC_GRV, KC_GRV, KC_BSPC, + KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCTRL, + KC_H, KC_J, KC_K, KC_L, KC_SCOLON, GUI_T(KC_ENT), + KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_RGHT, KC_BSPC, KC_1, KC_1, KC_RALT, + KC_MPLY, KC_DEL, + KC_MNXT, + KC_MPRV, TG(MDIA), LT(SYMB, KC_QUOT) + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | ^ | [ | ( | { | | | | = | 7 | 8 | 9 | 0 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | & | $ | ] | ) | } |------| |------| + | 4 | 5 | 6 | * | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | \ | @ | # | % | | | | | | - | 1 | 2 | 3 | / | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | 0 | 0 | . | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, KC_EXLM, KC_CIRC, KC_LBRC, KC_LPRN, KC_LCBR, KC_TRNS, + KC_TRNS, KC_AMPR, KC_DLR, KC_RBRC, KC_RPRN, KC_RCBR, + KC_TRNS, KC_BSLS, KC_AT, KC_HASH, KC_PERC, KC_PIPE, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, + KC_TRNS, KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR, KC_TRNS, + KC_TRNS, KC_MINS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, + KC_0, KC_0, KC_DOT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * |Version | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | WhDn | WhUp | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | R-Ck | L-Ck | |------| |------| MsLt | MsDn | MsUp | MsRt | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + M(0), 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_BTN2, KC_BTN1, 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, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, 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_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + break; + + case 1: + if (record->event.pressed) { + sunds_timer = timer_read(); + register_code (KC_LGUI); + } else { + if (timer_elapsed (sunds_timer) < TAPPING_TERM) { + unregister_code (KC_LGUI); + register_code (KC_LSFT); + register_code (KC_QUOT); + unregister_code (KC_QUOT); + unregister_code (KC_LSFT); + register_code (KC_LGUI); + } + unregister_code (KC_LGUI); + } + break; + + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_3_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { + ergodox_right_led_1_on (); + } +}; diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png Binary files differnew file mode 100755 index 0000000000..e6aec35bff --- /dev/null +++ b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png Binary files differnew file mode 100755 index 0000000000..69a1f69482 --- /dev/null +++ b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png Binary files differnew file mode 100755 index 0000000000..8b2cce5e6d --- /dev/null +++ b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c b/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c new file mode 100644 index 0000000000..c219ce8840 --- /dev/null +++ b/keyboards/ergodox/keymaps/ishigoya-jp/keymap.c @@ -0,0 +1,962 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_jp.h" + +static uint16_t start; + +#define BASE 0 // EN layer +#define JP 1 // Japanese +#define JPXON 2 // JP + Fn +#define JPKAZARI 3 // JP + KAZARI +#define JPTOPROW 4 // JP + TOPROW +#define JPTRKZ 5 // JP + TOPROW + KAZARI +#define NUM 6 // Numbers + +#define CTLSHFT 1 +#define CUTCOPY 2 + +//kana macro definitions start here + +#define JPVU 4 +#define JPNU 6 +#define JPKO 7 +#define JPSA 8 +#define JPKE 9 +#define JPHE 10 +#define JPSHI 11 +#define JPKA 12 +#define JPKI 13 +#define JPSU 14 +#define JPSO 15 +#define JPHI 16 +#define JPCHI 17 +#define JPFU 18 +#define JPSE 19 +#define JPTSU 20 +#define JPKU 21 +#define JPTE 22 +#define JPTA 23 +#define JPTO 24 +#define JPHA 25 +#define JPHO 26 +#define JPXKE 27 +#define JPXU 28 +#define JPXKA 29 +#define JPXA 30 +#define JPXO 31 +#define JPGO 32 +#define JPZA 33 +#define JPGE 34 +#define JPBE 35 +#define JPYU 36 +#define JPJI 37 +#define JPGA 38 +#define JPGI 39 +#define JPZU 40 +#define JPZO 41 +#define JPBI 42 +#define JPDI 43 +#define JPZE 44 +#define JPDU 45 +#define JPGU 46 +#define JPYA 47 +#define JPYO 48 +#define JPDE 49 +#define JPDA 50 +#define JPDO 51 +#define JPBA 52 +#define JPBO 53 +#define JPRI 54 +#define JPRE 55 +#define JPRA 56 +#define JPNA 57 +#define JPNO 58 +#define JPMI 59 +#define JPMU 60 +#define JPME 61 +#define JPNE 62 +#define JPMA 63 +#define JPXTU 64 +#define JPWA 65 +#define JPRU 66 +#define JPWO 67 +#define JPNI 68 +#define JPNN 69 +#define JPMO 70 +#define JPRO 71 +#define JPXE 72 +#define JPXI 73 +#define JPXYU 74 +#define JPXYA 75 +#define JPXYO 76 +#define JPPE 77 +#define JPPU 78 +#define JPPI 79 +#define JPPA 80 +#define JPPO 81 +#define JPBU 82 + +// kana macro definitions end here + +#define SHIFT 86 +#define KAZARI 87 +#define JPFN 88 //shifts to JPXON layer +#define TOJPLOUT 89 +#define TOENL 90 +#define TOJPL 91 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * + * ,----------------------------------------------------. ,--------------------------------------------------. + * | En / 和 | | ^ | % | | |Selall| | Undo | | $ | @ | LT | UP | RT | + * |----------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | D | R | W | B | Cut | | PgUP | J | F | U | P | DN | \ | + * |----------+------+------+------+------+------| Copy | | |------+------+------+------+------+--------| + * | / | A | S | H | T | G |------| |------| Y | N | E | O | I | , | + * |----------+------+------+------+------+------|Paste | | PgDN |------+------+------+------+------+--------| + * | Ctl+Shft | Z | X | M | C | V | | | | . | L | K | ' | ? | tmux | + * `----------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LCtrl | LGui | Alt| _ | Esc | |MouseL|MouseR| - | ~ | Ctrl | + * `------------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |MidMs | Del | | VolUp| Mute | + * ,------|------|------| |------+--------+------. + * | | | | | VolDn| | | + * | Space| Shift|------| |------| Backsp |Enter | + * | | | Num | | Esc | | | + * `--------------------' `----------------------' + * + * + * tmux prefix set to C-b + * + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + M(TOJPLOUT), KC_NO, KC_EQL, LSFT(KC_5), KC_NO, KC_NO, LCTL(KC_A), + KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, M(CUTCOPY), + KC_SLSH, KC_A, KC_S, KC_H, KC_T, KC_G, + M(CTLSHFT), KC_Z, KC_X, KC_M, KC_C, KC_V, LCTL(KC_V), + KC_RCTL, KC_LGUI, KC_LALT,JP_UNDS,KC_LCTL, + KC_BTN3, KC_DEL, + KC_NO, + KC_SPC,KC_LSFT,F(1), + // right hand + LCTL(KC_Z), KC_NO, LSFT(KC_4), JP_AT, KC_LEFT, KC_UP, KC_RIGHT, + KC_PGUP, KC_J, KC_F, KC_U, KC_P, KC_DOWN, LSFT(KC_3), + KC_Y, KC_N, KC_E, KC_O, KC_I, KC_COMMA, + KC_PGDN, KC_DOT, KC_L, KC_K, LSFT(KC_7), KC_QUES, LCTL(KC_B), + KC_BTN1, KC_BTN2,KC_MINS,JP_TILD, KC_RCTL, + KC_VOLU, KC_MUTE, + KC_VOLD, + KC_SPC,KC_BSLS, KC_ENT + ), +/* Keymap 1: Japanese + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | En / 和| | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | nu | ko | sa | he | ke | | | | fu | se | tsu | ku | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | to | shi | ka | ki | su |------| |------| a | ha | te | ta | u | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | mu | so | hi | chi | me | | | | | ma | ho | i | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | shift| fn |------| |------| |kazari| + * | | | Num | | | | | + * `--------------------' `--------------------' + * + * + * + */ +[JP] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(JPNU), M(JPKO), M(JPSA), M(JPHE), M(JPKE), KC_TRNS, + KC_TRNS, M(JPTO), M(JPSHI), M(JPKA), M(JPKI), M(JPSU), + KC_TRNS, M(JPMU), M(JPSO), M(JPHI), M(JPCHI), M(JPME), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_NO, + M(SHIFT), M(JPFN), F(1), + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(JPFU), M(JPSE), M(JPTSU), M(JPKU), KC_TRNS, KC_TRNS, + KC_A, M(JPHA), M(JPTE), M(JPTA), KC_U, KC_TRNS, + KC_TRNS, KC_TRNS, M(JPMA), M(JPHO), KC_I, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,M(KAZARI) +), +/* Keymap 2: Japanese with Fn + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | xe | | | xke | | | | xya | | xtsu | xo | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | xka | | |------| |------| xa | xyo | | | xu | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | xi | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + * + * + * + */ +[JPXON] = KEYMAP( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, M(JPXE), KC_NO, M(JPXKE), KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, M(JPXKA), 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_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_TRNS, KC_TRNS, + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, M(JPXYA), KC_NO, M(JPXTU), M(JPXO), KC_NO, KC_NO, + M(JPXA), M(JPXYO), M(JPXYU), KC_NO, M(JPXU), KC_NO, + KC_NO, KC_NO,KC_NO, KC_NO, M(JPXI), 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 +), +/* Keymap 3: Japanese with kazari + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | go | za | be | ge | | | | bu | ze | du | gu | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | do | ji | ga | gi | zu |------| |------| | ba | de | da | vu | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | zo | bi | di | | | | | | | bo | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + * + * + * + */ +[JPKAZARI] = KEYMAP( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, M(JPGO), M(JPZA), M(JPBE), M(JPGE), KC_NO, + KC_NO, M(JPDO), M(JPJI), M(JPGA), M(JPGI), M(JPZU), + KC_NO, KC_NO, M(JPZO), M(JPBI), M(JPDI), KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + M(SHIFT), KC_NO, KC_TRNS, + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, M(JPBU), M(JPZE), M(JPDU), M(JPGU), KC_NO, KC_NO, + KC_NO, M(JPBA), M(JPDE), M(JPDA), M(JPVU), KC_NO, + KC_NO, KC_NO, KC_NO, M(JPBO), 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 +), +/* Keymap 4: Japanese with Toprow + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | e | - | re | | | | | ya | ne | ru | o | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | ra | ri | na | no | mi |------| |------| wa | yo | yu | ni | nn | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | mo | ro | wo | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + * + * + * + */ +[JPTOPROW] = KEYMAP( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_E, KC_MINS, M(JPRE), KC_NO, KC_NO, + KC_NO, M(JPRA), M(JPRI), M(JPNA), M(JPNO), M(JPMI), + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_TRNS, KC_NO, KC_NO, + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, M(JPYA), M(JPNE), M(JPRU), KC_O, KC_NO, KC_NO, + M(JPWA), M(JPYO), M(JPYU), M(JPNI), M(JPNN), KC_NO, + KC_NO, KC_NO, M(JPMO), M(JPRO), M(JPWO), KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_NO, M(KAZARI) +), + +/* Keymap 5: Japanese with Toprow and Kazari + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | pe | | | | | pu | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| | pa | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | pi | | | | | | | | po | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + * + * + * + */ +[JPTRKZ] = KEYMAP( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, M(JPPE),KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, M(JPPI), KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_TRNS, KC_NO, KC_NO, + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, M(JPPU), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, M(JPPA), KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, M(JPPO), 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 +), +/* Keymap 6: Number Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | " | [ | ] | | | | | % | 7 | 8 | 9 | | F12 | + * |--------+------+------+------+------+------| ; | | |------+------+------+------+------+--------| + * | | | / | + | { | } |------| |------| ! | 4 | 5 | 6 | 0 | , | + * |--------+------+------+------+------+------| : | | & |------+------+------+------+------+--------| + * | | | * | - | ( | ) | | | | . | 1 | 2 | 3 | ? | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | # | | < | = | > | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| Back | Ent | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Numbers +[NUM] = KEYMAP( + // left hand + KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, + KC_NO, KC_NO, KC_NO, JP_DQT, KC_RBRACKET, KC_BSPC, KC_SCLN, + KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR, + KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH, + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_NO, KC_TRNS, + // right hand + KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + LSFT(KC_JYEN), KC_PERC, KC_7, KC_8, KC_9, KC_NO, KC_F12, + KC_EXLM, KC_4, KC_5, KC_6, KC_0, KC_COMM, + LSFT(KC_6), KC_DOT, KC_1, KC_2, KC_3, KC_QUES, KC_NO, + KC_LT,JP_EQL, KC_GT, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_SPC, KC_BSLS, KC_DOT +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_MOMENTARY(NUM) // FN1 - Momentary Layer 6 (Numbers) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + + // MACRO only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + case CTLSHFT: + if (record->event.pressed) { + return MACRO( D(LSFT), D(LCTL), END); + } else { + return MACRO( U(LSFT), U(LCTL), END); + } + break; + case CUTCOPY: + if (record->event.pressed) { + start = timer_read(); + } else { + if (timer_elapsed(start) > 150) { + return MACRO( D(LCTL), T(X), U(LCTL), END); + } else { + return MACRO( D(LCTL), T(C), U(LCTL), END); + } + } + break; + + // kana macros start here + + case JPVU: + if (record->event.pressed) { + return MACRO( I(1), T(V), T(U), END); + } + break; + case JPNU: + if (record->event.pressed) { + return MACRO( I(1), T(N), T(U), END); + } + break; + case JPKO: + if (record->event.pressed) { + return MACRO( I(1), T(K), T(O), END); + } + break; + case JPSA: + if (record->event.pressed) { + return MACRO( I(1), T(S), T(A), END); + } + break; + case JPKE: + if (record->event.pressed) { + return MACRO( I(1), T(K), T(E), END); + } + break; + case JPHE: + if (record->event.pressed) { + return MACRO( I(1), T(H), T(E), END); + } + break; + case JPSHI: + if (record->event.pressed) { + return MACRO( I(1), T(S), T(I), END); + } + break; + case JPKA: + if (record->event.pressed) { + return MACRO( I(1), T(K), T(A), END); + } + break; + case JPKI: + if (record->event.pressed) { + return MACRO( I(1), T(K), T(I), END); + } + break; + case JPSU: + if (record->event.pressed) { + return MACRO( I(1), T(S), T(U), END); + } + break; + case JPSO: + if (record->event.pressed) { + return MACRO( I(1), T(S), T(O), END); + } + break; + case JPHI: + if (record->event.pressed) { + return MACRO( I(1), T(H), T(I), END); + } + break; + |