From 504ce1b4bc2a7ed785ba85bb8f6b80987c7b2412 Mon Sep 17 00:00:00 2001 From: mtdjr Date: Sat, 26 May 2018 14:06:08 -0400 Subject: [PATCH] Add mtdjr keymaps for Iris, Let's Split, TADA68, XD75, and handwired dox (#3058) * Add keymaps for Iris, Let's Split, TADA68, XD75, and handwired not_so_minidox * remove handwired not_so_minidox --- keyboards/iris/keymaps/mtdjr/config.h | 42 +++ keyboards/iris/keymaps/mtdjr/keymap.c | 307 ++++++++++++++++++++ keyboards/iris/keymaps/mtdjr/rules.mk | 7 + keyboards/lets_split/keymaps/mtdjr/config.h | 37 +++ keyboards/lets_split/keymaps/mtdjr/keymap.c | 194 +++++++++++++ keyboards/lets_split/keymaps/mtdjr/rules.mk | 4 + keyboards/tada68/keymaps/mtdjr/keymap.c | 87 ++++++ keyboards/tada68/keymaps/mtdjr/readme.md | 3 + keyboards/tada68/keymaps/mtdjr/rules.mk | 21 ++ keyboards/xd75/keymaps/mtdjr/config.h | 28 ++ keyboards/xd75/keymaps/mtdjr/keymap.c | 135 +++++++++ keyboards/xd75/keymaps/mtdjr/readme.md | 1 + keyboards/xd75/keymaps/mtdjr/rules.mk | 22 ++ 13 files changed, 888 insertions(+) create mode 100644 keyboards/iris/keymaps/mtdjr/config.h create mode 100644 keyboards/iris/keymaps/mtdjr/keymap.c create mode 100644 keyboards/iris/keymaps/mtdjr/rules.mk create mode 100644 keyboards/lets_split/keymaps/mtdjr/config.h create mode 100644 keyboards/lets_split/keymaps/mtdjr/keymap.c create mode 100644 keyboards/lets_split/keymaps/mtdjr/rules.mk create mode 100644 keyboards/tada68/keymaps/mtdjr/keymap.c create mode 100644 keyboards/tada68/keymaps/mtdjr/readme.md create mode 100644 keyboards/tada68/keymaps/mtdjr/rules.mk create mode 100644 keyboards/xd75/keymaps/mtdjr/config.h create mode 100644 keyboards/xd75/keymaps/mtdjr/keymap.c create mode 100644 keyboards/xd75/keymaps/mtdjr/readme.md create mode 100644 keyboards/xd75/keymaps/mtdjr/rules.mk diff --git a/keyboards/iris/keymaps/mtdjr/config.h b/keyboards/iris/keymaps/mtdjr/config.h new file mode 100644 index 000000000..0e8938775 --- /dev/null +++ b/keyboards/iris/keymaps/mtdjr/config.h @@ -0,0 +1,42 @@ +/* +Copyright 2017 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "config_common.h" + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +//#define USE_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +#define TAPPING_TERM 250 +// #define MASTER_RIGHT +// #define EE_HANDS + +// #undef RGBLED_NUM +// #define RGBLIGHT_ANIMATIONS +// #define RGBLED_NUM 12 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 + +#endif diff --git a/keyboards/iris/keymaps/mtdjr/keymap.c b/keyboards/iris/keymaps/mtdjr/keymap.c new file mode 100644 index 000000000..ba95d16b2 --- /dev/null +++ b/keyboards/iris/keymaps/mtdjr/keymap.c @@ -0,0 +1,307 @@ +#include "iris.h" +#include "action_layer.h" +#include "eeconfig.h" +#include "action_macro.h" +#include +#include "pincontrol.h" + +extern keymap_config_t keymap_config; + +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _SUPER 3 +#define _ADJUST 16 +#define SOLENOID_DEFAULT_DWELL 12 +#define SOLENOID_MAX_DWELL 100 +#define SOLENOID_MIN_DWELL 4 +#define SOLENOID_PIN C6 + + +bool solenoid_enabled = false; +bool solenoid_on = false; +bool solenoid_buzz = false; +bool solenoid_buzzing = false; +uint16_t solenoid_start = 0; +uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; + + +void solenoid_buzz_on(void) { + solenoid_buzz = true; +} + +void solenoid_buzz_off(void) { + solenoid_buzz = false; +} + +void solenoid_dwell_minus(void) { + if (solenoid_dwell > 0) solenoid_dwell--; +} + +void solenoid_dwell_plus(void) { + if (solenoid_dwell < SOLENOID_MAX_DWELL) solenoid_dwell++; +} + +void solenoid_toggle(void) { + solenoid_enabled = !solenoid_enabled; +} + +void solenoid_stop(void) { + digitalWrite(SOLENOID_PIN, PinLevelLow); + solenoid_on = false; + solenoid_buzzing = false; +} + +void solenoid_fire(void) { + if (!solenoid_enabled) return; + + if (!solenoid_buzz && solenoid_on) return; + if (solenoid_buzz && solenoid_buzzing) return; + + solenoid_on = true; + solenoid_buzzing = true; + solenoid_start = timer_read(); + digitalWrite(SOLENOID_PIN, PinLevelHigh); +} + +void solenoid_check(void) { + uint16_t elapsed = 0; + + if (!solenoid_on) return; + + elapsed = timer_elapsed(solenoid_start); + + //Check if it's time to finish this solenoid click cycle + if (elapsed > solenoid_dwell) { + solenoid_stop(); + return; + } + + //Check whether to buzz the solenoid on and off + if (solenoid_buzz) { + if (elapsed / SOLENOID_MIN_DWELL % 2 == 0){ + if (!solenoid_buzzing) { + solenoid_buzzing = true; + digitalWrite(SOLENOID_PIN, PinLevelHigh); + } + } + else { + if (solenoid_buzzing) { + solenoid_buzzing = false; + digitalWrite(SOLENOID_PIN, PinLevelLow); + } + } + } +} + +void solenoid_setup(void) { + pinMode(SOLENOID_PIN, PinDirectionOutput); +} + +void matrix_init_user(void) { + solenoid_setup(); +} + +void matrix_scan_user(void) { + solenoid_check(); +} + + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + SUPER, + ADJUST, + SOL_TOG, + SOLENOID_DWELL_MINUS, + SOLENOID_DWELL_PLUS, + SOLENOID_BUZZ_ON, + SOLENOID_BUZZ_OFF, + TD_ESC = 0, +}; + +#define KC_ KC_TRNS +#define _______ KC_TRNS + +#define KC_LOWR LOWER +#define KC_RASE RAISE +#define KC_SUPR SUPER +#define KC_RST RESET +#define KC_BL_S BL_STEP +#define KC_EXC TD(TD_ESC) +#define SOLTOG SOLENOID_TOG + +// Macro Declarations +#define UM_ROOT M(0) +#define UM_PPLY M(1) +#define UM_PSEF M(2) +#define KC_XCPY M(3) +#define KC_XINS M(4) +#define UM_CAD M(5) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + EXC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + TAB , Q , W , E , R , T , Y , U , I , O , P ,QUOT, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + LSFT, A , S , D , F , G , H , J , K , L ,SCLN,ENT , + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + EQL, Z , X , C , V , B ,LGUI, LALT, N , M ,COMM,DOT ,SLSH,MINS, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + LCTL,RASE,SPC , SPC ,LOWR,SUPR + // `----+----+----' `----+----+----' + ), + + [_LOWER] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + , , , , , , , , ,LCBR,RCBR,DEL , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , , , , , , , , UP , , ,PIPE, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , , , , , , ,LEFT,DOWN,RGHT, , , + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + , , , , , , , , ,HOME, ,END , ,EQL , + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + , , , , , + // `----+----+----' `----+----+----' + ), + + [_RAISE] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + , F1 , F2 , F3 , F4 , , , , ,LBRC,RBRC,DEL , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , F5 , F6 , F7 , F8 , , , , , , ,BSLS, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , F9 ,F10 ,F11 ,F12 , , , , , , , , + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + , , ,XCPY,XINS, , , , , , , , ,PLUS, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + , , , , , + // `----+----+----' `----+----+----' + ), + + [_SUPER] = LAYOUT( + //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. + SOL_TOG, UM_ROOT, UM_PPLY, UM_PSEF, _______, _______, _______, _______, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, KC_LBRC, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UM_CAD , + //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, + //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' + _______, _______, _______, _______, _______, _______ + // `--------+--------+--------' `--------+--------+--------' +) + +}; + +void persistent_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for grave accent, twice for ESC + [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + solenoid_fire(); + } + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case SUPER: + if (record->event.pressed) { + layer_on(_SUPER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_SUPER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case SOLTOG: + if (record->event.pressed) { + solenoid_toggle(); + } + break; + case SOLENOID_DWELL_MINUS: + if (record->event.pressed) { + solenoid_dwell_minus(); + } + break; + case SOLENOID_DWELL_PLUS: + if (record->event.pressed) { + solenoid_dwell_plus(); + } + break; + case SOLENOID_BUZZ_ON: + if (record->event.pressed) { + solenoid_buzz_on(); + } + break; + case SOLENOID_BUZZ_OFF: + if (record->event.pressed) { + solenoid_buzz_off(); + } + break; + } + return true; +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (record->event.pressed) { + switch(id) { + case 0: + SEND_STRING("sudo su -\n"); + return false; break; + case 1: + SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); + return false; break; + case 2: + SEND_STRING("ps -ef | grep "); + return false; break; + case 3: + return MACRO(D(LCTL), T(INS), U(LCTL), END); + break; + case 4: + return MACRO(D(LSFT), T(INS), U(LSFT), END); + break; + case 5: + return MACRO(D(LCTL), D(RALT), T(DEL), END); + break; + } + } + return MACRO_NONE; +}; diff --git a/keyboards/iris/keymaps/mtdjr/rules.mk b/keyboards/iris/keymaps/mtdjr/rules.mk new file mode 100644 index 000000000..7c19013e5 --- /dev/null +++ b/keyboards/iris/keymaps/mtdjr/rules.mk @@ -0,0 +1,7 @@ +RGBLIGHT_ENABLE = no +BACKLIGHT_ENABLE = no +TAP_DANCE_ENABLE = no + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/lets_split/keymaps/mtdjr/config.h b/keyboards/lets_split/keymaps/mtdjr/config.h new file mode 100644 index 000000000..761e9e175 --- /dev/null +++ b/keyboards/lets_split/keymaps/mtdjr/config.h @@ -0,0 +1,37 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/* Use I2C or Serial, not both */ + +// #define USE_SERIAL + #define USE_I2C + #define TAPPING_TERM 250 +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define _MASTER_RIGHT +#define EE_HANDS + +#endif diff --git a/keyboards/lets_split/keymaps/mtdjr/keymap.c b/keyboards/lets_split/keymaps/mtdjr/keymap.c new file mode 100644 index 000000000..36aa51722 --- /dev/null +++ b/keyboards/lets_split/keymaps/mtdjr/keymap.c @@ -0,0 +1,194 @@ +#include "lets_split.h" +#include "action_layer.h" +#include "eeconfig.h" +#include "action_macro.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _ADJUST 16 + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, + TD_ESC = 0 +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +// Macro Declarations +#define UM_ROOT M(0) +#define UM_PPLY M(1) +#define UM_COPY M(2) +#define UM_INSR M(3) +#define UM_PSEF M(4) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------. ,-----------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Esc/~ | A | S | D | F | G | | H | J | K | L | ; | '/" | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | Left | Up | Down |Right | + * `-----------------------------------------' '-----------------------------------------' + */ +[_QWERTY] = KEYMAP( \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ + TD(TD_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \ + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \ +), + + /* Lower + * ,-----------------------------------------. ,-----------------------------------------. + * | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | [ | ] | { | } | | | 4 | 5 | 6 | * | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Shift | | | copy |insert| | | | 1 | 2 | 3 | + | - | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | 0 | . | = | _ | + * `-----------------------------------------' '-----------------------------------------' + */ +[_LOWER] = KEYMAP( \ + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ + XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, XXXXXXX, KC_4, KC_5, KC_6, KC_ASTR, KC_BSLS, \ + _______, XXXXXXX, XXXXXXX, UM_COPY, UM_INSR, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_PLUS, KC_MINS, \ + _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_EQL, KC_UNDS \ +), + + +/* Raise + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | \ | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Shift | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | Next | Vol- | Vol+ | Play | + * `-----------------------------------------' '-----------------------------------------' + */ +[_RAISE] = KEYMAP( \ + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PIPE,\ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------. ,-----------------------------------------. + * | | Reset| | | | | | ROOT | PPLY | PSEF | | | Del | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | |Aud on|Audoff| | | F1 | F2 | F3 | F4 | F5 | F6 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | UNDO | CUT | COPY |PASTE | | | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | Home | | | End | + * `-----------------------------------------' '-----------------------------------------' + */ +[_ADJUST] = KEYMAP( \ + _______, UM_ROOT, UM_PPLY, UM_PSEF, _______, _______, RESET, _______, _______, _______, _______, KC_DEL, \ + _______, _______, _______, AU_ON, AU_OFF, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \ + _______, KC_UNDO, KC_CUT, UM_COPY, UM_INSR, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, KC_END \ +) + + +}; + +#ifdef AUDIO_ENABLE +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +#endif + +void persistent_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for nothing, twice for ESC + [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_NO, KC_ESC) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_SONG(tone_qwerty); + #endif + persistent_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + break; + } + return true; +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (record->event.pressed) { + switch(id) { + case 0: + SEND_STRING("sudo su -\n"); + return false; break; + case 1: + SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); + return false; break; + case 2: + return MACRO(D(LCTL), T(INS), U(LCTL), END); + break; + case 3: + return MACRO(D(LSFT), T(INS), U(LSFT), END); + break; + case 4: + SEND_STRING("ps -ef | grep "); + return false; break; + } + } + return MACRO_NONE; +}; diff --git a/keyboards/lets_split/keymaps/mtdjr/rules.mk b/keyboards/lets_split/keymaps/mtdjr/rules.mk new file mode 100644 index 000000000..f0ed9e8dc --- /dev/null +++ b/keyboards/lets_split/keymaps/mtdjr/rules.mk @@ -0,0 +1,4 @@ +TAP_DANCE_ENABLE = yes +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/tada68/keymaps/mtdjr/keymap.c b/keyboards/tada68/keymaps/mtdjr/keymap.c new file mode 100644 index 000000000..1b1f6ad4f --- /dev/null +++ b/keyboards/tada68/keymaps/mtdjr/keymap.c @@ -0,0 +1,87 @@ +#include "tada68.h" +#include "action_macro.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 + +// Macro Declarations +#define UM_ROOT M(0) +#define UM_PPLY M(1) +#define UM_PSEF M(2) +#define UM_XCPY M(3) +#define UM_XINS M(4) +#define UM_CAD M(5) + +#define _______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,----------------------------------------------------------------. + * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins | + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |Del | + * |----------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn| + * |----------------------------------------------------------------| + * |Ctrl|Alt |Gui | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ +[_BL] = KEYMAP_ANSI( + KC_ESC, 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_BSPC, KC_INS, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, KC_DEL, \ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,KC_UP, KC_PGDN, \ + KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RALT,MO(_FL), KC_RCTRL, KC_LEFT,KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + * ,----------------------------------------------------------------. + * | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Grv | + * |----------------------------------------------------------------| + * | | RT | PPLY| PS | | | | | | | | | | |Hme | + * |----------------------------------------------------------------| + * | | BL- |BL | BL+|BLG| | | | | | | | |End | + * |----------------------------------------------------------------| + * | | | |CP|PST | | PLY| NXT|MUT|VD |VU | McL|MsU|McR | + * |----------------------------------------------------------------| + * | | | | | | | |MsL|MsD|MsR | + * `----------------------------------------------------------------' + */ +[_FL] = KEYMAP_ANSI( + _______, 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_DEL, KC_GRV, \ + _______,UM_ROOT,UM_PPLY,UM_PSEF,_______,_______,_______,_______,_______,_______,KC_PSCR,_______,_______,_______, KC_HOME, \ + _______,BL_DEC ,BL_TOGG,BL_INC,BL_BRTG,_______,_______,_______,_______,_______,_______,_______, _______, KC_END, \ + _______,_______ ,_______,UM_XCPY,UM_XINS,_______,KC_MPLY,KC_MNXT,KC_MUTE,KC_VOLD,KC_VOLU,KC_BTN1,KC_MS_U,KC_BTN2, \ + _______,_______,_______, _______, _______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_R), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (record->event.pressed) { + switch(id) { + case 0: + SEND_STRING("sudo su -\n"); + return false; break; + case 1: + SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); + return false; break; + case 2: + SEND_STRING("ps -ef | grep "); + return false; break; + case 3: + return MACRO(D(LCTL), T(INS), U(LCTL), END); + break; + case 4: + return MACRO(D(LSFT), T(INS), U(LSFT), END); + break; + case 5: + return MACRO(D(LCTL), D(RALT), T(DEL), END); + break; + } + } + return MACRO_NONE; +}; diff --git a/keyboards/tada68/keymaps/mtdjr/readme.md b/keyboards/tada68/keymaps/mtdjr/readme.md new file mode 100644 index 000000000..53412d7c2 --- /dev/null +++ b/keyboards/tada68/keymaps/mtdjr/readme.md @@ -0,0 +1,3 @@ +# default TADA68 layout + +This layout replicates the default factory layout of the TADA68. diff --git a/keyboards/tada68/keymaps/mtdjr/rules.mk b/keyboards/tada68/keymaps/mtdjr/rules.mk new file mode 100644 index 000000000..2a7ff2779 --- /dev/null +++ b/keyboards/tada68/keymaps/mtdjr/rules.mk @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile 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. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/xd75/keymaps/mtdjr/config.h b/keyboards/xd75/keymaps/mtdjr/config.h new file mode 100644 index 000000000..aadcaa387 --- /dev/null +++ b/keyboards/xd75/keymaps/mtdjr/config.h @@ -0,0 +1,28 @@ +/* Copyright 2017 Benjamin Kesselring + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here +#define RGBLIGHT_SLEEP +#define MANUFACTURER mtdjr +#define PRODUCT XD75 +#define DESCRIPTION XD75Re + +#endif diff --git a/keyboards/xd75/keymaps/mtdjr/keymap.c b/keyboards/xd75/keymaps/mtdjr/keymap.c new file mode 100644 index 000000000..696c82ae4 --- /dev/null +++ b/keyboards/xd75/keymaps/mtdjr/keymap.c @@ -0,0 +1,135 @@ +/* Copyright 2017 Wunder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "xd75.h" +#include "action_layer.h" + + +enum custom_keycodes { + // TD_ESC = 0, + TD_LOCK = 0, +}; + +// Layers +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 + + + +// Shortcuts +#define KC_____ KC_NO +#define KC_ KC_TRNS +#define KC_RST RESET +#define KC_RASE MO(_RAISE) +#define KC_LOWR MO(_LOWER) + +// RGB and Backlighting +#define KC_RGB RGB_TOG +#define KC_RHUI RGB_HUI +#define KC_RHUD RGB_HUD +#define KC_RSAI RGB_SAI +#define KC_RSAD RGB_SAD +#define KC_RVAI RGB_VAI +#define KC_RVAD RGB_VAD +#define KC_BLT BL_TOGG +#define KC_BLS BL_STEP +#define KC_BLI BL_INC +#define KC_BLD BL_DEC + +// Tapdance +//#define KC_EXC TD(TD_ESC) +#define KC_LOCK TD(TD_LOCK) + +// Macros +#define KC_ROOT M(0) +#define KC_PPLY M(1) +#define KC_PSEF M(2) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = KC_KEYMAP( +// .--------------------------------------------------------------------------. + ESC, 1 , 2 , 3 , 4 , 5 ,PGUP,PSCR,PGDN, 6 , 7 , 8 , 9 , 0 ,BSPC, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + TAB, Q , W , E , R , T , INS,BSLS, DEL, Y , U , I , O , P ,QUOT, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + LCTL, A , S , D , F , G ,HOME,PLUS,LOCK, H , J , K , L ,SCLN, ENT, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + LSFT, Z , X , C , V , B ,LBRC,MINS,RBRC, N , M ,COMM, DOT,SLSH,RSFT, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + LOWR,LCTL,LALT,LGUI,____, SPC,RASE, GRV,LOWR, SPC,____,LEFT,DOWN,UP ,RGHT +// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' +), + + [_LOWER] = KC_KEYMAP( +// .--------------------------------------------------------------------------. + ____, F1, F2, F3, F4, F5, F6,____, F7, F8, F9, F10, F11, F12,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ____,ROOT,PPLY,PSEF,____,____,____,____,____,____,____,____,____,____,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ____,____,____,____,____,____,____,____,____,____,____,____,____,____,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ____,____,____,____,____,____,____,____,____,____,____,____,____,____,MUTE, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ,____,____,____,____,____, ,____, ,MPLY,____,MPRV,VOLD,VOLU,MNXT +// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' +), + +[_RAISE] = KC_KEYMAP( +// .--------------------------------------------------------------------------. + ____,____,____,____,____,____,____,____,____,____,____,____,____,____,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ____,____,____,____, RST,____,____,____,____,____,____,____,____,____,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + CAPS,____,____,____,____,____,____, BLI,____,____,____,____,____,____,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + RGB,RHUI,RHUD,RSAI,RSAD,RVAI,RVAD, BLD,____,____,____,____,BTN1,BTN2,____, +// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| + ,____,____,____,____,____, ,____, ,____,____,MS_L,MS_D,MS_U,MS_R +// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' +) +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for left ctrl, twice for ESC + //[TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_ESC), + [TD_LOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)) +}; +void led_set_user(uint8_t usb_led) { + if (usb_led & (1<event.pressed) { + switch(id) { + case 0: + SEND_STRING("sudo su -\n"); + return false; break; + case 1: + SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); + return false; break; + case 2: + SEND_STRING("ps -ef | grep "); + return false; break; + } + } + return MACRO_NONE; +}; diff --git a/keyboards/xd75/keymaps/mtdjr/readme.md b/keyboards/xd75/keymaps/mtdjr/readme.md new file mode 100644 index 000000000..d53c0f34a --- /dev/null +++ b/keyboards/xd75/keymaps/mtdjr/readme.md @@ -0,0 +1 @@ +# The default keymap for xd75 diff --git a/keyboards/xd75/keymaps/mtdjr/rules.mk b/keyboards/xd75/keymaps/mtdjr/rules.mk new file mode 100644 index 000000000..28462ff16 --- /dev/null +++ b/keyboards/xd75/keymaps/mtdjr/rules.mk @@ -0,0 +1,22 @@ +# Copyright 2013 Jun Wako +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif + +BACKLIGHT_ENABLE = yes +TAP_DANCE_ENABLE = yes +RGBLIGHT_ENABLE = yes