diff options
author | Alex Ong <the.onga@gmail.com> | 2019-01-26 12:13:19 +1100 |
---|---|---|
committer | Alex Ong <the.onga@gmail.com> | 2019-01-26 12:13:19 +1100 |
commit | c9ba618654417ec115809a031d315f8327c79ad4 (patch) | |
tree | cd5b907af5bebde7062897ff847e473232ed1214 /keyboards/iris | |
parent | 2bb2977c133646c4e056960e72029270d77cc1eb (diff) | |
parent | d977daa8dc9136746425f9e1414e1f93cb161877 (diff) |
DO NOT USE Merge branch 'master' into debounce_refactor
Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce.
# Conflicts:
# quantum/matrix.c
Diffstat (limited to 'keyboards/iris')
34 files changed, 537 insertions, 255 deletions
diff --git a/keyboards/iris/iris.h b/keyboards/iris/iris.h index afad9a0d6d..4212462c15 100644 --- a/keyboards/iris/iris.h +++ b/keyboards/iris/iris.h @@ -11,6 +11,7 @@ #endif #include "quantum.h" +#include "../../zeal60/zeal60_keycodes.h" // Used to create a keymap using only KC_ prefixed keys #define LAYOUT_kc( \ diff --git a/keyboards/iris/keymaps/ave-63/config.h b/keyboards/iris/keymaps/ave-63/config.h new file mode 100644 index 0000000000..381a494b75 --- /dev/null +++ b/keyboards/iris/keymaps/ave-63/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2017 Danny Nguyen <danny@keeb.io> + +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 <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +#define PREVENT_STUCK_MODIFIERS +#define TAPPING_TERM 150 + +/* Select hand configuration */ +//#define MASTER_LEFT +#define MASTER_RIGHT +// #define EE_HANDS + +/*#undef RGBLED_NUMvbvbvbvbvbvbvtesting +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 1 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8*/ diff --git a/keyboards/iris/keymaps/ave-63/keymap.c b/keyboards/iris/keymaps/ave-63/keymap.c new file mode 100644 index 0000000000..3d393a71c7 --- /dev/null +++ b/keyboards/iris/keymaps/ave-63/keymap.c @@ -0,0 +1,120 @@ +/* Features of this keymap: + +--Lots of functionality on left hand for conjunction with mouse or pen in right hand +--_COMMAND layer ESDF arrow keys +--_MEH layer ESDF is super handy for switching tabs (SF) and apps (ED) +--_MEH layer other keys are linked with my AutoHotKey script +--macro for handling parentheses is very nice (credit: u/drashna) + +Some things are very non-standard, like position of number keys, etc. +Will require heavy modification for most people. +*/ +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +enum my_layers { + _QWERTY, + _SYMBOL, + _COMMAND, + _MEH +}; + +enum custom_keycodes { + KC_MPRN = SAFE_RANGE, + KC_MBRC, + KC_MCBR, + KC_MABK +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT( + KC_ESC, KC_GRV, KC_AT, KC_BSLS, KC_NO, TG(_SYMBOL), KC_NO, KC_LGUI, KC_MBRC, KC_RBRC, KC_NO, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_SYMBOL), + KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MEH), KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_NO, KC_LSFT, MO(_COMMAND), KC_ENT, KC_SPC, KC_NO +), +[_SYMBOL] = LAYOUT( + 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_EQL, KC_9, KC_8, KC_7, KC_PLUS, KC_HASH, KC_UNDS, KC_MCBR, KC_RCBR, KC_TRNS, KC_TRNS, + KC_TRNS, KC_0, KC_6, KC_5, KC_4, KC_MINS, KC_CIRC, KC_AMPR, KC_MPRN, KC_RPRN, KC_RBRC, KC_TRNS, + KC_TRNS, KC_SLSH, KC_3, KC_2, KC_1, KC_ASTR, KC_TRNS, KC_TRNS, KC_EXLM, KC_DLR, KC_MABK, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[_COMMAND] = LAYOUT( + KC_APP, 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_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_SLCK, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +), +[_MEH] = LAYOUT( + LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, MEH(KC_Q), LCTL(KC_W), LSFT(KC_TAB), KC_DEL, MEH(KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MEH(KC_A),LSFT(LCTL(KC_TAB)),KC_TAB,LCTL(KC_TAB),MEH(KC_G), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,MEH(KC_Z),MEH(KC_X),MEH(KC_C),MEH(KC_V),MEH(KC_B),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 +) + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint16_t code_timer; + switch (keycode) { + case KC_MCBR: + if(record->event.pressed){ + code_timer= timer_read(); + SEND_STRING("{"); + } else { + if (timer_elapsed(code_timer) > TAPPING_TERM) { + SEND_STRING("}" SS_TAP(X_LEFT)); + } + } + return false; + break; + case KC_MBRC: + if(record->event.pressed){ + code_timer= timer_read(); + SEND_STRING("["); + } else { + if (timer_elapsed(code_timer) > TAPPING_TERM) { + SEND_STRING("]" SS_TAP(X_LEFT)); + } + } + return false; + break; + case KC_MPRN: + if(record->event.pressed){ + code_timer= timer_read(); + SEND_STRING("("); + } else { + if (timer_elapsed(code_timer) > TAPPING_TERM) { + SEND_STRING(")" SS_TAP(X_LEFT)); + } + } + return false; + break; + case KC_MABK: + if(record->event.pressed){ + code_timer= timer_read(); + if (get_mods() & MODS_SHIFT_MASK){ + SEND_STRING("<"); + } else { + SEND_STRING(","); + } + } else { + if (timer_elapsed(code_timer) > TAPPING_TERM) { + if (get_mods() & MODS_SHIFT_MASK){ + SEND_STRING(">" SS_TAP(X_LEFT)); + } + } + } + return false; + break; + } + return true; +}
\ No newline at end of file diff --git a/keyboards/iris/keymaps/davidrambo/rules.mk b/keyboards/iris/keymaps/davidrambo/rules.mk index 0b7e7b9057..1e3473a1af 100644 --- a/keyboards/iris/keymaps/davidrambo/rules.mk +++ b/keyboards/iris/keymaps/davidrambo/rules.mk @@ -2,6 +2,3 @@ RGBLIGHT_ENABLE = no BACKLIGHT_ENABLE = no TAP_DANCE_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/default/keymap.c b/keyboards/iris/keymaps/default/keymap.c index 4644c3d9b5..f67b71fc1a 100644 --- a/keyboards/iris/keymaps/default/keymap.c +++ b/keyboards/iris/keymaps/default/keymap.c @@ -2,21 +2,14 @@ extern keymap_config_t keymap_config; -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 16 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, -}; +#define _MAIN 0 +#define _FN1 1 +#define _FN2 2 +#define _FN3 3 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_MAIN] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ @@ -26,11 +19,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_LALT + KC_LGUI, FN_MO13, KC_ENT, KC_SPC, FN_MO23, KC_LALT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_LOWER] = LAYOUT( + [_FN1] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ @@ -44,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_RAISE] = LAYOUT( + [_FN2] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ @@ -58,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_ADJUST] = LAYOUT( + [_FN3] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ @@ -73,42 +66,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_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; +void encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } } diff --git a/keyboards/iris/keymaps/dvp-zjpxshade/rules.mk b/keyboards/iris/keymaps/dvp-zjpxshade/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/dvp-zjpxshade/rules.mk +++ b/keyboards/iris/keymaps/dvp-zjpxshade/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/hag/rules.mk b/keyboards/iris/keymaps/hag/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/hag/rules.mk +++ b/keyboards/iris/keymaps/hag/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/hexwire/rules.mk b/keyboards/iris/keymaps/hexwire/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/hexwire/rules.mk +++ b/keyboards/iris/keymaps/hexwire/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/impstyle/rules.mk b/keyboards/iris/keymaps/impstyle/rules.mk index 4db5ef00d2..ef4a383d31 100644 --- a/keyboards/iris/keymaps/impstyle/rules.mk +++ b/keyboards/iris/keymaps/impstyle/rules.mk @@ -3,6 +3,3 @@ BACKLIGHT_ENABLE = no TAP_DANCE_ENABLE = no MOUSEKEY_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/krusli/rules.mk b/keyboards/iris/keymaps/krusli/rules.mk index c5e16f1369..b0e37ec2f4 100644 --- a/keyboards/iris/keymaps/krusli/rules.mk +++ b/keyboards/iris/keymaps/krusli/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = no BACKLIGHT_ENABLE = no -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/lewisridden/rules.mk b/keyboards/iris/keymaps/lewisridden/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/lewisridden/rules.mk +++ b/keyboards/iris/keymaps/lewisridden/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/mtdjr/rules.mk b/keyboards/iris/keymaps/mtdjr/rules.mk index a1b884e4de..7f8c630d8b 100644 --- a/keyboards/iris/keymaps/mtdjr/rules.mk +++ b/keyboards/iris/keymaps/mtdjr/rules.mk @@ -1,6 +1,4 @@ RGBLIGHT_ENABLE = no BACKLIGHT_ENABLE = no #AUDIO_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif + diff --git a/keyboards/iris/keymaps/omgvee/readme.md b/keyboards/iris/keymaps/omgvee/readme.md index bf9a5acb1f..82a6cd2cf5 100644 --- a/keyboards/iris/keymaps/omgvee/readme.md +++ b/keyboards/iris/keymaps/omgvee/readme.md @@ -4,6 +4,10 @@ ![My beloved IRIS keeb](https://i.imgur.com/wgsb37e.jpg) +![My beloved choc IRIS keeb](https://imgur.com/a/NDXqLGb) +======= + + - mouse keys - media keys and media controls - in-switch LED intensity controls (+/-) @@ -14,4 +18,6 @@ - also have alternates on the same layer, in the form of AWSD, as well as HJKL (keep in mind the order is Left, Up, Down, Right) - arrow keys on one layer, however with another modifier key, they become left=home, right=end, up=page up, down=page Down -See keymap.c for layouts
\ No newline at end of file + +See keymap.c for layouts + diff --git a/keyboards/iris/keymaps/rdhaene/rules.mk b/keyboards/iris/keymaps/rdhaene/rules.mk index d87ba79133..4bfbfb2ae2 100644 --- a/keyboards/iris/keymaps/rdhaene/rules.mk +++ b/keyboards/iris/keymaps/rdhaene/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = no BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/rs/config.h b/keyboards/iris/keymaps/rs/config.h new file mode 100644 index 0000000000..7c5b5ca433 --- /dev/null +++ b/keyboards/iris/keymaps/rs/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2017 Danny Nguyen <danny@hexwire.com> + +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 <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define TAPPING_TERM 150 + +#undef RGBLED_NUM +#define RGBLED_NUM 6 +#define RGBLIGHT_SLEEP +#define RGBLIGHT_HUE_STEP 1 +#define RGBLIGHT_SAT_STEP 1 +#define RGBLIGHT_VAL_STEP 1
\ No newline at end of file diff --git a/keyboards/iris/keymaps/rs/karabiner.json b/keyboards/iris/keymaps/rs/karabiner.json new file mode 100644 index 0000000000..f5214650ad --- /dev/null +++ b/keyboards/iris/keymaps/rs/karabiner.json @@ -0,0 +1,154 @@ +{ + "title": "RS", + "rules": [{ + "description": "CapsLock to Escape / Control Mod-Tap", + "manipulators": [{ + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": ["any"] + } + }, + "to": [{"key_code": "left_control"}], + "to_if_alone": [{"key_code": "escape"}] + }] + }, + { + "description": "Right-Shift / Enter Mod-Tap", + "manipulators": [{ + "type": "basic", + "from": { + "key_code": "right_shift", + "modifiers": { + "optional": ["any"] + } + }, + "to": [{"key_code": "right_shift"}], + "to_if_alone": [{"key_code": "return_or_enter"}] + }] + }, + { + "description": "Right-Command / Backspace Mod-Tap", + "manipulators": [{ + "type": "basic", + "from": { + "key_code": "right_command", + "modifiers": { + "optional": ["any"] + } + }, + "to": [{"key_code": "right_command"}], + "to_if_alone": [{"key_code": "delete_or_backspace"}] + }] + }, + { + "description": "Right-Command Accents", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["left_shift", "right_shift"] + } + }, + "to": [ + {"key_code": "grave_accent_and_tilde", "modifiers": ["left_option"]}, + {"key_code": "a"} + ] + }] + }, + { + "description": "Right Command Navigation", + "manipulators": [{ + "type": "basic", + "from": { + "key_code": "j", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "left_arrow"}] + }, + { + "type": "basic", + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "down_arrow"}] + }, + { + "type": "basic", + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "up_arrow"}] + }, + { + "type": "basic", + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "right_arrow"}] + }, + { + "type": "basic", + "from": { + "key_code": "e", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "page_up"}] + }, + { + "type": "basic", + "from": { + "key_code": "d", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "page_down"}] + }, + { + "type": "basic", + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "home"}] + }, + { + "type": "basic", + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["right_command"], + "optional": ["any"] + } + }, + "to": [{"key_code": "end"}] + }] + }] +} diff --git a/keyboards/iris/keymaps/rs/keymap.c b/keyboards/iris/keymaps/rs/keymap.c new file mode 100644 index 0000000000..43374e59f3 --- /dev/null +++ b/keyboards/iris/keymaps/rs/keymap.c @@ -0,0 +1,48 @@ +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY, + _HYPER, +}; + +#define KC_ KC_TRNS + +#define KC_ESCC MT(MOD_LCTL, KC_ESC) +#define KC_ENTS MT(MOD_LSFT, KC_ENT) +#define KC_HYPE MO(_HYPER) +#define KC_RST RESET +// Brightness +#define KC_BRUP KC_PAUS +#define KC_BRDN KC_SLCK +#define KC_BLTG BL_TOGG + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + LSFT, Z , X , C , V , B ,SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + LALT,LGUI,SPC, BSPC,HYPE,ENT + // `----+----+----' `+---+----+----' + ), // | + // | + [_HYPER] = LAYOUT_kc( // V + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + RST , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 ,LBRC,RBRC, , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , , ,PGUP, ,BRUP, , , UP ,LCBR,RCBR,BSLS, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + , ,HOME,PGDN,END ,BRDN, MINS,LEFT,DOWN,RGHT, ,PIPE, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + , , , , , ,BLTG, VOLU, , , , , , , + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + , , , VOLD, ,MUTE + // `----+----+----' `----+----+----' + ), +}; diff --git a/keyboards/iris/keymaps/rs/readme.md b/keyboards/iris/keymaps/rs/readme.md new file mode 100644 index 0000000000..bdf44121e4 --- /dev/null +++ b/keyboards/iris/keymaps/rs/readme.md @@ -0,0 +1,13 @@ +# Code friendly 60% keymap + +I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys. + +The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement. + +The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout. + +Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc. + +This keymap is also available for other keyboards: +- [ortho_5x12/rs](../../../../layouts/community/ortho_5x12/rs/keymap.c) +- [ErgoTravel/rs](../../../ergotravel/keymaps/rs/keymap.c) diff --git a/keyboards/iris/keymaps/rs/rules.mk b/keyboards/iris/keymaps/rs/rules.mk new file mode 100644 index 0000000000..bd518d8f27 --- /dev/null +++ b/keyboards/iris/keymaps/rs/rules.mk @@ -0,0 +1 @@ +BACKLIGHT_ENABLE = yes diff --git a/keyboards/iris/keymaps/s1carii/readme.md b/keyboards/iris/keymaps/s1carii/readme.md index 9b46e86702..6d94b6c877 100644 --- a/keyboards/iris/keymaps/s1carii/readme.md +++ b/keyboards/iris/keymaps/s1carii/readme.md @@ -6,4 +6,4 @@ Make example for this keymap (after setting up your build environment): make iris/rev2:s1carii:avrdude -See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/iris/keymaps/swedish/rules.mk b/keyboards/iris/keymaps/swedish/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/swedish/rules.mk +++ b/keyboards/iris/keymaps/swedish/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/transmogrified/rules.mk b/keyboards/iris/keymaps/transmogrified/rules.mk index c248822b23..444fa38a93 100644 --- a/keyboards/iris/keymaps/transmogrified/rules.mk +++ b/keyboards/iris/keymaps/transmogrified/rules.mk @@ -1,6 +1,3 @@ BACKLIGHT_ENABLE = yes TAP_DANCE_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/keymaps/yanfali/rules.mk b/keyboards/iris/keymaps/yanfali/rules.mk index 22b6ec4766..73142a1680 100644 --- a/keyboards/iris/keymaps/yanfali/rules.mk +++ b/keyboards/iris/keymaps/yanfali/rules.mk @@ -1,6 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/iris/rev1/config.h b/keyboards/iris/rev1/config.h index 3b31ca0d7e..1eddb54b4f 100644 --- a/keyboards/iris/rev1/config.h +++ b/keyboards/iris/rev1/config.h @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include QMK_KEYBOARD_CONFIG_H /* USB Device descriptor parameter */ -#define VENDOR_ID 0xCEEB +#define VENDOR_ID 0xCB10 #define PRODUCT_ID 0x1256 #define DEVICE_VER 0x0100 #define MANUFACTURER Keebio @@ -68,20 +68,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN D3 #define RGBLED_NUM 12 // Number of LEDs -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 + +// EEPROM usage + +// TODO: refactor with new user EEPROM code (coming soon) +#define EEPROM_MAGIC 0x451F +#define EEPROM_MAGIC_ADDR 32 +// Bump this every time we change what we store +// This will automatically reset the EEPROM with defaults +// and avoid loading invalid data from the EEPROM +#define EEPROM_VERSION 0x08 +#define EEPROM_VERSION_ADDR 34 + +// Dynamic keymap starts after EEPROM version +#define DYNAMIC_KEYMAP_EEPROM_ADDR 35 +// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480) +#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 diff --git a/keyboards/iris/rev1/rev1.c b/keyboards/iris/rev1/rev1.c index fe91fa3ead..9694d122df 100644 --- a/keyboards/iris/rev1/rev1.c +++ b/keyboards/iris/rev1/rev1.c @@ -7,20 +7,6 @@ void led_set_kb(uint8_t usb_led) { } #endif -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) // swap-hands action needs a matrix to define the swap diff --git a/keyboards/iris/rev1_led/config.h b/keyboards/iris/rev1_led/config.h index e9739c0031..4505c22299 100644 --- a/keyboards/iris/rev1_led/config.h +++ b/keyboards/iris/rev1_led/config.h @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include QMK_KEYBOARD_CONFIG_H /* USB Device descriptor parameter */ -#define VENDOR_ID 0xCEEB +#define VENDOR_ID 0xCB10 #define PRODUCT_ID 0x1256 #define DEVICE_VER 0x0100 #define MANUFACTURER Keebio @@ -68,20 +68,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN D3 #define RGBLED_NUM 12 // Number of LEDs -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 + +// EEPROM usage + +// TODO: refactor with new user EEPROM code (coming soon) +#define EEPROM_MAGIC 0x451F +#define EEPROM_MAGIC_ADDR 32 +// Bump this every time we change what we store +// This will automatically reset the EEPROM with defaults +// and avoid loading invalid data from the EEPROM +#define EEPROM_VERSION 0x08 +#define EEPROM_VERSION_ADDR 34 + +// Dynamic keymap starts after EEPROM version +#define DYNAMIC_KEYMAP_EEPROM_ADDR 35 +// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480) +#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 diff --git a/keyboards/iris/rev1_led/rev1_led.c b/keyboards/iris/rev1_led/rev1_led.c index d08eaea662..af5fc9440b 100644 --- a/keyboards/iris/rev1_led/rev1_led.c +++ b/keyboards/iris/rev1_led/rev1_led.c @@ -7,20 +7,6 @@ void led_set_kb(uint8_t usb_led) { } #endif -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) // swap-hands action needs a matrix to define the swap diff --git a/keyboards/iris/rev2/config.h b/keyboards/iris/rev2/config.h index d43d4b1c64..e0465ca8a4 100644 --- a/keyboards/iris/rev2/config.h +++ b/keyboards/iris/rev2/config.h @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include QMK_KEYBOARD_CONFIG_H /* USB Device descriptor parameter */ -#define VENDOR_ID 0xCEEB +#define VENDOR_ID 0xCB10 #define PRODUCT_ID 0x1256 #define DEVICE_VER 0x0200 #define MANUFACTURER Keebio @@ -68,20 +68,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN D3 #define RGBLED_NUM 12 // Number of LEDs -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 + +// EEPROM usage + +// TODO: refactor with new user EEPROM code (coming soon) +#define EEPROM_MAGIC 0x451F +#define EEPROM_MAGIC_ADDR 32 +// Bump this every time we change what we store +// This will automatically reset the EEPROM with defaults +// and avoid loading invalid data from the EEPROM +#define EEPROM_VERSION 0x08 +#define EEPROM_VERSION_ADDR 34 + +// Dynamic keymap starts after EEPROM version +#define DYNAMIC_KEYMAP_EEPROM_ADDR 35 +// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480) +#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 diff --git a/keyboards/iris/rev2/rev2.c b/keyboards/iris/rev2/rev2.c index 133fce66ad..8575243f0d 100644 --- a/keyboards/iris/rev2/rev2.c +++ b/keyboards/iris/rev2/rev2.c @@ -7,20 +7,6 @@ void led_set_kb(uint8_t usb_led) { } #endif -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) // swap-hands action needs a matrix to define the swap diff --git a/keyboards/iris/rev3/config.h b/keyboards/iris/rev3/config.h index 5642512f39..ad5937dc15 100644 --- a/keyboards/iris/rev3/config.h +++ b/keyboards/iris/rev3/config.h @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include QMK_KEYBOARD_CONFIG_H /* USB Device descriptor parameter */ -#define VENDOR_ID 0xCEEB +#define VENDOR_ID 0xCB10 #define PRODUCT_ID 0x1256 #define DEVICE_VER 0x0300 #define MANUFACTURER Keebio @@ -35,6 +35,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // wiring of each half #define MATRIX_ROW_PINS { D2, D3, D5, D7, D6 } #define MATRIX_COL_PINS { F1, F4, F5, F6, D4, B4 } +#define SPLIT_HAND_PIN F0 +#define QMK_ESC_OUTPUT D2 +#define QMK_ESC_INPUT F1 +#define QMK_LED B0 +#define QMK_SPEAKER C6 + +#define NUMBER_OF_ENCODERS 1 +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { B7 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -68,20 +77,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN F7 #define RGBLED_NUM 12 // Number of LEDs -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 + +// EEPROM usage + +// TODO: refactor with new user EEPROM code (coming soon) +#define EEPROM_MAGIC 0x451F +#define EEPROM_MAGIC_ADDR 32 +// Bump this every time we change what we store +// This will automatically reset the EEPROM with defaults +// and avoid loading invalid data from the EEPROM +#define EEPROM_VERSION 0x08 +#define EEPROM_VERSION_ADDR 34 + +// Dynamic keymap starts after EEPROM version +#define DYNAMIC_KEYMAP_EEPROM_ADDR 35 +// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480) +#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 diff --git a/keyboards/iris/rev3/rev3.c b/keyboards/iris/rev3/rev3.c index d8272db0f5..7e49330c1d 100644 --- a/keyboards/iris/rev3/rev3.c +++ b/keyboards/iris/rev3/rev3.c @@ -7,20 +7,6 @@ void led_set_kb(uint8_t usb_led) { } #endif -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) // swap-hands action needs a matrix to define the swap @@ -39,4 +25,3 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, }; #endif - diff --git a/keyboards/iris/rev3/rev3.h b/keyboards/iris/rev3/rev3.h index d44cef9a6b..da9da84403 100644 --- a/keyboards/iris/rev3/rev3.h +++ b/keyboards/iris/rev3/rev3.h @@ -12,8 +12,6 @@ #endif #endif -//void promicro_bootloader_jmp(bool program); - #define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ diff --git a/keyboards/iris/rev3/rules.mk b/keyboards/iris/rev3/rules.mk index d7463419b4..d7e0da9367 100644 --- a/keyboards/iris/rev3/rules.mk +++ b/keyboards/iris/rev3/rules.mk @@ -1,2 +1,3 @@ RGBLIGHT_ENABLE = yes BACKLIGHT_ENABLE = yes +ENCODER_ENABLE = yes diff --git a/keyboards/iris/rules.mk b/keyboards/iris/rules.mk index e93d7dae80..69bc62f876 100644 --- a/keyboards/iris/rules.mk +++ b/keyboards/iris/rules.mk @@ -1,36 +1,6 @@ -# MCU name MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. F_CPU = 16000000 - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. F_USB = $(F_CPU) # Bootloader @@ -50,8 +20,9 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT # 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) +MOUSEKEY_ENABLE = no # 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 @@ -61,10 +32,15 @@ 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 = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SPLIT_KEYBOARD = yes DEFAULT_FOLDER = iris/rev2 + +# VIA Support - Comment these 3 lines out to disable +RAW_ENABLE = yes +DYNAMIC_KEYMAP_ENABLE = yes +SRC += keyboards/wilba_tech/wt_main.c |