aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-07 23:34:13 +0000
committerQMK Bot <hello@qmk.fm>2021-03-07 23:34:13 +0000
commit7d45b7f269ddcfc1b33a55d8fed77bdfbf81ba8b (patch)
tree2340ac4ce86c2f1fa59c1c0d390ded642112f7f3
parent43b47495e333a640903c029a35defda5b000502f (diff)
parent2aa38f5bd339b206b01963110d4c068bbe0f64bf (diff)
downloadqmk_firmware-7d45b7f269ddcfc1b33a55d8fed77bdfbf81ba8b.tar.gz
qmk_firmware-7d45b7f269ddcfc1b33a55d8fed77bdfbf81ba8b.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/crkbd/keymaps/armand1m/config.h48
-rw-r--r--keyboards/crkbd/keymaps/armand1m/keymap.c125
-rw-r--r--keyboards/crkbd/keymaps/armand1m/readme.md35
-rw-r--r--keyboards/crkbd/keymaps/armand1m/rules.mk1
4 files changed, 209 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h
new file mode 100644
index 000000000..df109a347
--- /dev/null
+++ b/keyboards/crkbd/keymaps/armand1m/config.h
@@ -0,0 +1,48 @@
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 USE_SERIAL_PD2
32
33// #define TAPPING_FORCE_HOLD
34// #define PERMISSIVE_HOLD
35#define TAPPING_TERM 300
36#define IGNORE_MOD_TAP_INTERRUPT
37
38#ifdef RGBLIGHT_ENABLE
39 #undef RGBLED_NUM
40 #define RGBLIGHT_ANIMATIONS
41 #define RGBLED_NUM 27
42 #define RGBLIGHT_LIMIT_VAL 120
43 #define RGBLIGHT_HUE_STEP 10
44 #define RGBLIGHT_SAT_STEP 17
45 #define RGBLIGHT_VAL_STEP 17
46#endif
47
48#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
diff --git a/keyboards/crkbd/keymaps/armand1m/keymap.c b/keyboards/crkbd/keymaps/armand1m/keymap.c
new file mode 100644
index 000000000..da68cc2de
--- /dev/null
+++ b/keyboards/crkbd/keymaps/armand1m/keymap.c
@@ -0,0 +1,125 @@
1/*
2Copyright 2019 @foostan
3Copyright 2020 Drashna Jaelre <@drashna>
4Copyright 2021 Armando Magalhaes <@armand1m>
5
6This program is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#include QMK_KEYBOARD_H
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 [0] = LAYOUT_split_3x6_3(
24 //,-----------------------------------------------------. ,-----------------------------------------------------.
25 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
26 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
27 LT(1, KC_ESC), LT(2, KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
28 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
29 KC_LSFT, MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), KC_RSFT,
30 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
31 KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), LT(2, KC_BSPC), KC_RALT
32 //`--------------------------' '--------------------------´
33 ),
34
35 [1] = LAYOUT_split_3x6_3(
36 //,-----------------------------------------------------. ,-----------------------------------------------------.
37 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
38 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
39 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, _______,
40 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
41 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
42 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
43 _______, _______, _______, _______, _______, _______
44 //`--------------------------' '--------------------------´
45 ),
46
47 [2] = LAYOUT_split_3x6_3(
48 //,-----------------------------------------------------. ,-----------------------------------------------------.
49 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
50 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
51 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
52 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
53 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
54 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
55 _______, _______, _______, _______, _______, _______
56 //`--------------------------' '--------------------------´
57 )
58};
59
60#ifdef OLED_DRIVER_ENABLE
61oled_rotation_t oled_init_user(oled_rotation_t rotation) {
62 if (!is_master) {
63 return OLED_ROTATION_180; // flips the display 180 degrees if offhand
64 }
65 return rotation;
66}
67
68void render_bootmagic_status(bool status) {
69 /* Show Ctrl-Gui Swap options */
70 static const char PROGMEM logo[][2][3] = {
71 {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
72 {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
73 };
74 if (status) {
75 oled_write_ln_P(logo[0][0], false);
76 oled_write_ln_P(logo[0][1], false);
77 } else {
78 oled_write_ln_P(logo[1][0], false);
79 oled_write_ln_P(logo[1][1], false);
80 }
81}
82
83void oled_render_amsterdam_flag(void) {
84 // 'Flag_of_Amsterdam', 128x32px
85 static const char PROGMEM amsterdam_flag[] = {
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00,
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80,
90 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0,
92 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0,
93 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff,
96 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00,
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff,
98 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff,
100 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03,
101 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
103 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f,
104 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00,
105 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff,
106 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80,
107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff,
108 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0,
109 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00,
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00,
113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00,
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01,
115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03,
116 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03,
117 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
118 };
119 oled_write_raw_P(amsterdam_flag, sizeof(amsterdam_flag));
120}
121
122void oled_task_user(void) {
123 oled_render_amsterdam_flag();
124}
125#endif // OLED_DRIVER_ENABLE
diff --git a/keyboards/crkbd/keymaps/armand1m/readme.md b/keyboards/crkbd/keymaps/armand1m/readme.md
new file mode 100644
index 000000000..11479263b
--- /dev/null
+++ b/keyboards/crkbd/keymaps/armand1m/readme.md
@@ -0,0 +1,35 @@
1# armand1m crkbd layout
2
3This is the personal layout for [@armand1m](https://github.com/armand1m)
4
5This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage.
6
7As of the date of this writing, my environment runs OS X Big Sur with yabai and skhd to provide an window tiling management experience similar to what i3wm offers to Linux, which means that I often use the `alt` keys.
8
9I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd.
10
11## Usage
12
13In case you have `qmk` installed:
14
15```sh
16qmk compile -kb crkbd -km armand1m
17```
18
19The compiled .hex file should be available in `qmk_firmware/.build`
20
21You can also trigger a build and flash automatically by running the following command:
22
23```sh
24qmk flash -kb crkbd -km armand1m
25```
26
27If you built your crkbd with an Elite-C microcontroller, you probably want to use a DFU bootloader:
28
29```sh
30qmk flash -kb crkbd -km armand1m -bl dfu
31```
32
33## Credits
34
35 - Armando Magalhaes [(github)](https://go.d1m.dev/github)
diff --git a/keyboards/crkbd/keymaps/armand1m/rules.mk b/keyboards/crkbd/keymaps/armand1m/rules.mk
new file mode 100644
index 000000000..9444b88d5
--- /dev/null
+++ b/keyboards/crkbd/keymaps/armand1m/rules.mk
@@ -0,0 +1 @@
OLED_DRIVER_ENABLE = yes