From 210cc46e7ad1618fb4e208f0bc1bc05f42030d16 Mon Sep 17 00:00:00 2001 From: Peioris Date: Mon, 23 Jul 2018 22:17:11 +0800 Subject: [PATCH 1/9] Added initial files for QC60 prototype --- keyboards/handwired/qc60/README.md | 22 ++ keyboards/handwired/qc60/config.h | 46 ++++ keyboards/handwired/qc60/info.json | 87 ++++++++ .../handwired/qc60/keymaps/default/config.h | 36 ++++ .../handwired/qc60/keymaps/default/keymap.c | 39 ++++ .../handwired/qc60/keymaps/default/rules.mk | 3 + .../handwired/qc60/keymaps/wntrmln/config.h | 36 ++++ .../handwired/qc60/keymaps/wntrmln/keymap.c | 50 +++++ .../handwired/qc60/keymaps/wntrmln/rules.mk | 3 + keyboards/handwired/qc60/proto/config.h | 36 ++++ keyboards/handwired/qc60/proto/proto.c | 21 ++ keyboards/handwired/qc60/proto/proto.h | 201 ++++++++++++++++++ keyboards/handwired/qc60/proto/rules.mk | 1 + keyboards/handwired/qc60/qc60.c | 1 + keyboards/handwired/qc60/qc60.h | 26 +++ keyboards/handwired/qc60/rules.mk | 68 ++++++ 16 files changed, 676 insertions(+) create mode 100644 keyboards/handwired/qc60/README.md create mode 100644 keyboards/handwired/qc60/config.h create mode 100644 keyboards/handwired/qc60/info.json create mode 100644 keyboards/handwired/qc60/keymaps/default/config.h create mode 100644 keyboards/handwired/qc60/keymaps/default/keymap.c create mode 100644 keyboards/handwired/qc60/keymaps/default/rules.mk create mode 100644 keyboards/handwired/qc60/keymaps/wntrmln/config.h create mode 100644 keyboards/handwired/qc60/keymaps/wntrmln/keymap.c create mode 100644 keyboards/handwired/qc60/keymaps/wntrmln/rules.mk create mode 100644 keyboards/handwired/qc60/proto/config.h create mode 100644 keyboards/handwired/qc60/proto/proto.c create mode 100644 keyboards/handwired/qc60/proto/proto.h create mode 100644 keyboards/handwired/qc60/proto/rules.mk create mode 100644 keyboards/handwired/qc60/qc60.c create mode 100644 keyboards/handwired/qc60/qc60.h create mode 100644 keyboards/handwired/qc60/rules.mk diff --git a/keyboards/handwired/qc60/README.md b/keyboards/handwired/qc60/README.md new file mode 100644 index 000000000000..062570e147d9 --- /dev/null +++ b/keyboards/handwired/qc60/README.md @@ -0,0 +1,22 @@ +QC60 +======== + +![qc60 layout](https://i.imgur.com/BAW1VGc.png) + +A split 60% staggered keyboard made by Peioris. + +Keyboard Maintainer: [Peioris](https://github.com/coarse) +Hardware Supported: [QC60 PCB](https://imgur.com/6tIxJ1N), Pro Micro +Hardware Availability: N/A at the moment + +Handwiring Resources: [Pro Micro Wiring](https://imgur.com/UycEYlG), [Keymapping](http://www.keyboard-layout-editor.com/#/gists/a54720ecfd934155b179657938e8e87b) + +Make example for this keyboard (after setting up your build environment): + + make qc60/rev1:default + +Example of flashing this keyboard: + + make qc60/rev1:default:avrdude + +See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h new file mode 100644 index 000000000000..8a73eb21acc7 --- /dev/null +++ b/keyboards/handwired/qc60/config.h @@ -0,0 +1,46 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0C60 +#define DEVICE_VER 0x00C6 +#define MANUFACTURER PeiorisBoards +#define PRODUCT QC60 +#define DESCRIPTION Split 60% staggered keyboard + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + + +#endif diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/info.json new file mode 100644 index 000000000000..b39ec587bc5d --- /dev/null +++ b/keyboards/handwired/qc60/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "QC60", + "url": "", + "maintainer": "coarse", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_ANSI_DEFAULT": { + "key_count": 64, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2.0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + + {"label":"CapsLock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":2.75}, + {"x":6.5, "y":4, "w":1.25}, + + {"x":7.75, "y":4, "w":1.25}, + {"x":9, "y":4, "w":2.0}, + {"label":"Alt", "x":11, "y":4}, + {"label":"Win", "x":12, "y":4}, + {"label":"Menu", "x":13, "y":4}, + {"label":"Ctrl", "x":14, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/qc60/keymaps/default/config.h b/keyboards/handwired/qc60/keymaps/default/config.h new file mode 100644 index 000000000000..ad8327011c49 --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/default/config.h @@ -0,0 +1,36 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/* Use I2C or Serial, not both */ + +// #define USE_SERIAL +#define USE_I2C + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + + +#endif diff --git a/keyboards/handwired/qc60/keymaps/default/keymap.c b/keyboards/handwired/qc60/keymaps/default/keymap.c new file mode 100644 index 000000000000..6cc825ca3f7e --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2018 Michael Pio Mayol + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BASE 0 + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = KEYMAP_ANSI_DEFAULT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RGB_TOG, KC_RGHT, KC_SPC, KC_RALT, KC_UP, KC_DOWN, KC_RCTL + ), + +}; diff --git a/keyboards/handwired/qc60/keymaps/default/rules.mk b/keyboards/handwired/qc60/keymaps/default/rules.mk new file mode 100644 index 000000000000..23ef3017963f --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/default/rules.mk @@ -0,0 +1,3 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/config.h b/keyboards/handwired/qc60/keymaps/wntrmln/config.h new file mode 100644 index 000000000000..5c6258f01096 --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/wntrmln/config.h @@ -0,0 +1,36 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + + +#endif diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c new file mode 100644 index 000000000000..72d2aadbeb14 --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2018 Michael Pio Mayol + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BASE 0 +#define _FN 1 + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define FN MO(_FN) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = KEYMAP_HHKB_SPLIT_LSHIFT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_DEL, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_CAPS, \ + FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI + ), + + [_FN] = KEYMAP_HHKB_SPLIT_LSHIFT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, KC_NLCK, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk b/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk new file mode 100644 index 000000000000..23ef3017963f --- /dev/null +++ b/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk @@ -0,0 +1,3 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h new file mode 100644 index 000000000000..ca2086c257ab --- /dev/null +++ b/keyboards/handwired/qc60/proto/config.h @@ -0,0 +1,36 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 . +*/ + +#ifndef PROTO_CONFIG_H +#define PROTO_CONFIG_H + +#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 + + +#endif diff --git a/keyboards/handwired/qc60/proto/proto.c b/keyboards/handwired/qc60/proto/proto.c new file mode 100644 index 000000000000..a6031d772d1c --- /dev/null +++ b/keyboards/handwired/qc60/proto/proto.c @@ -0,0 +1,21 @@ +/* Copyright 2018 Michael Pio Mayol + * + * 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 . + */ + +#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 000000000000..5da0873e6eb1 --- /dev/null +++ b/keyboards/handwired/qc60/proto/proto.h @@ -0,0 +1,201 @@ +/* Copyright 2018 Michael Pio Mayol + * + * 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 . + */ + +#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 000000000000..7ad666d1a383 --- /dev/null +++ b/keyboards/handwired/qc60/proto/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/qc60/qc60.c b/keyboards/handwired/qc60/qc60.c new file mode 100644 index 000000000000..dfa77cf08628 --- /dev/null +++ b/keyboards/handwired/qc60/qc60.c @@ -0,0 +1 @@ +#include "qc60.h" diff --git a/keyboards/handwired/qc60/qc60.h b/keyboards/handwired/qc60/qc60.h new file mode 100644 index 000000000000..55c83aca5ec5 --- /dev/null +++ b/keyboards/handwired/qc60/qc60.h @@ -0,0 +1,26 @@ +#ifndef QC60_H +#define QC60_H + +#include "quantum.h" + +#ifdef KEYBOARD_handwired_qc60_proto + #include "proto.h" +#endif + + +// Used to create a keymap using only KC_ prefixed keys +#define LAYOUT_kc( \ + LA1, LA2, LA3, LA4, LA5, LA6, RA1, RA2, RA3, RA4, RA5, RA6, RA7, \ + LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB7, \ + LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC3, RC4, RC5, RC6, RC7, \ + LD1, LD2, LD3, LD4, LD5, RD1, RD4, RD5, RD6, RD7 \ + ) \ + LAYOUT( \ + KC_##LA1, KC_##LA2, KC_##LA3, KC_##LA4, KC_##LA5, KC_##LA6, KC_##RA1, KC_##RA2, KC_##RA3, KC_##RA4, KC_##RA5, KC_##RA6, KC_##RA7, \ + KC_##LB1, KC_##LB2, KC_##LB3, KC_##LB4, KC_##LB5, KC_##LB6, KC_##RB1, KC_##RB2, KC_##RB3, KC_##RB4, KC_##RB5, KC_##RB7, \ + KC_##LC1, KC_##LC2, KC_##LC3, KC_##LC4, KC_##LC5, KC_##LC6, KC_##RC1, KC_##RC3, KC_##RC4, KC_##RC5, KC_##RC6, KC_##RC7, \ + KC_##LD1, KC_##LD2, KC_##LD3, KC_##LD4, KC_##LD5, KC_##RD1, KC_##RD4, KC_##RD5, KC_##RD6, KC_##RD7 \ + ) + + +#endif diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk new file mode 100644 index 000000000000..3c80fe345f81 --- /dev/null +++ b/keyboards/handwired/qc60/rules.mk @@ -0,0 +1,68 @@ +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Bootloader +# This definition is optional, and if your keyboard supports multiple bootloaders of +# different sizes, comment this out, and the correct address will be loaded +# automatically (+60). See bootloader.mk for all options. +BOOTLOADER = caterina + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +SPLIT_KEYBOARD = yes + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +DEFAULT_FOLDER = qc60/rev1 From ab78ca6355d297134d6982512c4b3d98a44f927a Mon Sep 17 00:00:00 2001 From: Peioris Date: Mon, 23 Jul 2018 22:20:37 +0800 Subject: [PATCH 2/9] renamed all 'keymap' to 'layout' --- keyboards/handwired/qc60/keymaps/default/keymap.c | 2 +- keyboards/handwired/qc60/keymaps/wntrmln/keymap.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/qc60/keymaps/default/keymap.c b/keyboards/handwired/qc60/keymaps/default/keymap.c index 6cc825ca3f7e..a082289d53f5 100644 --- a/keyboards/handwired/qc60/keymaps/default/keymap.c +++ b/keyboards/handwired/qc60/keymaps/default/keymap.c @@ -28,7 +28,7 @@ extern keymap_config_t keymap_config; #define XXXXXXX KC_NO const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = KEYMAP_ANSI_DEFAULT( + [_BASE] = LAYOUT_ANSI_DEFAULT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c index 72d2aadbeb14..0a520b513cb6 100644 --- a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c +++ b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c @@ -31,7 +31,7 @@ extern keymap_config_t keymap_config; #define FN MO(_FN) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = KEYMAP_HHKB_SPLIT_LSHIFT( + [_BASE] = LAYOUT_HHKB_SPLIT_LSHIFT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI ), - [_FN] = KEYMAP_HHKB_SPLIT_LSHIFT( + [_FN] = LAYOUT_HHKB_SPLIT_LSHIFT( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ From b73999111d050bc52a1b397772b53f6d1de3c3a7 Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 06:49:21 +0800 Subject: [PATCH 3/9] renamed layout macros to suggested naming convention of LAYOUT_macro_description --- keyboards/handwired/qc60/keymaps/default/keymap.c | 2 +- keyboards/handwired/qc60/keymaps/wntrmln/keymap.c | 4 ++-- keyboards/handwired/qc60/proto/proto.h | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/handwired/qc60/keymaps/default/keymap.c b/keyboards/handwired/qc60/keymaps/default/keymap.c index a082289d53f5..bafaf5058e3e 100644 --- a/keyboards/handwired/qc60/keymaps/default/keymap.c +++ b/keyboards/handwired/qc60/keymaps/default/keymap.c @@ -28,7 +28,7 @@ extern keymap_config_t keymap_config; #define XXXXXXX KC_NO const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_ANSI_DEFAULT( + [_BASE] = LAYOUT_ansi_default( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c index 0a520b513cb6..f99635d5316a 100644 --- a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c +++ b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c @@ -31,7 +31,7 @@ extern keymap_config_t keymap_config; #define FN MO(_FN) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_HHKB_SPLIT_LSHIFT( + [_BASE] = LAYOUT_hhkb_split_lshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI ), - [_FN] = LAYOUT_HHKB_SPLIT_LSHIFT( + [_FN] = LAYOUT_hhkb_split_lshift( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ diff --git a/keyboards/handwired/qc60/proto/proto.h b/keyboards/handwired/qc60/proto/proto.h index 5da0873e6eb1..191e8150a767 100644 --- a/keyboards/handwired/qc60/proto/proto.h +++ b/keyboards/handwired/qc60/proto/proto.h @@ -57,7 +57,7 @@ {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ } -#define LAYOUT_ANSI_DEFAULT( \ +#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, \ @@ -77,7 +77,7 @@ {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ } -#define LAYOUT_ANSI_ALT( \ +#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, \ @@ -97,7 +97,7 @@ {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \ } -#define LAYOUT_ISO_DEFAULT( \ +#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, \ @@ -117,7 +117,7 @@ {R47, R46, R45, R44, R43, R42, XXX, XXX}, \ } -#define LAYOUT_ISO_ALT( \ +#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, \ @@ -137,7 +137,7 @@ {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \ } -#define LAYOUT_HHKB_DEFAULT( \ +#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, \ @@ -157,7 +157,7 @@ {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \ } -#define LAYOUT_HHKB_SPLIT_LSHIFT( \ +#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, \ @@ -177,7 +177,7 @@ {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \ } -#define LAYOUT_WKL_DEFAULT( \ +#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, \ From f9548b58b0e1c1ccf5690701647ba363b8803e4b Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 06:49:48 +0800 Subject: [PATCH 4/9] replaced boilerplate --- .../handwired/qc60/keymaps/default/config.h | 33 +------------------ .../handwired/qc60/keymaps/wntrmln/config.h | 33 +------------------ 2 files changed, 2 insertions(+), 64 deletions(-) diff --git a/keyboards/handwired/qc60/keymaps/default/config.h b/keyboards/handwired/qc60/keymaps/default/config.h index ad8327011c49..6202f57ec5d6 100644 --- a/keyboards/handwired/qc60/keymaps/default/config.h +++ b/keyboards/handwired/qc60/keymaps/default/config.h @@ -1,36 +1,5 @@ -/* -This is the c configuration file for the keymap +#pragma once -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C #define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - - -#endif diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/config.h b/keyboards/handwired/qc60/keymaps/wntrmln/config.h index 5c6258f01096..fabebda534e7 100644 --- a/keyboards/handwired/qc60/keymaps/wntrmln/config.h +++ b/keyboards/handwired/qc60/keymaps/wntrmln/config.h @@ -1,36 +1,5 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -/* Use I2C or Serial, not both */ +#pragma once #define USE_SERIAL -// #define USE_I2C #define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - - -#endif From 4985e5006910171bb51ac616ca1f6f4f9ab222f9 Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 06:50:51 +0800 Subject: [PATCH 5/9] removed rules.mk from keymap folders --- keyboards/handwired/qc60/keymaps/default/rules.mk | 3 --- keyboards/handwired/qc60/keymaps/wntrmln/rules.mk | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 keyboards/handwired/qc60/keymaps/default/rules.mk delete mode 100644 keyboards/handwired/qc60/keymaps/wntrmln/rules.mk diff --git a/keyboards/handwired/qc60/keymaps/default/rules.mk b/keyboards/handwired/qc60/keymaps/default/rules.mk deleted file mode 100644 index 23ef3017963f..000000000000 --- a/keyboards/handwired/qc60/keymaps/default/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifndef QUANTUM_DIR - include ../../../../Makefile -endif diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk b/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk deleted file mode 100644 index 23ef3017963f..000000000000 --- a/keyboards/handwired/qc60/keymaps/wntrmln/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifndef QUANTUM_DIR - include ../../../../Makefile -endif From 546ba911aedef24bc777c1b04b9f904aadaf70d0 Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 06:54:11 +0800 Subject: [PATCH 6/9] replaced 'qc60/rev1' with 'qc60/proto' --- keyboards/handwired/qc60/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk index 3c80fe345f81..fa77bed28480 100644 --- a/keyboards/handwired/qc60/rules.mk +++ b/keyboards/handwired/qc60/rules.mk @@ -65,4 +65,4 @@ SPLIT_KEYBOARD = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -DEFAULT_FOLDER = qc60/rev1 +DEFAULT_FOLDER = qc60/proto From 8a068b2601649a0d91a206e921c2c494d1b490d5 Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 06:54:37 +0800 Subject: [PATCH 7/9] replaced more boilerplate --- keyboards/handwired/qc60/config.h | 24 +----------------------- keyboards/handwired/qc60/proto/config.h | 24 +----------------------- 2 files changed, 2 insertions(+), 46 deletions(-) diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h index 8a73eb21acc7..3b6f84390bc0 100644 --- a/keyboards/handwired/qc60/config.h +++ b/keyboards/handwired/qc60/config.h @@ -1,23 +1,4 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ - -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -41,6 +22,3 @@ along with this program. If not, see . #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) - - -#endif diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h index ca2086c257ab..81466b019687 100644 --- a/keyboards/handwired/qc60/proto/config.h +++ b/keyboards/handwired/qc60/proto/config.h @@ -1,23 +1,4 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 . -*/ - -#ifndef PROTO_CONFIG_H -#define PROTO_CONFIG_H +#pragma once #include "config_common.h" @@ -31,6 +12,3 @@ along with this program. If not, see . #define RGBLED_NUM 1 // Number of LEDs // #define ws2812_PORTREG PORTD // #define ws2812_DDRREG DDRD - - -#endif From a6d3adf17edc864333edbfb0541956fc63f37738 Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 07:08:17 +0800 Subject: [PATCH 8/9] renamed DEFAULT_FOLDER to point at the correct folder --- keyboards/handwired/qc60/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk index fa77bed28480..1be83d5f8dc6 100644 --- a/keyboards/handwired/qc60/rules.mk +++ b/keyboards/handwired/qc60/rules.mk @@ -65,4 +65,4 @@ SPLIT_KEYBOARD = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -DEFAULT_FOLDER = qc60/proto +DEFAULT_FOLDER = handwired/qc60/proto From e177212a0857c1a57d141afade43ecdc7b62bb4a Mon Sep 17 00:00:00 2001 From: Peioris Date: Tue, 24 Jul 2018 09:59:20 +0800 Subject: [PATCH 9/9] updated readme --- keyboards/handwired/qc60/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/handwired/qc60/README.md b/keyboards/handwired/qc60/README.md index 062570e147d9..85570a8a76e4 100644 --- a/keyboards/handwired/qc60/README.md +++ b/keyboards/handwired/qc60/README.md @@ -13,10 +13,10 @@ Handwiring Resources: [Pro Micro Wiring](https://imgur.com/UycEYlG), [Keymapping Make example for this keyboard (after setting up your build environment): - make qc60/rev1:default + make handwired/qc60/proto:default Example of flashing this keyboard: - make qc60/rev1:default:avrdude + make handwired/qc60/proto:avrdude See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.