diff options
author | Rasmus Schults <rasmusx@gmail.com> | 2017-12-10 21:54:50 +0200 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-12-10 15:17:00 -0500 |
commit | 7c5428b56dbaa97993bef80605d00fff31bf0b77 (patch) | |
tree | c5e2817d083f41dd7d0521d8b6ec405207363f1d | |
parent | d9983082c2c92bc7d612cb50297d0f61854d3c36 (diff) | |
download | qmk_firmware-7c5428b56dbaa97993bef80605d00fff31bf0b77.tar.gz qmk_firmware-7c5428b56dbaa97993bef80605d00fff31bf0b77.zip |
Add rasmus keymap and fix default keymap readme
-rw-r--r-- | keyboards/lightsaver/keymaps/default/readme.md | 8 | ||||
-rw-r--r-- | keyboards/lightsaver/keymaps/rasmus/config.h | 8 | ||||
-rw-r--r-- | keyboards/lightsaver/keymaps/rasmus/keymap.c | 105 | ||||
-rw-r--r-- | keyboards/lightsaver/keymaps/rasmus/readme.md | 12 | ||||
-rw-r--r-- | keyboards/lightsaver/keymaps/rasmus/rules.mk | 2 |
5 files changed, 132 insertions, 3 deletions
diff --git a/keyboards/lightsaver/keymaps/default/readme.md b/keyboards/lightsaver/keymaps/default/readme.md index 3e02a29cf..06f9aac5a 100644 --- a/keyboards/lightsaver/keymaps/default/readme.md +++ b/keyboards/lightsaver/keymaps/default/readme.md | |||
@@ -1,9 +1,11 @@ | |||
1 |  | 1 |  |
2 | 2 | ||
3 | # Default Lightsaver Layout | 3 | # Default Lightsaver Layout |
4 | 4 | ||
5 | This is the default implement layout for Duck Lightsaver V3. | 5 | This is the default implement layout for Duck Lightsaver V3. |
6 | 6 | ||
7 | ## FN layer | ||
8 | 7 | ||
9 |  | 8 | ## Features |
9 | |||
10 | * Default QWERTY layer | ||
11 | * FN layer - Control RGB underglow and backlight. HJKL Vim style movement. | ||
diff --git a/keyboards/lightsaver/keymaps/rasmus/config.h b/keyboards/lightsaver/keymaps/rasmus/config.h new file mode 100644 index 000000000..f2b5d264e --- /dev/null +++ b/keyboards/lightsaver/keymaps/rasmus/config.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef CONFIG_USER_H | ||
2 | #define CONFIG_USER_H | ||
3 | |||
4 | #include "../../config.h" | ||
5 | |||
6 | #define FORCE_NKRO | ||
7 | |||
8 | #endif | ||
diff --git a/keyboards/lightsaver/keymaps/rasmus/keymap.c b/keyboards/lightsaver/keymaps/rasmus/keymap.c new file mode 100644 index 000000000..acdfe9394 --- /dev/null +++ b/keyboards/lightsaver/keymaps/rasmus/keymap.c | |||
@@ -0,0 +1,105 @@ | |||
1 | /* Copyright 2017 Rasmus Schults <rasmus.schults@gmail.com> | ||
2 | * | ||
3 | * | ||
4 | * This program is free software: you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation, either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | #include "lightsaver.h" | ||
18 | |||
19 | #define KC_F1GL TD(TD_F1_GAME) | ||
20 | #define KC_CLFN TD(TD_CAPS_FN) | ||
21 | |||
22 | enum custom_layers { | ||
23 | BASE, // Base QWERTY layer | ||
24 | GAME, // Gaming layer | ||
25 | FN = 5, // Function layer | ||
26 | }; | ||
27 | |||
28 | //Tap Dance Declarations | ||
29 | enum { | ||
30 | TD_F1_BASE, | ||
31 | TD_F1_GAME, | ||
32 | TD_CAPS_FN | ||
33 | }; | ||
34 | |||
35 | //Tap Dance Definitions | ||
36 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
37 | [TD_F1_GAME] = ACTION_TAP_DANCE_DUAL_ROLE(KC_F1, GAME), | ||
38 | [TD_CAPS_FN] = ACTION_TAP_DANCE_DUAL_ROLE(KC_CAPS, 5) | ||
39 | }; | ||
40 | |||
41 | enum macro_id { | ||
42 | SHRG, | ||
43 | }; | ||
44 | |||
45 | #define TYPE_SHRUG MACRO( \ | ||
46 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
47 | T(0), T(0), T(A), T(F), \ | ||
48 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
49 | T(0), T(0), T(5), T(C), \ | ||
50 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
51 | T(0), T(0), T(5), T(F), \ | ||
52 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
53 | T(0), T(0), T(2), T(8), \ | ||
54 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
55 | T(3), T(0), T(C), T(4), \ | ||
56 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
57 | T(0), T(0), T(2), T(9), \ | ||
58 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
59 | T(0), T(0), T(5), T(F), \ | ||
60 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
61 | T(0), T(0), T(2), T(F), \ | ||
62 | D(LCTRL), D(LSHIFT), T(U), U(LCTRL), U(LSHIFT), \ | ||
63 | T(0), T(0), T(A), T(F), \ | ||
64 | T(SPACE), END \ | ||
65 | ) | ||
66 | |||
67 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
68 | [BASE] = KEYMAP(\ | ||
69 | KC_ESC, KC_F1GL, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NLCK, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, \ | ||
70 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_PAST, \ | ||
71 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \ | ||
72 | MO(FN), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \ | ||
73 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ | ||
74 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), \ | ||
75 | |||
76 | [GAME] = KEYMAP(\ | ||
77 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LOCK, _______, _______, _______, _______, _______, \ | ||
78 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
79 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
80 | KC_CLFN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
81 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
82 | _______, KC_LGUI, KC_LALT, _______, KC_RALT, _______, _______, _______, _______, _______, _______ ), \ | ||
83 | |||
84 | [FN] = KEYMAP(\ | ||
85 | _______, M(SHRG), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_SLCK, RGB_TOG, RGB_MOD, _______, _______, \ | ||
86 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, \ | ||
87 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
88 | _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, \ | ||
89 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \ | ||
90 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), \ | ||
91 | |||
92 | }; | ||
93 | |||
94 | const uint16_t PROGMEM fn_actions[] = { | ||
95 | }; | ||
96 | |||
97 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
98 | switch(id) { | ||
99 | case SHRG: | ||
100 | return (record->event.pressed ? TYPE_SHRUG : MACRO_NONE ); | ||
101 | break; | ||
102 | } | ||
103 | |||
104 | return MACRO_NONE; | ||
105 | }; | ||
diff --git a/keyboards/lightsaver/keymaps/rasmus/readme.md b/keyboards/lightsaver/keymaps/rasmus/readme.md new file mode 100644 index 000000000..7670145f7 --- /dev/null +++ b/keyboards/lightsaver/keymaps/rasmus/readme.md | |||
@@ -0,0 +1,12 @@ | |||
1 |  | ||
2 | |||
3 | # rasmusx's Lightsaver Layout | ||
4 | |||
5 | Custom keymap for Lightsaver. | ||
6 | |||
7 | |||
8 | ## Features | ||
9 | |||
10 | * Default layer has ALT/SUPER switched and FN key in Caps Lock place. | ||
11 | * FN layer - Control RGB underglow and backlight. HJKL Vim style movement. | ||
12 | * Game layer - ALT/SUPER in normal positions. FN behaviour: 1 tap Caps Lock, 2 taps FN | ||
diff --git a/keyboards/lightsaver/keymaps/rasmus/rules.mk b/keyboards/lightsaver/keymaps/rasmus/rules.mk new file mode 100644 index 000000000..3b11f9a9c --- /dev/null +++ b/keyboards/lightsaver/keymaps/rasmus/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | KEY_LOCK_ENABLE = yes | ||
2 | TAP_DANCE_ENABLE = yes | ||