Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2021-01-25 06:39:33 +00:00
commit c979141002
7 changed files with 330 additions and 5 deletions

View File

@ -8,6 +8,9 @@
#ifdef KEYBOARD_keebio_quefrency_rev2
#include "rev2.h"
#endif
#ifdef KEYBOARD_keebio_quefrency_rev3
#include "rev3.h"
#endif
// Used to create a keymap using only KC_ prefixed keys
#define LAYOUT_kc( \

View File

@ -1,19 +1,19 @@
Quefrency
=========
A split 60% staggered keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io).
A split 60/65% staggered keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io).
Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
Hardware Supported: Pro Micro
Hardware Supported: Pro Micro (Rev. 1), ATmega32u4 (Rev. 2 & 3)
Hardware Availability: [Keebio](https://keeb.io/)
Make example for this keyboard (after setting up your build environment):
make keebio/quefrency/rev1:default
make keebio/quefrency/rev3:default
Example of flashing this keyboard:
make keebio/quefrency/rev1:default:avrdude
make keebio/quefrency/rev3:default:avrdude
Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files.

View File

@ -64,5 +64,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x0018
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

View File

@ -0,0 +1,68 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
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 <http://www.gnu.org/licenses/>.
*/
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xCB10
#define PRODUCT_ID 0x3257
#define DEVICE_VER 0x0300
#define MANUFACTURER Keebio
#define PRODUCT Quefrency Rev. 3
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
#define DIODE_DIRECTION COL2ROW
// wiring of each half
#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7 }
#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 }
#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7 }
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 }
#define SPLIT_HAND_PIN F7
#define ENCODERS_PAD_A { F5 }
#define ENCODERS_PAD_B { F6 }
#define ENCODERS_PAD_A_RIGHT { D6 }
#define ENCODERS_PAD_B_RIGHT { D4 }
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
#define BACKLIGHT_PIN B5
#define CAPS_LOCK_LED_PIN B6
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

View File

@ -0,0 +1,48 @@
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
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 "quefrency.h"
#include "split_util.h"
void matrix_init_kb(void) {
setPinOutput(CAPS_LOCK_LED_PIN);
matrix_init_user();
}
bool led_update_kb(led_t led_state) {
// Only update if left half
if (isLeftHand && led_update_user(led_state)) {
writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
}
return true;
}
void eeconfig_init_kb(void) {
#ifdef BACKLIGHT_ENABLE
backlight_enable();
backlight_level(3);
#endif
#ifdef RGBLIGHT_ENABLE
rgblight_enable(); // Enable RGB by default
rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness
#ifdef RGBLIGHT_ANIMATIONS
rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
#endif
#endif
eeconfig_update_kb(0);
eeconfig_init_user();
}

View File

@ -0,0 +1,202 @@
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
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 "quefrency.h"
#include "quantum.h"
#define LAYOUT_60( \
LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
) \
{ \
{ KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
{ KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
}
#define LAYOUT LAYOUT_60 // For backwards compatibility with Rev. 1
#define LAYOUT_65( \
LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
) \
{ \
{ KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
{ KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}
#define LAYOUT_60_with_macro( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
{ LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
}
#define LAYOUT_65_with_macro( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
{ LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}
#define LAYOUT_60_iso( \
LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
) \
{ \
{ KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
{ KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
}
#define LAYOUT_65_iso( \
LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
) \
{ \
{ KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
{ KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}
#define LAYOUT_60_iso_with_macro( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
{ LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
}
#define LAYOUT_65_iso_with_macro( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
{ LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}
#define LAYOUT_all( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
{ LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
{ LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
{ RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
}

View File

@ -0,0 +1,4 @@
BOOTLOADER = atmel-dfu
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes