summaryrefslogtreecommitdiff
path: root/keyboards/splitkb/kyria
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/kyria')
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/config.h32
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c109
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md32
-rw-r--r--keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk30
-rw-r--r--keyboards/splitkb/kyria/rev1/rules.mk1
5 files changed, 203 insertions, 1 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h b/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h
new file mode 100644
index 0000000000..b7b883d3bd
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2021 Batuhan Başerdem
+ * <baserdem.batuhan@gmail.com> @bbaserdem
+ *
+ * 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
+
+// Kyria specific
+#ifdef KEYBOARD_splitkb_kyria_rev1
+ // Split definition; use the following to flash;
+ // pro-micro: avrdude-split-left/right
+ // elite-c: dfu-split-left/right
+# define ENCODER_DIRECTION_FLIP
+# define EE_HANDS
+
+ // Make sure kyria has bigger oled display
+# ifdef OLED_ENABLE
+# define OLED_DISPLAY_128X64
+# endif
+#endif
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c
new file mode 100644
index 0000000000..d3720ea764
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/keymap.c
@@ -0,0 +1,109 @@
+/* Copyright 2021 Batuhan Başerdem
+ * <baserdem.batuhan@gmail.com> @bbaserdem
+ *
+ * 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 "bbaserdem.h"
+
+#define LAYOUT_split_3x6_5_wrapper(...) LAYOUT_split_3x6_5(__VA_ARGS__)
+
+/* F layout
+ * ┌───┬───┬───┬───┬───┬───┐        ┌───┬───┬───┬───┬───┬───┐
+ * │ W │ F │ G │ Ğ │ I │ O │        │ D │ R │ N │ H │ P │ Q │
+ * ├───┼───┼───┼───┼───┼───┤        ├───┼───┼───┼───┼───┼───┤
+ * │ X │ A │ S │ D │ F │ G │        │ T │ K │ M │ L │ Y │ Ş │
+ * ├───┼───┼───┼───┼───┼───┼───┬───┐ ┌───┬───┼───┼───┼───┼───┼───┼───┤
+ * │* +│ J │ Ö │ V │ C │ Ç │   │   │ │   │   │ Z │ S │ B │. :│, ;│< >│
+ * └───┴───┴───┼───┼───┼───┤Esc│Shf│ │Shf│Del├───┼───┼───┼───┴───┴───┘
+ *             │En1│Tab│Ent│ │ │ │ │ │Spc│Bsp│En2│
+ *             └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_split_3x6_5_wrapper(
+ _BL1_1_,_BL1_5_, _BR1_5_,_BR1_1_,
+ _BL2_1_,_BL2_5_, _BR2_5_,_BR2_1_,
+ _BL3_1_,_BL3_5_,xxx2xxx,xxx2xxx,_BR3_5_,_BR3_1_,
+ BB_ENC0, _BL4_3_,KC_LSFT,KC_RSFT,_BR4_3_,BB_ENC1
+ ),
+ [_CHAR] = LAYOUT_split_3x6_5_wrapper(
+ XXXXXXX,_CL1_5_, _CR1_5_,XXXXXXX,
+ XXXXXXX,_CL2_5_, _CR2_5_,XXXXXXX,
+ XXXXXXX,_CL3_5_,xxx2xxx,xxx2xxx,_CR3_5_,XXXXXXX,
+ _______,_CL4_3_,_______,_______,_CR4_3_,_______
+ ),
+ [_GAME] = LAYOUT_split_3x6_5_wrapper(
+ _GA1_1_,_GA1_5_, ___5___,___1___,
+ _GA2_1_,_GA2_5_, ___5___,___1___,
+ _GA3_1_,_GA3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ _______,_GA4_3_,_______,_______,___3___,_______
+ ),
+ [_MEDI] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _ME1_5_,___1___,
+ ___1___,___5___, _ME2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_ME3_5_,___1___,
+ ___1___,___3___,_______,_______,_ME4_3_,___1___
+ ),
+ [_NAVI] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _NA1_5_,___1___,
+ ___1___,___5___, _NA2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_NA3_5_,___1___,
+ ___1___,___3___,_______,_______,_NA4_3_,___1___
+ ),
+ [_SYMB] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,___5___, _SY1_5_,___1___,
+ ___1___,___5___, _SY2_5_,___1___,
+ ___1___,___5___,xxx2xxx,xxx2xxx,_SY3_5_,___1___,
+ ___1___,___3___,_______,_______,_SY4_3_,___1___
+ ),
+ [_NUMB] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_NU1_5_, ___5___,___1___,
+ ___1___,_NU2_5_, ___5___,___1___,
+ ___1___,_NU3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_NU4_3_,_______,_______,___3___,___1___
+ ),
+ [_FUNC] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_FU1_5_, ___5___,___1___,
+ ___1___,_FU2_5_, ___5___,___1___,
+ ___1___,_FU3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_FU4_3_,_______,_______,___3___,___1___
+ ),
+ [_MOUS] = LAYOUT_split_3x6_5_wrapper(
+ ___1___,_MO1_5_, ___5___,___1___,
+ ___1___,_MO2_5_, ___5___,___1___,
+ ___1___,_MO3_5_,xxx2xxx,xxx2xxx,___5___,___1___,
+ ___1___,_MO4_3_,_______,_______,___3___,___1___
+ ),
+ [_MUSI] = LAYOUT_split_3x6_5_wrapper(
+ _MU_12_,_MU_12_,
+ _MU_06_,xxx2xxx,xxx2xxx,_MU_06_,
+ MU_TOG,_MUL_3_,_MU_02_,_MUR_3_,___1___
+ )
+};
+
+#ifdef KEYBOARD_splitkb_kyria_rev1 // Kyria specific code
+#ifdef OLED_ENABLE // Kyria's oled screen
+// Rotate the display on kyria
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+// For kyria; print logo, and allow default status printing
+bool oled_task_keymap(void) {
+ render_qmk_logo(0, 0);
+ render_status_lite(4, 0);
+ return false;
+}
+#endif //OLED_ENABLE
+#endif //KEYBOARD_splitkb_kyria_rev1
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md b/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md
new file mode 100644
index 0000000000..6381612978
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/readme.md
@@ -0,0 +1,32 @@
+This folder contains my Kyria (`split_3x6_5`) board layout.
+Check out the [user readme](../../../../../users/bbaserdem/readme.md) for more info.
+
+# Kyria
+
+I use a rev 1.3 PCB as a daily driver.
+
+## Hardware
+
+* Using a modified High-profile case; with metal switch plate.
+* Currently using a Pro-Micro and an Elite-C as microcontrollers.
+* Using Gateron Silent Black Ink with Progressive springs (100g), lubed.
+* Have mill-max sockets for hotswap feature.
+* All microcontrollers and OLED's are socketed for easy removal.
+
+## Features
+
+* Use two thumb keys in the 2u layout.
+* Have rotary encoders in the outermost keys of the thumb cluster.
+* Have underglow leds soldered.
+
+## Issues
+
+* Stabilizers squiek, and need lubing.
+* The double tap buttons (home row; left leader the most) don't contact well.
+
+## Todo
+
+* Switch to Proton C conversion with a game plan.
+* Lube stabilizers.
+* Get tenting puck.
+* (Not depending on me) migrate this code to layouts.
diff --git a/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk b/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk
new file mode 100644
index 0000000000..21013120e6
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/bbaserdem/rules.mk
@@ -0,0 +1,30 @@
+# Copyright 2021 Batuhan Başerdem
+# <baserdem.batuhan@gmail.com> @bbaserdem
+#
+# 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/>.
+
+# Kyria hardware
+ifneq (,$(findstring splitkb/kyria/rev1,$(KEYBOARD)))
+ # Elective features
+ ENCODER_ENABLE = yes
+ OLED_ENABLE = yes
+ # Nonexistent features
+ AUDIO_ENABLE = no
+ BACKLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = no
+ # Space savers
+ NKRO_ENABLE = no
+ VELOCIKEY_ENABLE = no
+ WPM_ENABLE = no
+endif
diff --git a/keyboards/splitkb/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk
index cc2cbba604..e7d6763fcd 100644
--- a/keyboards/splitkb/kyria/rev1/rules.mk
+++ b/keyboards/splitkb/kyria/rev1/rules.mk
@@ -1,5 +1,4 @@
OLED_ENABLE = yes
-OLED_DRIVER = SSD1306 # Enables the use of OLED displays
ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)