aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/config.h84
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/keymap.c126
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/readme.md1
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/rules.mk3
-rw-r--r--keyboards/gh60/satan/keymaps/bri/keymap.c6
-rw-r--r--keyboards/keebio/iris/keymaps/davidrambo/keymap.c126
-rw-r--r--keyboards/planck/keymaps/davidrambo/keymap.c39
-rw-r--r--keyboards/preonic/keymaps/davidrambo/config.h20
-rwxr-xr-xkeyboards/preonic/keymaps/davidrambo/keymap.c179
-rw-r--r--keyboards/preonic/keymaps/davidrambo/rules.mk3
-rw-r--r--keyboards/xd75/keymaps/davidrambo/keymap.c130
-rw-r--r--keyboards/xd75/keymaps/davidrambo/readme.md5
12 files changed, 593 insertions, 129 deletions
diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h
new file mode 100644
index 000000000..25f5f3b22
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/config.h
@@ -0,0 +1,84 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31#define RGBLIGHT_SPLIT
32
33//#define SSD1306OLED
34
35#define TAPPING_TERM 200
36#define PERMISSIVE_HOLD
37
38#ifdef RGB_MATRIX_ENABLE
39 #define RGB_MATRIX_STARTUP_HUE 231
40 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
41 #define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50
42 // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
43 // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
44 #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
45 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
46 // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
47 // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
48 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
49 #define RGB_MATRIX_HUE_STEP 8
50 #define RGB_MATRIX_SAT_STEP 8
51 #define RGB_MATRIX_VAL_STEP 8
52 #define RGB_MATRIX_SPD_STEP 10
53
54 /* Disable the animations you don't want/need. You will need to disable a good number of these *
55 * because they take up a lot of space. Disable until you can successfully compile your firmware. */
56 #define DISABLE_RGB_MATRIX_ALPHAS_MODS
57 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
58 #define DISABLE_RGB_MATRIX_BREATHING
59 #define DISABLE_RGB_MATRIX_CYCLE_ALL
60 #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
61 #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
62 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
63 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
64 #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
65 #define DISABLE_RGB_MATRIX_DUAL_BEACON
66 #define DISABLE_RGB_MATRIX_RAINBOW_BEACON
67 #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
68 #define DISABLE_RGB_MATRIX_RAINDROPS
69 #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
70 // # define DISABLE_RGB_MATRIX_TYPING_HEATMAP
71 #define DISABLE_RGB_MATRIX_DIGITAL_RAIN
72 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE
73 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
74 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
75 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
76 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
77 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
78 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
79 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
80 #define DISABLE_RGB_MATRIX_SPLASH
81 #define DISABLE_RGB_MATRIX_MULTISPLASH
82 #define DISABLE_RGB_MATRIX_SOLID_SPLASH
83 #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
84#endif
diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c
new file mode 100644
index 000000000..6e9779522
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/keymap.c
@@ -0,0 +1,126 @@
1/* Copyright 2021 David Rambo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19//extern uint8_t is_master;
20
21
22enum custom_layers {
23 _COLEMAK,
24 _SYMBOL,
25 _NAVIGATION,
26 _FKEYS,
27};
28
29//keycode shorthands
30#define SYM MO(1)
31#define NAV LT(2, KC_ESC)
32#define FKEY MO(3)
33
34//aliases for clarity in layering
35#define SftEnt SFT_T(KC_ENT) // Shift when held, Enter when tapped
36#define BSCTL LCTL_T(KC_BSPC) // Ctrl when held, Backspace when tapped
37#define CTAB LCTL(KC_TAB)
38#define ATAB LALT(KC_TAB)
39
40//aliases for Navigation layer
41#define CBSPC LCTL(KC_BSPC) // delete whole word
42#define C_CL LCTL(KC_LEFT) // move cursor one word back
43#define C_CR LCTL(KC_RGHT) // move cursor one word forward
44
45//internet browser tab shortcuts and window swapping
46#define CTLPGDN LCTL(KC_PGDN)
47#define CTLPGUP LCTL(KC_PGUP)
48
49#define G_GRV LGUI(KC_GRV)
50#define SftEnt SFT_T(KC_ENT)
51
52enum custom_keycodes {
53 PLACEHOLDER = SAFE_RANGE,
54 SET_RGB,
55};
56
57const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 [_COLEMAK] = LAYOUT(
59 //,-----------------------------------------------------. ,-----------------------------------------------------.
60 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
61 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
62 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O , KC_QUOT,
63 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
64 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt,
65 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
66 KC_LALT, KC_LGUI, BSCTL, KC_SPC, SYM , FKEY
67 //`--------------------------' `--------------------------'
68
69 ),
70
71 [_SYMBOL] = LAYOUT(
72 //,-----------------------------------------------------. ,-----------------------------------------------------.
73 KC_LBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
74 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
75 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
76 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
77 _______, KC_HOME, KC_END, _______, _______, _______, KC_GRV, KC_MINS, KC_PGUP, _______, _______, _______,
78 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
79 _______, _______, _______, _______, _______, KC_PGDN
80 //`--------------------------' `--------------------------'
81 ),
82
83 [_NAVIGATION] = LAYOUT(
84 //,-----------------------------------------------------. ,-----------------------------------------------------.
85 _______, _______, _______, _______, _______, _______, CTAB , C_CL , KC_UP, C_CR , KC_DEL, _______,
86 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
87 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT , KC_DOWN, KC_RGHT, CTLPGDN, _______,
88 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
89 RESET, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______,
90 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
91 _______, _______, _______, _______, _______, KC_RALT
92 //`--------------------------' `--------------------------'
93 ),
94
95 [_FKEYS] = LAYOUT(
96 //,-----------------------------------------------------. ,-----------------------------------------------------.
97 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
99 _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_TOG, SET_RGB, _______, _______, _______, _______, _______, _______,
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
101 _______, RGB_MOD, RGB_M_P, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______,
102 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
103 _______, _______, _______, _______, _______, _______
104 //`--------------------------' `--------------------------'
105 )
106};
107
108void keyboard_post_init_user(void) {
109// rgb_matrix_sethsv(191, 43, 81);
110 rgblight_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
111};
112
113bool process_record_user(uint16_t keycode, keyrecord_t *record) {
114
115 switch (keycode) {
116
117 case SET_RGB:
118 if (record->event.pressed) {
119 rgb_matrix_sethsv_noeeprom(18, 86, 95);
120 }
121 return false;
122 break;
123
124 }
125 return true;
126}
diff --git a/keyboards/crkbd/keymaps/davidrambo/readme.md b/keyboards/crkbd/keymaps/davidrambo/readme.md
new file mode 100644
index 000000000..e8ce162b6
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/readme.md
@@ -0,0 +1 @@
This is my Corne keymap, which uses Colemak and shortcuts for Linux and Windows.
diff --git a/keyboards/crkbd/keymaps/davidrambo/rules.mk b/keyboards/crkbd/keymaps/davidrambo/rules.mk
new file mode 100644
index 000000000..782b689f4
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/rules.mk
@@ -0,0 +1,3 @@
1RGBLIGHT_ENABLE = no
2RGB_MATRIX_ENABLE = yes
3BOOTLOADER = atmel-dfu
diff --git a/keyboards/gh60/satan/keymaps/bri/keymap.c b/keyboards/gh60/satan/keymaps/bri/keymap.c
index 1f9430a9f..2f742411d 100644
--- a/keyboards/gh60/satan/keymaps/bri/keymap.c
+++ b/keyboards/gh60/satan/keymaps/bri/keymap.c
@@ -5,8 +5,8 @@
5#define _FL 1 5#define _FL 1
6#define _NAV 2 6#define _NAV 2
7 7
8#define A_LEFT LALT(KC_LEFT) 8#define ALEFT LALT(KC_LEFT)
9#define A_RGHT LALT(KC_RGHT) 9#define ARGHT LALT(KC_RGHT)
10 10
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 /* Keymap _BL: (Base Layer) Default Layer 12 /* Keymap _BL: (Base Layer) Default Layer
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
59 59
60[_NAV] = LAYOUT_60_ansi( 60[_NAV] = LAYOUT_60_ansi(
61 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ 61 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
62 _______,_______,_______,_______,_______,_______,_______,A_LEFT , KC_UP ,A_RGHT ,_______,_______,_______,_______, \ 62 _______,_______,_______,_______,_______,_______,_______,ALEFT , KC_UP ,ARGHT ,_______,_______,_______,_______, \
63 _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______, \ 63 _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______, \
64 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ 64 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
65 _______,_______,_______, _______, _______,_______,_______,_______), 65 _______,_______,_______, _______, _______,_______,_______,_______),
diff --git a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
index aa757508a..b36abd4c5 100644
--- a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
@@ -1,35 +1,30 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config;
4
5//keycode shorthands 3//keycode shorthands
6#define KC____ KC_TRNS // three underscores "___" for transparent 4#define MACNAV LT(4, KC_TAB)
7#define KC_SYM MO(3) 5#define PCNAV LT(5, KC_TAB)
8#define KC_MAC TO(0)
9#define KC_PC TO(1)
10#define KC_GM TO(2)
11#define KC_NAVMAC LT(4, KC_TAB)
12#define KC_NAVPC LT(5, KC_TAB)
13 6
14//text editor shortcuts for NAV and NAVPC 7//text editor shortcuts for NAV and NAVPC
15#define KC_AL LALT(KC_LEFT) 8#define ALEFT LALT(KC_LEFT)
16#define KC_AR LALT(KC_RGHT) 9#define ARGHT LALT(KC_RGHT)
17#define KC_CL LCTL(KC_LEFT) 10#define CLEFT LCTL(KC_LEFT)
18#define KC_CR LCTL(KC_RGHT) 11#define CRGHT LCTL(KC_RGHT)
19#define KC_ABSPC LALT(KC_BSPC) 12#define ABSPC LALT(KC_BSPC)
20#define KC_CBSPC LCTL(KC_BSPC) 13#define CBSPC LCTL(KC_BSPC)
21 14
22//internet browser tab shortcuts and window swapping for Mac and Windows 15//internet browser tab shortcuts and window swapping for Mac and Windows
23#define KC_GSL LGUI(S(KC_LEFT)) 16#define GSL LGUI(S(KC_LEFT))
24#define KC_GSR LGUI(S(KC_RGHT)) 17#define GSR LGUI(S(KC_RGHT))
25#define KC_CPGD LCTL(KC_PGDN) 18#define CTLPGDN LCTL(KC_PGDN)
26#define KC_CPGU LCTL(KC_PGUP) 19#define CTLPGUP LCTL(KC_PGUP)
20
21#define CMBS GUI_T(KC_BSPC)
22#define CTBS CTL_T(KC_BSPC)
23#define C_TAB LCTL(KC_TAB)
24#define G_TAB LGUI(KC_TAB)
25#define A_TAB LALT(KC_TAB)
27 26
28#define KC_CMBS GUI_T(KC_BSPC) 27#define SFLK TD(SFT_LCK) // alias for tapdance
29#define KC_CTBS CTL_T(KC_BSPC)
30#define KC_C_TAB LCTL(KC_TAB)
31#define KC_G_TAB LGUI(KC_TAB)
32#define KC_A_TAB LALT(KC_TAB)
33 28
34//layer shorthands 29//layer shorthands
35#define _COLEMAK 0 30#define _COLEMAK 0
@@ -39,101 +34,98 @@ extern keymap_config_t keymap_config;
39#define _NAVMAC 4 34#define _NAVMAC 4
40#define _NAVPC 5 35#define _NAVPC 5
41 36
42enum { 37enum custom_keycodes {
43// SFT_LCK //tapdance declarations 38 SFT_LCK, //tapdance declarations
44 COLEMAK = 0, 39 COLEMAK = 0,
45 PC, 40 PC,
46 GAME, 41 GAME,
47 SYMBOL, 42 SYMBOL,
48 NAV, //Navigation layer for Mac Colemak 43 NAV, //Navigation layer for Mac Colemak
49 NAVPC, //Navigation layer for PC Colemak 44 NAVPC, //Navigation layer for PC Colemak
50 SFT_LCK //tapdance declaration
51}; 45};
52 46
53#define KC_SFLK TD(SFT_LCK) // alias for tapdance
54
55const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56 48
57 [_COLEMAK] = LAYOUT( 49 [_COLEMAK] = LAYOUT(
58 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 50 //,------+------+------+------+------+------. ,------+------+------+------+------+------.
59 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS, 51 KC_ESC, KC_1 , KC_2 , KC_3 , KC_4, KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
60 //|----+----+----+----+----+----| |----+----+----+----+----+----| 52 //|------+------+------+------+------+------| |------+------+------+------+------+------|
61 KC_GRV , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y ,KC_SCLN,KC_BSPC, 53 KC_GRV, KC_Q , KC_W , KC_F , KC_P, KC_G, KC_J , KC_L , KC_U , KC_Y , KC_SCLN,KC_BSPC,
62 //|----+----+----+----+----+----| |----+----+----+----+----+----| 54 //|------+------+------+------+------+------| |------+------+------+------+------+------|
63 KC_NAVMAC, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O ,KC_QUOT, 55 MACNAV, KC_A , KC_R , KC_S , KC_T, KC_D, KC_H , KC_N , KC_E , KC_I , KC_O, KC_QUOT,
64 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 56 //|------+------+------+------+------+------+------. ,------|------+------+------+------+------+------|
65 KC_SFLK, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_PC , KC_ENT , KC_K , KC_M ,KC_COMM, KC_DOT,KC_SLSH,KC_RSFT, 57 KC_LSFT,KC_Z , KC_X , KC_C , KC_V, KC_B , TO(1), KC_ENT, KC_K, KC_M , KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,
66 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' 58 //`------+------+------+------+------+----+------/ \-----+------+------+------+------+------+------'
67 KC_LCTL,KC_LGUI,KC_CMBS, KC_SPC, KC_SYM, KC_LALT 59 KC_LCTL, KC_LALT, CMBS, KC_SPC, MO(3), KC_RALT
68 // `----+----+----' `----+----+----' 60 // `------+------+------' `------+------+------'
69 ), 61 ),
70 62
71 [_PC] = LAYOUT( 63 [_PC] = LAYOUT(
72 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 65
74 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 67
76 KC_NAVPC,KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 68 PCNAV , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77 69
78 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_GM, KC____, KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 70 _______, _______, _______, _______, _______, _______, TO(2), _______, _______, _______, _______, _______, _______, _______,
79 71
80 KC_LGUI , KC_LCTL , KC_CTBS , KC____ , KC____ , KC____ 72 KC_LALT, KC_LGUI, CTBS, _______, _______, _______
81 ), 73 ),
82 74
83 [_GAME] = LAYOUT( 75 [_GAME] = LAYOUT(
84 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
85 77
86 KC_B , KC_T , KC_Q , KC_W , KC_E , KC_R , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 78 KC_B , KC_T , KC_Q , KC_W , KC_E , KC_R , _______, _______, _______, _______, _______, _______,
87 79
88 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 80 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, _______, _______, _______, _______, _______,
89 81
90 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_M, KC_P , KC____, KC____ , KC____ , KC____ , KC____ , KC____ , 82 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_M, KC_P , _______, _______, _______, _______, _______, _______,
91 83
92 KC_G , KC_I , KC_SPC, KC_BSPC, KC_MAC, KC____ 84 KC_G, KC_I, KC_SPC, KC_BSPC, TO(0), _______
93 ), 85 ),
94 86
95 [_SYMBOL] = LAYOUT( 87 [_SYMBOL] = LAYOUT(
96 88
97 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 89 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11,
98 90
99 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 91 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
100 92
101 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 93 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL,
102 94
103 KC____ , KC_HOME, KC_END , KC_VOLD, KC_VOLU, KC_MPLY,KC____, KC____,KC____, KC_MINS, KC____ , KC____ , KC____ , KC____ , 95 _______, KC_HOME, KC_END, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_MINS, _______, _______, _______, _______,
104 96
105 KC____ , KC____ , KC____, KC____, KC____ , KC____ 97 _______, _______, _______, _______, _______, _______
106 ), 98 ),
107 99
108 [_NAVMAC] = LAYOUT( 100 [_NAVMAC] = LAYOUT(
109 101
110 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 102 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
111 103
112 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_C_TAB, KC_AL , KC_UP , KC_AR , KC_DEL , KC____ , 104 _______, _______, _______, _______, _______, _______, C_TAB, ALEFT , KC_UP , ARGHT , KC_DEL , _______,
113 105
114 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_GSL , KC_LEFT, KC_DOWN, KC_RGHT, KC_GSR , KC____ , 106 _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______,
115 107
116 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ ,KC____, KC____,KC_G_TAB,KC_ABSPC, KC____ , KC____ , KC____ , KC____ , 108 _______, _______, _______, _______, _______, _______, _______, _______, G_TAB, ABSPC , _______, _______, _______, _______,
117 109
118 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ 110 _______, _______, _______, _______, _______, _______
119 ), 111 ),
120 112
121 [_NAVPC] = LAYOUT( 113 [_NAVPC] = LAYOUT(
122 114
123 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 115 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
124 116
125 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_C_TAB, KC_CL , KC_UP , KC_CR , KC_DEL , KC____ , 117 _______, _______, _______, _______, _______, _______, C_TAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
126 118
127 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_CPGU, KC_LEFT, KC_DOWN, KC_RGHT, KC_CPGD, KC____ , 119 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
128 120
129 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ ,KC____, KC____,KC_A_TAB,KC_CBSPC, KC____ , KC____ , KC____ , KC____ , 121 _______, _______, _______, _______, _______, _______,_______, _______, A_TAB , CBSPC, _______, _______, _______, _______,
130 122
131 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ 123 _______, _______, _______, _______, _______, _______
132 ), 124 ),
133 125
134}; 126};
135 127
136// Shift vs. capslock function. From bbaserdem's Planck keymap. 128// Shift vs. capslock function. From bbaserdem's Planck keymap (since deprecated).
137void caps_tap (qk_tap_dance_state_t *state, void *user_data) { 129void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
138 if (state->count == 1) { 130 if (state->count == 1) {
139 register_code (KC_LSFT); 131 register_code (KC_LSFT);
diff --git a/keyboards/planck/keymaps/davidrambo/keymap.c b/keyboards/planck/keymaps/davidrambo/keymap.c
index b82791194..fa524180f 100644
--- a/keyboards/planck/keymaps/davidrambo/keymap.c
+++ b/keyboards/planck/keymaps/davidrambo/keymap.c
@@ -1,19 +1,38 @@
1/* Copyright 2021 David Rambo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3#define A_BSPC LALT(KC_BSPC) 19#define A_BSPC LALT(KC_BSPC)
4#define A_LEFT LALT(KC_LEFT) 20#define A_LEFT LALT(KC_LEFT)
5#define A_RGHT LALT(KC_RGHT) 21#define A_RGHT LALT(KC_RGHT)
6#define C_TAB LCTL(KC_TAB) 22#define C_TAB LCTL(KC_TAB)
7#define GSL LGUI(S(KC_LEFT)) 23#define CTLPGUP LCTL(KC_PGUP) // back one tab in Brave
8#define GSR LGUI(S(KC_RGHT)) 24#define CTLPGDN LCTL(KC_PGDN) // forward one tab in Brave
9#define G_TAB LGUI(KC_TAB) 25#define G_TAB LGUI(KC_TAB)
10#define G_GRV LGUI(KC_GRV) 26#define G_GRV LGUI(KC_GRV)
11#define SftEnt SFT_T(KC_ENT) 27#define SftEnt SFT_T(KC_ENT)
12#define NAV LT(2, KC_TAB) 28#define NAV LT(2, KC_TAB)
29#define RECT LCA_T(KC_DEL) // Ctrl+Alt is the basis for Rectangle WM shortcuts
13 30
14#define _COLEMAK 0 31enum custom_layers {
15#define _SYMBOL 1 32 _COLEMAK,
16#define _NAVIGATION 2 33 _SYMBOL,
34 _NAVIGATION,
35}
17 36
18//tapdance declarations 37//tapdance declarations
19enum { 38enum {
@@ -40,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 KC_GESC, KC_Q , KC_W , KC_F , KC_P , KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, 59 KC_GESC, KC_Q , KC_W , KC_F , KC_P , KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
41 NAV , KC_A , KC_R , KC_S , KC_T , KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 60 NAV , KC_A , KC_R , KC_S , KC_T , KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
42 SftLck , KC_Z , KC_X , KC_C , KC_V , KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt , 61 SftLck , KC_Z , KC_X , KC_C , KC_V , KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
43 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT 62 RECT , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
44 ), 63 ),
45 64
46/* Symbol 65/* Symbol
@@ -49,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 * |------+------+------+------+------+-------------+------+------+------+------+------| 68 * |------+------+------+------+------+-------------+------+------+------+------+------|
50 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ | 69 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ |
51 * |------+------+------+------+------+------|------+------+------+------+------+------| 70 * |------+------+------+------+------+------|------+------+------+------+------+------|
52 * | | Home | End | ScUp | ScDn | BRMD | BRMU | -_ |Pg Up | | / | | 71 * | | Home | End | | | BRMD | BRMU | -_ |Pg Up | | / | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------| 72 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | `~ | | | |Alt(Bk)| | |Pg Dn | Vol- | Vol+ | | 73 * | `~ | | | |Alt(Bk)| | |Pg Dn | Vol- | Vol+ | |
55 * `-----------------------------------------------------------------------------------' 74 * `-----------------------------------------------------------------------------------'
@@ -58,15 +77,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 77 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
59 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 78 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
60 _______, KC_HOME, KC_END , _______, _______, KC_BRMD, KC_BRMU, KC_MINS, KC_PGUP, _______, _______, _______, 79 _______, KC_HOME, KC_END , _______, _______, KC_BRMD, KC_BRMU, KC_MINS, KC_PGUP, _______, _______, _______,
61 KC_GRV, _______, _______, _______, A_BSPC , _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE 80 _______, KC_GRV , _______, _______, _______ , _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE
62 ), 81 ),
63 82
64/* Navigation*/ 83/* Navigation*/
65 84
66[_NAVIGATION] = LAYOUT_planck_grid( 85[_NAVIGATION] = LAYOUT_planck_grid(
67 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______, 86 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______,
68 _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______, 87 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
69 _______, _______, _______, _______, _______, _______, G_TAB , KC_HOME, _______, KC_END, G_GRV , _______, 88 _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END, G_GRV , _______,
70 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 89 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71) 90)
72}; 91};
diff --git a/keyboards/preonic/keymaps/davidrambo/config.h b/keyboards/preonic/keymaps/davidrambo/config.h
new file mode 100644
index 000000000..c99ca8381
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/config.h
@@ -0,0 +1,20 @@
1/* Copyright 2021 David Rambo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TERM 200
20#define PERMISSIVE_HOLD
diff --git a/keyboards/preonic/keymaps/davidrambo/keymap.c b/keyboards/preonic/keymaps/davidrambo/keymap.c
new file mode 100755
index 000000000..322089d91
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/keymap.c
@@ -0,0 +1,179 @@
1/* Copyright 2021 David Rambo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19//aliases for clarity in layering
20#define A_BSPC LALT(KC_BSPC) // delete whole word in Mac
21#define C_BSPC LCTL(KC_BSPC) // delete whole word in PC
22#define A_LEFT LALT(KC_LEFT) // move cursor whole word back in Mac
23#define A_RGHT LALT(KC_RGHT) // move cursor whole word forward in Mac
24#define C_RGHT LCTL(KC_RGHT) // move cursor whole word back in PC
25#define C_LEFT LCTL(KC_LEFT) // move cursor whole word forward in PC
26#define SftEnt SFT_T(KC_ENT)
27#define BS_GUI LGUI_T(KC_BSPC)
28#define BS_CTL LCTL_T(KC_BSPC)
29#define RECT LCA_T(KC_DEL) // Ctrl+Alt is the basis for Rectangle WM
30
31// internet browser tab shortcuts and window/application swapping for Mac and Win
32#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari
33#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari
34#define CTLPGUP LCTL(KC_PGUP) // back one tab on PC
35#define CTLPGDN LCTL(KC_PGDN) // forward one tab on PC
36#define G_TAB LGUI(KC_TAB) // Mac: switch applications
37#define G_GRV LGUI(KC_GRV) // Mac: switch between windows within an application
38#define A_TAB LALT(KC_TAB)
39#define C_TAB LCTL(KC_TAB)
40
41// navigKC_ation layers for both Mac OS X and Windows
42#define NAVMAC LT(5, KC_ESC)
43#define NAVPC LT(6, KC_ESC)
44#define NAVQUD LT(7, KC_ESC)
45
46enum custom_layers {
47 _COLEMAK,
48 _PC,
49 _QUD,
50 _GAME,
51 _SYMBOL,
52 _NAVMAC,
53 _NAVPC,
54 _NAVQUD,
55}
56
57//tapdance declarations
58enum {
59 SFT_LCK
60};
61
62#define SftLck TD(SFT_LCK) /* alias for tapdance */
63
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65
66/* Colemak
67 * ,-----------------------------------------------------------------------------------.
68 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
69 * |------+------+------+------+------+------+------+------+------+------+------+------|
70 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
71 * |------+------+------+------+------+-------------+------+------+------+------+------|
72 * | ESC` | A | R | S | T | D | H | N | E | I | O | " |
73 * |------+------+------+------+------+------|------+------+------+------+------+------|
74 * |SftLck| Z | X | C | V | B | K | M | , | . | /? |SftEnt|
75 * |------+------+------+------+------+------+------+------+------+------+------+------|
76 * | Del |PrnSc | GUI | Alt | Ctrl |BsGui | Space|Symbol| Left | Down | Up |Right |
77 * `-----------------------------------------------------------------------------------'
78*/
79
80[_COLEMAK] = LAYOUT_preonic_grid(
81 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5 , KC_6, KC_7, KC_8, KC_9, KC_0, TG(1) ,
82 KC_TAB , KC_Q, KC_W, KC_F, KC_P, KC_G , KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
83 NAVMAC , KC_A, KC_R, KC_S, KC_T, KC_D , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
84 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
85 RECT , KC_RCTL, KC_LGUI, KC_LCTL, KC_LALT, BS_GUI, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
86 ),
87
88[_PC] = LAYOUT_preonic_grid(
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) ,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 NAVPC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
93 KC_DEL , KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, BS_CTL , KC_SPC , MO(4) , _______, _______, _______, _______
94 ),
95
96[_QUD] = LAYOUT_preonic_grid(
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(3) ,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
99 NAVQUD , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
100 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
101 KC_DEL , KC_PSCR, KC_LGUI, KC_LALT, KC_LCTL, NAVQUD , KC_SPC, MO(4) , _______, _______, _______, _______
102 ),
103
104[_GAME] = LAYOUT_preonic_grid(
105 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0) ,
106 KC_TAB , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_Y , KC_U , KC_I , KC_O , KC_P , _______,
107 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______,
108 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_N , KC_M , _______, _______, _______, _______,
109 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , MO(4) , _______, _______, _______, _______
110 ),
111
112/* Symbol
113 * ,-----------------------------------------------------------------------------------.
114 * | [ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ] |
115 * |------+------+------+------+------+-------------+------+------+------+------+------|
116 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ |
117 * |------+------+------+------+------+------|------+------+------+------+------+------|
118 * | | Home | End | | Play | BRMD | BRMU | -_ |Pg Up | | / | |
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * | `~ | | | | | | | |Pg Dn | Vol- | Vol+ | |
121 * `-----------------------------------------------------------------------------------'
122 */
123[_SYMBOL] = LAYOUT_preonic_grid(
124 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
125 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
126 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
127 _______, KC_HOME, KC_END , KC_MNXT, KC_MPLY, KC_WH_L, KC_WH_R, KC_MINS, KC_PGUP, KC_WH_D, KC_WH_U, _______,
128 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE
129 ),
130
131/* Navigation*/
132
133[_NAVMAC] = LAYOUT_preonic_grid(
134 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
135 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT , KC_UP , A_RGHT , KC_DEL , _______,
136 _______, _______, _______, _______, _______, _______,S(C_TAB), KC_LEFT, KC_DOWN, KC_RGHT, C_TAB , _______,
137 _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END , G_GRV , _______,
138 RESET , _______, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______
139),
140
141[_NAVPC] = LAYOUT_preonic_grid(
142 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
143 _______, _______, _______, _______, _______, _______, C_TAB , C_LEFT , KC_UP , C_RGHT , KC_DEL , _______,
144 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
145 _______, _______, _______, _______, _______, _______, A_TAB , C_BSPC , KC_HOME, KC_END , G_GRV , _______,
146 RESET , _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______
147),
148
149[_NAVQUD] = LAYOUT_preonic_grid(
150 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, _______, _______,
151 _______, _______, _______, _______, _______, _______, _______, KC_P7 , KC_P8 , KC_P9 , _______, _______,
152 _______, _______, _______, _______, _______, _______, _______, KC_P4 , KC_P2 , KC_P6 , _______, _______,
153 _______, _______, _______, _______, _______, _______, _______, KC_P1 , KC_P5 , KC_P3 , _______, _______,
154 _______, _______, _______, _______, _______, _______, _______, _______, KC_PMNS, KC_PPLS, _______, _______
155)
156};
157
158// Shift vs capslock function. From bbaserdem's Planck keymap.
159void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
160 if (state->count == 1) {
161 register_code (KC_LSFT);
162 } else if (state->count == 2) {
163 unregister_code (KC_LSFT);
164 register_code (KC_CAPS);
165 }
166}
167void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
168 if (state->count == 1) {
169 unregister_code (KC_LSFT);
170 } else {
171 unregister_code (KC_CAPS);
172 }
173}
174
175//Tap Dance Definitions
176qk_tap_dance_action_t tap_dance_actions[] = {
177 //Tap once for Shift, twice for Caps Lock
178 [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
179};
diff --git a/keyboards/preonic/keymaps/davidrambo/rules.mk b/keyboards/preonic/keymaps/davidrambo/rules.mk
new file mode 100644
index 000000000..6f0d3dc0b
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/rules.mk
@@ -0,0 +1,3 @@
1TAP_DANCE_ENABLE = yes
2AUDIO_ENABLE = no
3
diff --git a/keyboards/xd75/keymaps/davidrambo/keymap.c b/keyboards/xd75/keymaps/davidrambo/keymap.c
index 7be197a81..f380ebdb1 100644
--- a/keyboards/xd75/keymaps/davidrambo/keymap.c
+++ b/keyboards/xd75/keymaps/davidrambo/keymap.c
@@ -1,37 +1,57 @@
1/* Copyright 2021 David Rambo
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3//aliases for clarity in layering 19//aliases for clarity in layering
4#define A_BSPC LALT(KC_BSPC) // delete whole word in Mac 20#define ABSPC LALT(KC_BSPC) // delete whole word in Mac
5#define C_BSPC LCTL(KC_BSPC) // delete whole word in PC 21#define CBSPC LCTL(KC_BSPC) // delete whole word in PC
6#define A_LEFT LALT(KC_LEFT) 22#define ALEFT LALT(KC_LEFT)
7#define A_RGHT LALT(KC_RGHT) 23#define ARGHT LALT(KC_RGHT)
8#define C_RGHT LCTL(KC_RGHT) 24#define CRGHT LCTL(KC_RGHT)
9#define C_LEFT LCTL(KC_LEFT) 25#define CLEFT LCTL(KC_LEFT)
10#define SftEnt SFT_T(KC_ENT) 26#define SftEnt SFT_T(KC_ENT)
11#define BS_GUI LGUI_T(KC_BSPC) 27#define BSGUI LGUI_T(KC_BSPC)
12#define BS_CTL LCTL_T(KC_BSPC) 28#define BSCTL LCTL_T(KC_BSPC)
13 29
14// internet browser tab shortcuts and window/application swapping for Mac and Win 30// internet browser tab shortcuts and window/application swapping for Mac and Win
15#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari 31#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari
16#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari 32#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari
17#define CTLPGDN LCTL(KC_PGDN) // back one tab on Windows 33#define CTLPGDN LCTL(KC_PGDN) // back one tab on PC
18#define CTLPGUP LCTL(KC_PGUP) // forward one tab on Windows 34#define CTLPGUP LCTL(KC_PGUP) // forward one tab on PC
19#define G_TAB LGUI(KC_TAB) // Mac: switch applications 35#define GTAB LGUI(KC_TAB) // Mac: switch applications
20#define G_GRV LGUI(KC_GRV) // Mac: switch between windows within an application 36#define GGRV LGUI(KC_GRV) // Mac: switch between windows within an application
21#define A_TAB LALT(KC_TAB) 37#define ATAB LALT(KC_TAB)
22#define C_TAB LCTL(KC_TAB) 38#define CTAB LCTL(KC_TAB)
23 39
24// navigation layers for both Mac OS X and Windows 40// toggles for navigation layers for Mac, PC, and Roguelike Numpad
25#define NAV LT(4, KC_TAB) 41#define NAV LT(5, KC_ESC)
26#define NAVPC LT(5, KC_TAB) 42#define NAVPC LT(6, KC_ESC)
27 43#define NAVQUD MO(7)
28// Layer shorthand 44
29#define _COLEMAK 0 45enum custom_layer {
30#define _PC 1 46 _COLEMAK,
31#define _GAME 2 // Gaming layer 47 _PC,
32#define _SYMBOL 3 // Function keys, numbers, symbols, Backlighting 48 _GAME, // Gaming layer
33#define _NAV 4 // Navigation Layer on Mac 49 _QUD,3 // Roguelike layer
34#define _NAVPC 5 // Navigation Layer on Win 50 _SYMBOL, // Function keys, numbers, symbols, Backlighting
51 _NAV, // Navigation Layer on Mac
52 _NAVPC, // Navigation Layer on Win
53 _NAVQUD, // Numpad for Roguelike 8-directional movement
54}
35 55
36// tapdance declarations 56// tapdance declarations
37enum { 57enum {
@@ -58,29 +78,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 */ 78 */
59 79
60 [_COLEMAK] = LAYOUT_ortho_5x15( /* COLEMAK */ 80 [_COLEMAK] = LAYOUT_ortho_5x15( /* COLEMAK */
61 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, TG(1) , KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 81 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, TO(1) , KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
62 KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, 82 KC_TAB , KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
63 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_ESC , KC_ENT , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 83 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
64 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , KC_ENT , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt , 84 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , GTAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt,
65 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, BS_GUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(3) , KC_RGUI, KC_RALT, KC_RCTL, BL_STEP 85 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LCTL, BSGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, BL_STEP
66 ), 86 ),
67 87
68// Windows Layer: essentially swaps Control and GUI 88// Linux/Windows Layer: essentially swaps Control and GUI
69 89
70 [_PC] = LAYOUT_ortho_5x15( /* WINDOWS */ 90 [_PC] = LAYOUT_ortho_5x15( /* WINDOWS */
71 _______, _______, _______, _______, _______, _______, _______, TG(2) , _______, _______, _______, _______, _______, _______, _______, 91 _______, _______, _______, _______, _______, _______, _______, TO(2) , _______, _______, _______, _______, _______, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 NAVPC , _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 _______, KC_LCTL, KC_LGUI, _______, KC_LCTL, BS_CTL , _______, _______, _______, _______, _______, KC_RCTL, KC_RALT, KC_RGUI, _______ 93 NAVPC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______, ATAB , _______, _______, _______, _______, _______, _______,
95 _______, KC_PSCR, KC_LGUI, _______, KC_LGUI, BSCTL , _______, _______, _______, _______, _______, KC_RCTL, _______, KC_RGUI, _______
76 ), 96 ),
77 97
78 [_GAME] = LAYOUT_ortho_5x15( /* Gaming Layer */ 98 [_GAME] = LAYOUT_ortho_5x15( /* Gaming Layer */
79 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, TO(0) , 99 _______, _______, _______, _______, _______, _______, _______, TO(0) , _______, _______, _______, _______, _______, _______, TO(3) ,
80 KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_F7 , KC_F8 , KC_F9 , KC_Y , KC_U , KC_I , KC_O , KC_P , _______, 100 KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_F7 , KC_F8 , KC_F9 , KC_Y , KC_U , KC_I , KC_O , KC_P , _______,
81 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_F4 , KC_F5 , KC_F6 , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______, 101 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_F4 , KC_F5 , KC_F6 , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______,
82 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_F1 , KC_F2 , KC_F3 , KC_N , KC_M , _______, _______, _______, KC_ENT , 102 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_F1 , KC_F2 , KC_F3 , KC_N , KC_M , _______, _______, _______, KC_ENT ,
83 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , KC_M , _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______ 103 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , KC_M , ATAB , _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______
104 ),
105
106 [_QUD] = LAYOUT_ortho_5x15( /* Roguelike Layer */
107 _______, _______, _______, _______, _______, _______, _______,KC_PSLS, KC_PAST, _______, _______, _______, _______, _______, TO(0),
108 KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
109 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
110 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , ATAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
111 KC_DEL , KC_LGUI, KC_LGUI, KC_LALT, KC_LCTL, TO(7), KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, _______
84 ), 112 ),
85 113
86/* SYMBOL 114/* SYMBOL
@@ -101,25 +129,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
101 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , _______, _______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , 129 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , _______, _______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
102 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 130 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
103 _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 131 _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
104 _______, KC_HOME, KC_END , BL_OFF , BL_ON , KC_F11 , _______, _______, _______, KC_F12 , KC_MINS, _______, _______, _______, _______, 132 _______, KC_HOME, KC_END , BL_OFF , BL_ON , KC_VOLD, _______, _______, _______, KC_VOLU, KC_MINS, _______, _______, _______, _______,
105 _______, _______, _______, _______, _______, A_BSPC , _______, _______, _______, _______, _______, _______, _______, _______, _______ 133 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
106 ), 134 ),
107 135
108 136
109 [_NAV] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */ 137 [_NAV] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 138 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______, 139 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , ALEFT , KC_UP , ARGHT , KC_DEL , _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______, 140 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END , G_GRV , _______, 141 _______, _______, _______, _______, _______, _______, _______, _______, _______, GTAB , ABSPC , KC_HOME, KC_END , GGRV , _______,
114 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 142 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
115 ), 143 ),
116 144
117 [_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR WINDOWS: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/ 145 [_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR PC: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 146 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, C_TAB , C_LEFT, KC_UP, C_RGHT , KC_DEL , _______, 147 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
120 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______, 148 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, A_TAB , C_BSPC , KC_HOME, KC_END , _______, _______, 149 _______, _______, _______, _______, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END , _______, _______,
122 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 150 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
151 ),
152
153 [_NAVQUD] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, _______, _______,
155 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______,
156 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_2, KC_KP_6, KC_PPLS, _______,
157 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_5, KC_KP_3, _______, _______,
158 _______, _______, _______, _______, _______, TO(3), _______, _______, _______, _______, KC_KP_0, KC_PDOT, _______, _______, _______
123 ) 159 )
124}; 160};
125 161
diff --git a/keyboards/xd75/keymaps/davidrambo/readme.md b/keyboards/xd75/keymaps/davidrambo/readme.md
index a53abc8af..4199a5d80 100644
--- a/keyboards/xd75/keymaps/davidrambo/readme.md
+++ b/keyboards/xd75/keymaps/davidrambo/readme.md
@@ -1,7 +1,8 @@
1# XD75 1# XD75
2 2
3This is a Colemak layout for XD75 with both Mac and Windows layers. 3This is a Colemak layout for XD75 with both Mac and Linux/Windows layers.
4These two layers share momentary toggle access to a "Symbol" layer, which is modeled after my Planck layout (see planck/keymaps/davidrambo). 4These two layers share momentary toggle access to a "Symbol" layer, which is modeled after my Planck layout (see planck/keymaps/davidrambo).
5Each of the base Colemak layers have their own Navigation layers for the right hand to use arrows and shortcuts for both text editing and web browsing. 5Each of the base Colemak layers have their own Navigation layers for the right hand to use arrows and shortcuts for both text editing and web browsing.
6It also has two layers used for games: one with a typical WASD orientation, another for playing Roguelikes that need a numpad.
6 7
7The rules.mk file overrides the XD75's "BACKLIGHT_ENABLE" with YES and also adds tap dance functionality. \ No newline at end of file 8The rules.mk file overrides the XD75's "BACKLIGHT_ENABLE" with YES and also adds tap dance functionality.