diff options
Diffstat (limited to 'keyboards/ibnuda')
57 files changed, 2462 insertions, 0 deletions
diff --git a/keyboards/ibnuda/alicia_cook/alicia_cook.c b/keyboards/ibnuda/alicia_cook/alicia_cook.c new file mode 100644 index 0000000000..39f17e4a7d --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/alicia_cook.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Ibnu D. Aji + * + * 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 "alicia_cook.h" diff --git a/keyboards/ibnuda/alicia_cook/alicia_cook.h b/keyboards/ibnuda/alicia_cook/alicia_cook.h new file mode 100644 index 0000000000..35c803b3ae --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/alicia_cook.h @@ -0,0 +1,41 @@ +/* Copyright 2021 Ibnu D. Aji + * + * 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 + +#include "quantum.h" + +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k33, k34, k35, k36, k37, k38, k3b, k3c \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c }, \ + { k30, k31, XXX, k33, k34, k35, k36, k37, k38, XXX, XXX, k3b, k3c } \ +} diff --git a/keyboards/ibnuda/alicia_cook/config.h b/keyboards/ibnuda/alicia_cook/config.h new file mode 100644 index 0000000000..28db5f3420 --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Ibnu D. Aji + +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 + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6955 +#define DEVICE_VER 0x0899 +#define MANUFACTURER Ibnu D. Aji +#define PRODUCT Alicia Cook + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D2, D3, F4, F5 } +#define MATRIX_COL_PINS { B5, F6, F7, B1, B3, B2, B4, E6, D7, C6, D4, D0, D1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/ibnuda/alicia_cook/info.json b/keyboards/ibnuda/alicia_cook/info.json new file mode 100644 index 0000000000..c07be77190 --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/info.json @@ -0,0 +1,62 @@ +{ + "keyboard_name": "Alicia Cook", + "url": "https://github.com/ibnuda/alicia-cook", + "maintainer": "ibnuda", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0,"y":0}, + {"x":1,"y":0}, + {"x":2,"y":0}, + {"x":3,"y":0}, + {"x":4,"y":0}, + {"x":5,"y":0}, + {"x":7,"y":0}, + {"x":8,"y":0}, + {"x":9,"y":0}, + {"x":10,"y":0}, + {"x":11,"y":0}, + {"x":12,"y":0}, + {"x":13,"y":0}, + + {"x":0,"y":1,"w":1.25}, + {"x":1.25,"y":1}, + {"x":2.25,"y":1}, + {"x":3.25,"y":1}, + {"x":4.25,"y":1}, + {"x":5.25,"y":1}, + {"x":7.25,"y":1}, + {"x":8.25,"y":1}, + {"x":9.25,"y":1}, + {"x":10.25,"y":1}, + {"x":11.25,"y":1}, + {"x":12.25,"y":1,"w":1.75}, + + {"x":0,"y":2,"w":1.75}, + {"x":1.75,"y":2}, + {"x":2.75,"y":2}, + {"x":3.75,"y":2}, + {"x":4.75,"y":2}, + {"x":5.75,"y":2}, + {"x":6.75,"y":2}, + {"x":7.75,"y":2}, + {"x":8.75,"y":2}, + {"x":9.75,"y":2}, + {"x":10.75,"y":2}, + {"x":11.75,"y":2}, + {"x":12.75,"y":2,"w":1.25}, + + {"x":0,"y":3,"w":1.25}, + {"x":1.25,"y":3,"w":1.25}, + {"x":3.5,"y":3,"w":1.25}, + {"x":4.75,"y":3}, + {"x":5.75,"y":3}, + {"x":6.75,"y":3,"w":1.25}, + {"x":8,"y":3}, + {"x":9,"y":3,"w":1.25}, + {"x":11.5,"y":3,"w":1.25}, + {"x":12.75,"y":3,"w":1.25} + ] + } + } +} diff --git a/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c new file mode 100644 index 0000000000..c28967f381 --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +/* +Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com> + +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 + +#define LW_BSPC LT(2, KC_BSPC) +#define RS_SPC LT(1, KC_SPC) + +#define ALT_ENT ALT_T(KC_ENT) +#define SFT_ESC SFT_T(KC_ESC) + +// home row mods. +#define CT_S RCTL_T(KC_S) +#define CT_L RCTL_T(KC_L) +#define SH_A RSFT_T(KC_A) +#define SH_SCLN RSFT_T(KC_SCLN) +#define AL_D RALT_T(KC_D) +#define AL_K RALT_T(KC_K) +#define GU_G RGUI_T(KC_G) +#define GU_H RGUI_T(KC_H) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_LCTL,SH_A, CT_S, AL_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_SCLN, + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1), + KC_LGUI,KC_LALT, KC_LGUI,LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC, KC_LALT, KC_RGUI,KC_RCTL + ), + [1] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC, + KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN, + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(2), + KC_LGUI,KC_LALT, KC_LGUI,LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC, KC_LALT, KC_RGUI,KC_RCTL + ), + [2] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, + KC_LCTL,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_SCLN, + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, RESET, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,MO(1), + KC_LGUI,KC_LALT, KC_LGUI,LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC, KC_LALT, KC_RGUI,KC_RCTL + ), +}; diff --git a/keyboards/ibnuda/alicia_cook/keymaps/default/readme.md b/keyboards/ibnuda/alicia_cook/keymaps/default/readme.md new file mode 100644 index 0000000000..18f516f6fb --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for alicia_cook diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h b/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h new file mode 100644 index 0000000000..fc9cdfe786 --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/keymaps/rick/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Ibnu D. Aji + * + * 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 + +#define COMBO_TERM 50 +#define COMBO_COUNT 50 +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD +#define TAPPING_TERM 175 +#define TAPPING_TERM 175 diff --git a/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c new file mode 100644 index 0000000000..35e0e1db97 --- /dev/null +++ b/keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c @@ -0,0 +1,246 @@ +/* Copyright 2021 Ibnu D. Aji + * + * 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 +#ifdef CONSOLE_ENABLE +#include "print.h" +#endif + +// enum for combos. +enum combos { + // left hand combinations. + L_U_PINKY_RING, + L_U_RING_MIDDLE, + L_U_RING_INDEX, + L_U_MIDDLE_INDEX, + L_U_MIDDLE_INNER_INDEX, + L_U_INDEX_INNER_INDEX, + L_L_PINKY_RING, + L_L_RING_MIDDLE, + L_L_RING_INDEX, + L_L_MIDDLE_INDEX, + L_L_INDEX_INNER_INDEX, + + L_U_RING_MIDDLE_INDEX, + L_L_RING_MIDDLE_INDEX, + + // right hand combinations. + R_U_PINKY_RING, + R_U_RING_MIDDLE, + R_U_RING_INDEX, + R_U_MIDDLE_INDEX, + R_U_MIDDLE_INNER_INDEX, + R_U_INNER_INNER_INDEX, + R_L_PINKY_RING, + R_L_RING_MIDDLE, + R_L_MIDDLE_INDEX, + R_L_RING_INDEX, + R_L_INDEX_INNER_INDEX, + + R_U_RING_MIDDLE_INDEX, + R_L_RING_MIDDLE_INDEX, + + // both hands combinations. + B_L_MIDDLE_MIDDLE, +}; + +enum { + _BASE, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, +}; + +// keycode abstraction +#define LUP KC_Q +#define LUR KC_V +#define LUM KC_C +#define LUI KC_P +#define LUII KC_B +#define LMP KC_R +#define LMR KC_S +#define LMM KC_T +#define LMI KC_H +#define LMII KC_D +#define LLP KC_QUOT +#define LLR KC_J +#define LLM KC_G +#define LLI KC_K +#define LLII KC_X + +#define RUP KC_Z +#define RUR KC_Y +#define RUM KC_U +#define RUI KC_L +#define RUII KC_DOT +#define RMP KC_O +#define RMR KC_I +#define RMM KC_A +#define RMI KC_N +#define RMII KC_F +#define RLP KC_SLSH +#define RLR KC_COMM +#define RLM KC_W +#define RLI KC_M +#define RLII KC_SCLN + +// thumb keys. +#define TRAISE TG(_RAISE) +#define AL_ENT ALT_T(KC_ENT) +#define SF_BSPC SFT_T(KC_BSPC) +#define CT_ESC CTL_T(KC_ESC) + +// home row mods. +#define CTLR LCTL_T(LMR) +#define CTRR RCTL_T(RMR) +#define CT_LEFT LCTL_T(KC_LEFT) +#define CT_SIX RCTL_T(KC_6) + +#define SHLP LSFT_T(LMP) +#define SHRP RSFT_T(RMP) +#define SH_HASH LSFT_T(KC_HASH) +#define SH_ZERO RSFT_T(KC_0) + +#define ALLM LALT_T(LMM) +#define ALRM RALT_T(RMM) +#define AL_DOWN LALT_T(KC_DOWN) +#define AL_FIVE RALT_T(KC_5) + +#define GULII RGUI_T(LMII) +#define GURII LGUI_T(RMII) +#define GU_DLR RGUI_T(KC_DLR) +#define GU_EQL LGUI_T(KC_EQL) + +// layer toggle. +#define LW_E LT(_LOWER, KC_E) +#define RS_SPC LT(_RAISE, KC_SPC) +#define LW_RMI LT(_LOWER, RMI) +#define RS_LMI LT(_RAISE, LMI) + +// idk, man. not used, i guess. +#define ADDDD MO(_ADJUST) + +// common shortcuts for windows and linux that i use. +#define NXTTAB LCTL(KC_PGDN) +#define PRVTAB LCTL(KC_PGUP) +#define UPTAB LCTL(LSFT(KC_PGUP)) +#define DNTAB LCTL(LSFT(KC_PGDN)) +#define NXTWIN LALT(KC_TAB) +#define PRVWIN LALT(LSFT(KC_TAB)) +#define CALDL LCTL(LALT(KC_DELT)) +#define TSKMGR LCTL(LSFT(KC_ESC)) +#define EXPLR LGUI(KC_E) +#define LCKGUI LGUI(KC_L) +#define CONPST LSFT(KC_INS) +#define CLSGUI LALT(KC_F4) + +// left hand combinations. +const uint16_t PROGMEM lu_p_r_combo[] = {LUP, LUR, COMBO_END}; +const uint16_t PROGMEM lu_r_m_combo[] = {LUR, LUM, COMBO_END}; +const uint16_t PROGMEM lu_r_i_combo[] = {LUR, LUI, COMBO_END}; +const uint16_t PROGMEM lu_m_i_combo[] = {LUM, LUI, COMBO_END}; +const uint16_t PROGMEM lu_m_ii_combo[] = {LUM, LUII, COMBO_END}; +const uint16_t PROGMEM lu_i_ii_combo[] = {LUI, LUII, COMBO_END}; +const uint16_t PROGMEM ll_p_r_combo[] = {LLP, LLR, COMBO_END}; +const uint16_t PROGMEM ll_r_m_combo[] = {LLR, LLM, COMBO_END}; +const uint16_t PROGMEM ll_r_i_combo[] = {LLR, LLI, COMBO_END}; +const uint16_t PROGMEM ll_m_i_combo[] = {LLM, LLI, COMBO_END}; +const uint16_t PROGMEM ll_i_ii_combo[] = {LLI, LLII, COMBO_END}; + +const uint16_t PROGMEM lu_r_m_i_combo[] = {LUR, LUM, LUI, COMBO_END}; +const uint16_t PROGMEM ll_r_m_i_combo[] = {LLR, LLM, LLI, COMBO_END}; + +// right hand combinations. +const uint16_t PROGMEM ru_p_r_combo[] = {RUP, RUR, COMBO_END}; +const uint16_t PROGMEM ru_r_m_combo[] = {RUR, RUM, COMBO_END}; +const uint16_t PROGMEM ru_r_i_combo[] = {RUR, RUI, COMBO_END}; +const uint16_t PROGMEM ru_m_i_combo[] = {RUM, RUI, COMBO_END}; +const uint16_t PROGMEM ru_m_ii_combo[] = {RUM, RUII, COMBO_END}; +const uint16_t PROGMEM ru_i_ii_combo[] = {RUI, RUII, COMBO_END}; +const uint16_t PROGMEM rl_p_r_combo[] = {RLP, RLR, COMBO_END}; +const uint16_t PROGMEM rl_r_m_combo[] = {RLR, RLM, COMBO_END}; +const uint16_t PROGMEM rl_r_i_combo[] = {RLR, RLI, COMBO_END}; +const uint16_t PROGMEM rl_m_i_combo[] = {RLM, RLI, COMBO_END}; +const uint16_t PROGMEM rl_i_ii_combo[] = {RLI, RLII, COMBO_END}; + +const uint16_t PROGMEM ru_r_m_i_combo[] = {RUR, RUM, RUI, COMBO_END}; +const uint16_t PROGMEM rl_r_m_i_combo[] = {RLR, RLM, RLI, COMBO_END}; + +// both hand combinations. +const uint16_t PROGMEM bl_m_m_combo[] = {LLM, RLM, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + // left hand combinations. + [L_U_PINKY_RING] = COMBO(lu_p_r_combo, KC_TAB), + [L_U_RING_MIDDLE] = COMBO(lu_r_m_combo, KC_QUES), + [L_U_RING_INDEX] = COMBO(lu_r_i_combo, PRVTAB), + [L_U_MIDDLE_INDEX] = COMBO(lu_m_i_combo, KC_UNDS), + [L_U_MIDDLE_INNER_INDEX] = COMBO(lu_m_ii_combo, KC_ENT), + [L_U_INDEX_INNER_INDEX] = COMBO(lu_i_ii_combo, KC_PIPE), + [L_L_PINKY_RING] = COMBO(ll_p_r_combo, KC_ENT), + [L_L_RING_MIDDLE] = COMBO(ll_r_m_combo, LCTL(KC_W)), + [L_L_RING_INDEX] = COMBO(ll_r_i_combo, KC_TAB), + [L_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DELT), + [L_L_INDEX_INNER_INDEX] = COMBO(ll_i_ii_combo, KC_TILD), + + [L_U_RING_MIDDLE_INDEX] = COMBO(lu_r_m_i_combo, KC_PIPE), + [L_L_RING_MIDDLE_INDEX] = COMBO(ll_r_m_i_combo, KC_TILD), + + // right hand combinations. + [R_U_PINKY_RING] = COMBO(ru_p_r_combo, KC_BSPC), + [R_U_RING_MIDDLE] = COMBO(ru_r_m_combo, KC_SLSH), + [R_U_RING_INDEX] = COMBO(ru_r_i_combo, NXTTAB), + [R_U_MIDDLE_INDEX] = COMBO(ru_m_i_combo, KC_MINS), + [R_U_MIDDLE_INNER_INDEX] = COMBO(ru_m_ii_combo, KC_ENT), + [R_U_INNER_INNER_INDEX] = COMBO(ru_i_ii_combo, KC_BSLS), + [R_L_PINKY_RING] = COMBO(rl_p_r_combo, KC_BSLS), + [R_L_RING_MIDDLE] = COMBO(rl_r_m_combo, KC_APP), + [R_L_RING_INDEX] = COMBO(rl_r_i_combo, LSFT(KC_TAB)), + [R_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DELT), + [R_L_INDEX_INNER_INDEX] = COMBO(rl_i_ii_combo, KC_GRV), + + [R_U_RING_MIDDLE_INDEX] = COMBO(ru_r_m_i_combo, KC_BSLS), + [R_L_RING_MIDDLE_INDEX] = COMBO(rl_r_m_i_combo, KC_GRV), + + // both hand combinations. + [B_L_MIDDLE_MIDDLE] = COMBO(bl_m_m_combo, KC_ENT), +}; +const uint16 |