From 4e92dceed815d00a5492c5606ce7d863606d6507 Mon Sep 17 00:00:00 2001 From: Danny Date: Sat, 24 Mar 2018 12:50:44 -0400 Subject: Add Fourier Keyboard (#2596) * Initial commit of Fourier keyboard * Revise keymap, add key to bottom row * Fix readme --- keyboards/fourier/rev1/config.h | 84 +++++++++++++++++++++++++++++++++++++++++ keyboards/fourier/rev1/rev1.c | 7 ++++ keyboards/fourier/rev1/rev1.h | 34 +++++++++++++++++ keyboards/fourier/rev1/rules.mk | 0 4 files changed, 125 insertions(+) create mode 100644 keyboards/fourier/rev1/config.h create mode 100644 keyboards/fourier/rev1/rev1.c create mode 100644 keyboards/fourier/rev1/rev1.h create mode 100644 keyboards/fourier/rev1/rules.mk (limited to 'keyboards/fourier/rev1') diff --git a/keyboards/fourier/rev1/config.h b/keyboards/fourier/rev1/config.h new file mode 100644 index 000000000..c13752226 --- /dev/null +++ b/keyboards/fourier/rev1/config.h @@ -0,0 +1,84 @@ +/* +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 REV1_CONFIG_H +#define REV1_CONFIG_H + +#include "../config.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCB10 +#define PRODUCT_ID 0x1247 +#define DEVICE_VER 0x0100 +#define MANUFACTURER Keebio +#define PRODUCT Fourier +#define DESCRIPTION Split 40 percent staggered keyboard + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 8 +#define MATRIX_COLS 7 + +// wiring of each half +#define MATRIX_ROW_PINS { F4, D7, E6, B4 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* 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 + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 +#define RGBLIGHT_TIMER +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 14 // Number of LEDs +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + + +#endif diff --git a/keyboards/fourier/rev1/rev1.c b/keyboards/fourier/rev1/rev1.c new file mode 100644 index 000000000..61d7139d6 --- /dev/null +++ b/keyboards/fourier/rev1/rev1.c @@ -0,0 +1,7 @@ +#include "fourier.h" + + +void matrix_init_kb(void) { + matrix_init_user(); +}; + diff --git a/keyboards/fourier/rev1/rev1.h b/keyboards/fourier/rev1/rev1.h new file mode 100644 index 000000000..c29c0ebab --- /dev/null +++ b/keyboards/fourier/rev1/rev1.h @@ -0,0 +1,34 @@ +#ifndef REV1_H +#define REV1_H + +#include "../fourier.h" + +#include "quantum.h" + + +#ifdef USE_I2C +#include +#ifdef __AVR__ + #include + #include +#endif +#endif + +#define KEYMAP( \ + 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 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, KC_NO}, \ + { LB1, LB2, LB3, LB4, LB5, LB6, KC_NO}, \ + { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO}, \ + { LD1, LD2, LD3, LD4, LD5, KC_NO, KC_NO}, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7}, \ + { RB1, RB2, RB3, RB4, RB5, KC_NO, RB7}, \ + { RC1, KC_NO, RC3, RC4, RC5, RC6, RC7}, \ + { RD1, KC_NO, KC_NO, RD4, RD5, RD6, RD7} \ + } + +#endif diff --git a/keyboards/fourier/rev1/rules.mk b/keyboards/fourier/rev1/rules.mk new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3