diff options
author | Michael Pio <mfmayol@up.edu.ph> | 2018-07-25 23:18:36 +0800 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-07-25 08:18:36 -0700 |
commit | c14e297ad586fa5686d51fdf2618fa87803a67c4 (patch) | |
tree | b79e6ab6856feb4481780a0fe54962476f69f286 /keyboards/handwired/qc60/proto | |
parent | 9ce35e823b945aca427f11e1a4ae26d6ea672ff4 (diff) |
Keyboard: Add QC60 (#3472)
* Added initial files for QC60 prototype
* renamed all 'keymap' to 'layout'
* renamed layout macros to suggested naming convention of LAYOUT_macro_description
* replaced boilerplate
* removed rules.mk from keymap folders
* replaced 'qc60/rev1' with 'qc60/proto'
* replaced more boilerplate
* renamed DEFAULT_FOLDER to point at the correct folder
* updated readme
Diffstat (limited to 'keyboards/handwired/qc60/proto')
-rw-r--r-- | keyboards/handwired/qc60/proto/config.h | 14 | ||||
-rw-r--r-- | keyboards/handwired/qc60/proto/proto.c | 21 | ||||
-rw-r--r-- | keyboards/handwired/qc60/proto/proto.h | 201 | ||||
-rw-r--r-- | keyboards/handwired/qc60/proto/rules.mk | 1 |
4 files changed, 237 insertions, 0 deletions
diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h new file mode 100644 index 0000000000..81466b0196 --- /dev/null +++ b/keyboards/handwired/qc60/proto/config.h @@ -0,0 +1,14 @@ +#pragma once + +#include "config_common.h" + +// wiring of each half +#define MATRIX_ROW_PINS { F4, F5, C6, D7, E6 } +#define MATRIX_COL_PINS { F7, F6, B1, B3, B2, B6, B5, B4 } +#define DIODE_DIRECTION ROW2COL + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 +#define RGBLED_NUM 1 // Number of LEDs +// #define ws2812_PORTREG PORTD +// #define ws2812_DDRREG DDRD diff --git a/keyboards/handwired/qc60/proto/proto.c b/keyboards/handwired/qc60/proto/proto.c new file mode 100644 index 0000000000..a6031d772d --- /dev/null +++ b/keyboards/handwired/qc60/proto/proto.c @@ -0,0 +1,21 @@ +/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph> + * + * 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 "qc60.h" + +void matrix_init_kb(void) { + matrix_init_user(); +}; diff --git a/keyboards/handwired/qc60/proto/proto.h b/keyboards/handwired/qc60/proto/proto.h new file mode 100644 index 0000000000..191e8150a7 --- /dev/null +++ b/keyboards/handwired/qc60/proto/proto.h @@ -0,0 +1,201 @@ +/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph> + * + * 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/>. + */ + +#ifndef PROTO_H +#define PROTO_H + +#include "qc60.h" + +#include "quantum.h" + +// readability +#define XXX KC_NO + +/* Split Backspace + * {R07, XXX, R05, R04, R03, R02, R01, R00} + * + * Split Right Shift + * {R37, R36, R35, R34, R33, R32, R31, XXX} + * + * Split Left Shift + * {L30, L31, L32, L33, L34, L35, L36, XXX} + * + * 6-key Bottom-left row + * {R47, R46, R45, R44, R43, R42, XXX, XXX} + */ + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \ + L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {L30, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {R37, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ +} + +#define LAYOUT_ansi_default( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {XXX, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ +} + +#define LAYOUT_ansi_alt( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {XXX, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \ +} + +#define LAYOUT_iso_default( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R17, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {XXX, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ +} + +#define LAYOUT_iso_alt( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {XXX, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \ +} + +#define LAYOUT_hhkb_default( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \ + L41, L42, L43, L44, R43, R44, R45, R46 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, R06, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {R37, R36, R35, R34, R33, R32, R31, XXX}, \ + {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \ +} + +#define LAYOUT_hhkb_split_lshift( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \ + L41, L42, L43, L44, R43, R44, R45, R46 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {L30, L31, L32, L33, L34, L35, L36, XXX}, \ + {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, R06, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {R37, R36, R35, R34, R33, R32, R31, XXX}, \ + {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \ +} + +#define LAYOUT_wkl_default( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \ + L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \ + L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \ + L40, L42, L43, L44, R43, R44, R45, R47 \ +) \ +{ \ + {L00, L01, L02, L03, L04, L05, L06, XXX}, \ + {L10, L11, L12, L13, L14, L15, XXX, XXX}, \ + {L20, L21, L22, L23, L24, L25, XXX, XXX}, \ + {XXX, L31, L32, L33, L34, L35, L36, XXX}, \ + {L40, XXX, L42, L43, L44, XXX, XXX, XXX}, \ + {R07, XXX, R05, R04, R03, R02, R01, R00}, \ + {R17, R16, R15, R14, R13, R12, R11, R10}, \ + {R27, R26, R25, R24, R23, R22, R21, XXX}, \ + {XXX, R36, R35, R34, R33, R32, R31, XXX}, \ + {R47, XXX, R45, R44, R43, XXX, XXX, XXX}, \ +} + + +#endif diff --git a/keyboards/handwired/qc60/proto/rules.mk b/keyboards/handwired/qc60/proto/rules.mk new file mode 100644 index 0000000000..7ad666d1a3 --- /dev/null +++ b/keyboards/handwired/qc60/proto/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes
\ No newline at end of file |