[Keyboard] Add Alicia Cook keyboard (#11722)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: robby-hartana <robby@alumagubi.com>
This commit is contained in:
		
							
								
								
									
										17
									
								
								keyboards/alicia_cook/alicia_cook.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/alicia_cook/alicia_cook.c
									
									
									
									
									
										Normal file
									
								
							@@ -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"
 | 
			
		||||
							
								
								
									
										41
									
								
								keyboards/alicia_cook/alicia_cook.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								keyboards/alicia_cook/alicia_cook.h
									
									
									
									
									
										Normal file
									
								
							@@ -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 }  \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								keyboards/alicia_cook/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								keyboards/alicia_cook/config.h
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										62
									
								
								keyboards/alicia_cook/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								keyboards/alicia_cook/info.json
									
									
									
									
									
										Normal file
									
								
							@@ -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}
 | 
			
		||||
          ]
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								keyboards/alicia_cook/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								keyboards/alicia_cook/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/alicia_cook/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/alicia_cook/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
# The default keymap for alicia_cook
 | 
			
		||||
							
								
								
									
										23
									
								
								keyboards/alicia_cook/keymaps/rick/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/alicia_cook/keymaps/rick/config.h
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										246
									
								
								keyboards/alicia_cook/keymaps/rick/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								keyboards/alicia_cook/keymaps/rick/keymap.c
									
									
									
									
									
										Normal file
									
								
							@@ -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_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    [0] = LAYOUT_all(
 | 
			
		||||
        KC_ESC, LUP,    LUR,    LUM,    LUI,    LUII,            RUII,   RUI,    RUM,    RUR,    RUP,   KC_BSPC, KC_BSPC,
 | 
			
		||||
        KC_LCTL,SHLP,   CTLR,   ALLM,   RS_LMI, GULII,           GURII,  LW_RMI, ALRM,   CTRR,   SHRP,  KC_ENT,
 | 
			
		||||
        KC_LSFT,LLP,    LLR,    LLM,    LLI,    LLII,            RLII,   RLI,    RLM,    RLR,    RLP,   KC_RSFT,MO(1),
 | 
			
		||||
        KC_LGUI,KC_LALT,        KC_LGUI,LW_E,   SF_BSPC,         AL_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_E,   SF_BSPC,         AL_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_E,   SF_BSPC,         AL_ENT, RS_SPC, KC_LALT,                KC_RGUI,KC_RCTL
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/alicia_cook/keymaps/rick/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/alicia_cook/keymaps/rick/readme.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
# Rick's Keymap for Alicia Cook
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/alicia_cook/keymaps/rick/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/alicia_cook/keymaps/rick/rules.mk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
COMBO_ENABLE = yes
 | 
			
		||||
CONSOLE_ENABLE = yes
 | 
			
		||||
							
								
								
									
										26
									
								
								keyboards/alicia_cook/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/alicia_cook/readme.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
# Alicia Cook
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
40% Alice-style keyboard that can be split and uses IDC connector.
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [Ibnu D. Aji](https://github.com/ibnuda)
 | 
			
		||||
* Hardware Supported: [Alicia Cook](https://github.com/ibnuda/alicia-cook)
 | 
			
		||||
* Hardware Availability: [Alicia Cook](https://github.com/ibnuda/alicia-cook)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make alicia_cook:default
 | 
			
		||||
 | 
			
		||||
Flashing example for this keyboard:
 | 
			
		||||
 | 
			
		||||
    make alicia_cook:default:flash
 | 
			
		||||
 | 
			
		||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
			
		||||
 | 
			
		||||
## Bootloader
 | 
			
		||||
 | 
			
		||||
To enter the bootloader, there's only one way to do it:
 | 
			
		||||
 | 
			
		||||
* **Keycode in layout**: Hold left spacebar and then tap `B` key in the default keymap.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								keyboards/alicia_cook/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/alicia_cook/rules.mk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
# MCU name
 | 
			
		||||
MCU = atmega32u4
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = caterina
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = yes     # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no       # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = no       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
		Reference in New Issue
	
	Block a user