aboutsummaryrefslogtreecommitdiff
path: root/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'qmk/keyboards/sofle_choc/keymaps/custom/keymap.c')
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/keymap.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
new file mode 100644
index 0000000..fb1ba89
--- /dev/null
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2023 Brian Low
+ *
+ * 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/>.
+ */
+#include QMK_KEYBOARD_H
+#include "keymap_bepo.h"
+#include "keycodes.h"
+
+
+#define LY_SYMBOL TD(TD_LAYER_SYMB)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ * BÉPO
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ° |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ESC | B | É | P | O | È | | ! | V | D | L | J | Z |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | A | U | I | EÈ | ; |-------. ,-------| CÇ | T | S | R | N | M |
+ * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------|
+ * |LShift| À | Y | X | : | K |-------| |-------| ? | Q | G | H | F | W |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LCTL | LGUI | LCMD | Layer| / Space / \Enter \ | Layer| RCMD | RGUI | RCTL |
+ * | | | | dwn |/ LALT / \ RALT \ | up | | | |
+ * `-----------------------------------' '------''---------------------------'
+ */
+
+[_BASE] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KEY_PRC,
+ BP_DLR, BP_B, BP_EACU, BP_P, BP_O, KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
+ KC_TAB, BP_A, BP_U, BP_I, KEY_E, BP_COMM, KEY_C, KEY_T, BP_S, BP_R, BP_N, BP_M,
+ LT_SFT, BP_AGRV,BP_Y, BP_X, BP_DOT, KC_B, KC_MUTE, KC_MPLY,BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KEY_W,
+ KC_LCTL, KC_LGUI, KC_BSPC, LY_SYMBOL,AL_SPC, AL_ENT, LY_SYMBOL,MENU, KEY_INS, KC_RCTL
+),
+
+// In the number layout, I keep the mod-tap modifiers applies to the middle letters :
+//
+#define KEY_5 MT(MOD_LCTL, KC_P5)
+#define KEY_DOWN MT(MOD_RCTL, KC_DOWN)
+
+[LAYER_SYMBOLS] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, S(BP_EQL),
+ KC_TAB, KC_NO, KC_NO, KC_P4, KEY_5, KC_P6, KC_LEFT, KEY_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO,
+ LT_SFT, KC_NO, KC_P0, KC_P1, KC_P2, KC_P3, KC_MUTE, KC_MPLY,KC_PGUP, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_RIGHT_SHIFT,
+ KC_LCTL, KC_LGUI, KC_BSPC, LY_SYMBOL,AL_SPC, AL_ENT, LY_SYMBOL,KC_NO, KC_RGUI, KC_RCTL
+),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
+ [LAYER_SYMBOLS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
+};
+#endif