From a561443fcacc75ce6b389bd0831af85a2d104f11 Mon Sep 17 00:00:00 2001
From: Cable Car Designs <17062872+westfoxtrot@users.noreply.github.com>
Date: Wed, 22 Jan 2020 17:45:32 +0000
Subject: [Keyboard] added support for new rev of cypher PCB (#7636)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* cleanup of existing branches to resync with upstream. removed old cyp…
…her files, added new cypher files.
---
keyboards/westfoxtrot/cypher/config.h | 66 -------
keyboards/westfoxtrot/cypher/cypher.c | 56 ------
keyboards/westfoxtrot/cypher/cypher.h | 68 -------
keyboards/westfoxtrot/cypher/info.json | 207 ---------------------
.../cypher/keymaps/default-iso/config.h | 19 --
.../cypher/keymaps/default-iso/keymap.c | 49 -----
.../cypher/keymaps/default-iso/readme.md | 1 -
.../westfoxtrot/cypher/keymaps/default/config.h | 19 --
.../westfoxtrot/cypher/keymaps/default/keymap.c | 49 -----
.../westfoxtrot/cypher/keymaps/default/readme.md | 1 -
keyboards/westfoxtrot/cypher/keymaps/kwer/config.h | 33 ----
keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c | 79 --------
.../westfoxtrot/cypher/keymaps/kwer/readme.md | 39 ----
keyboards/westfoxtrot/cypher/keymaps/kwer/rules.mk | 2 -
keyboards/westfoxtrot/cypher/readme.md | 15 --
keyboards/westfoxtrot/cypher/rev1/config.h | 66 +++++++
keyboards/westfoxtrot/cypher/rev1/info.json | 207 +++++++++++++++++++++
.../cypher/rev1/keymaps/default/keymap.c | 37 ++++
.../cypher/rev1/keymaps/default/readme.md | 1 +
.../cypher/rev1/keymaps/default_iso/keymap.c | 37 ++++
.../cypher/rev1/keymaps/default_iso/readme.md | 1 +
.../westfoxtrot/cypher/rev1/keymaps/kwer/config.h | 33 ++++
.../westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c | 79 ++++++++
.../westfoxtrot/cypher/rev1/keymaps/kwer/readme.md | 39 ++++
.../westfoxtrot/cypher/rev1/keymaps/kwer/rules.mk | 2 +
keyboards/westfoxtrot/cypher/rev1/readme.md | 13 ++
keyboards/westfoxtrot/cypher/rev1/rev1.c | 31 +++
keyboards/westfoxtrot/cypher/rev1/rev1.h | 68 +++++++
keyboards/westfoxtrot/cypher/rev1/rules.mk | 33 ++++
keyboards/westfoxtrot/cypher/rev5/config.h | 81 ++++++++
keyboards/westfoxtrot/cypher/rev5/info.json | 110 +++++++++++
.../cypher/rev5/keymaps/default/keymap.c | 37 ++++
.../cypher/rev5/keymaps/default/readme.md | 1 +
.../cypher/rev5/keymaps/default_iso/keymap.c | 37 ++++
.../cypher/rev5/keymaps/default_iso/readme.md | 1 +
.../westfoxtrot/cypher/rev5/keymaps/max/keymap.c | 49 +++++
.../westfoxtrot/cypher/rev5/keymaps/max/readme.md | 1 +
keyboards/westfoxtrot/cypher/rev5/readme.md | 13 ++
keyboards/westfoxtrot/cypher/rev5/rev5.c | 31 +++
keyboards/westfoxtrot/cypher/rev5/rev5.h | 48 +++++
keyboards/westfoxtrot/cypher/rev5/rules.mk | 33 ++++
keyboards/westfoxtrot/cypher/rules.mk | 33 ----
42 files changed, 1089 insertions(+), 736 deletions(-)
delete mode 100644 keyboards/westfoxtrot/cypher/config.h
delete mode 100644 keyboards/westfoxtrot/cypher/cypher.c
delete mode 100644 keyboards/westfoxtrot/cypher/cypher.h
delete mode 100644 keyboards/westfoxtrot/cypher/info.json
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default-iso/config.h
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default-iso/readme.md
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default/config.h
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default/keymap.c
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/default/readme.md
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/kwer/config.h
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/kwer/readme.md
delete mode 100644 keyboards/westfoxtrot/cypher/keymaps/kwer/rules.mk
delete mode 100644 keyboards/westfoxtrot/cypher/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev1/config.h
create mode 100644 keyboards/westfoxtrot/cypher/rev1/info.json
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/default/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/config.h
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/rules.mk
create mode 100644 keyboards/westfoxtrot/cypher/rev1/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev1/rev1.c
create mode 100644 keyboards/westfoxtrot/cypher/rev1/rev1.h
create mode 100644 keyboards/westfoxtrot/cypher/rev1/rules.mk
create mode 100644 keyboards/westfoxtrot/cypher/rev5/config.h
create mode 100644 keyboards/westfoxtrot/cypher/rev5/info.json
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/default/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
create mode 100644 keyboards/westfoxtrot/cypher/rev5/keymaps/max/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev5/readme.md
create mode 100644 keyboards/westfoxtrot/cypher/rev5/rev5.c
create mode 100644 keyboards/westfoxtrot/cypher/rev5/rev5.h
create mode 100644 keyboards/westfoxtrot/cypher/rev5/rules.mk
delete mode 100644 keyboards/westfoxtrot/cypher/rules.mk
(limited to 'keyboards/westfoxtrot')
diff --git a/keyboards/westfoxtrot/cypher/config.h b/keyboards/westfoxtrot/cypher/config.h
deleted file mode 100644
index 33bdaa204..000000000
--- a/keyboards/westfoxtrot/cypher/config.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright 2019 westfoxtrot
-
-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 .
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x21FF
-#define PRODUCT_ID 0xAA97
-#define DEVICE_VER 0x0001
-#define MANUFACTURER westfoxtrot
-#define PRODUCT cypher
-#define DESCRIPTION Cypher
-
-/* key matrix size */
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 10
-
-/*
- * 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 { B0, B1, B2, B3, B4, F6, B6, B7, C6, C7 }
-#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, E6, F0 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-#define BACKLIGHT_PIN B5
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 5
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 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
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-#define GRAVE_ESC_CTRL_OVERRIDE
diff --git a/keyboards/westfoxtrot/cypher/cypher.c b/keyboards/westfoxtrot/cypher/cypher.c
deleted file mode 100644
index d2407525e..000000000
--- a/keyboards/westfoxtrot/cypher/cypher.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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 "cypher.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
- writePinHigh(F4);
- } else {
- writePinLow(F4);
- }
- if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
- writePinHigh(F1);
- } else {
- writePinLow(F1);
- }
- if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
- writePinHigh(F5);
- } else {
- writePinLow(F5);
- }
- led_set_user(usb_led);
-}
diff --git a/keyboards/westfoxtrot/cypher/cypher.h b/keyboards/westfoxtrot/cypher/cypher.h
deleted file mode 100644
index fdff12e9b..000000000
--- a/keyboards/westfoxtrot/cypher/cypher.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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 .
- */
-#pragma once
-
-#define ___ KC_NO
-
-#include "quantum.h"
-
-/* This 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_ansi( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K50, K51, K52, K53, K54, K55, K56, K57, K58,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K60, K61, K62, K63, K65, K66, K67, K68, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K70, K71, K73, K75, K76, K77, K78, \
- K30, K32, K33, K34, K35, K36, K37, K38, K39, K80, K81, K82, K83, K85, K86, K87, K88, \
- K40, K41, K42, K46, K49, K90, K91, K92, K93, K95, K96, K97, K98 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
- { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39 }, \
- { K40, K41, K42, ___, ___, ___, K46, ___, ___, K49 }, \
- { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
- { K60, K61, K62, K63, ___, K65, K66, K67, K68 }, \
- { K70, K71, ___, K73, ___, K75, K76, K77, K78 }, \
- { K80, K81, K82, K83, ___, K85, K86, K87, K88 }, \
- { K90, K91, K92, K93, ___, K95, K96, K97, K98 } \
-}
-
-#define LAYOUT_iso( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K50, K51, K52, K53, K54, K55, K56, K57, K58,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K60, K61, K62, K65, K66, K67, K68, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K70, K71, K72, K73, K75, K76, K77, K78, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K80, K81, K82, K83, K85, K86, K87, K88, \
- K40, K41, K42, K46, K49, K90, K91, K92, K93, K95, K96, K97, K98 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
- { K40, K41, K42, ___, ___, ___, K46, ___, ___, K49 }, \
- { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
- { K60, K61, K62, ___, ___, K65, K66, K67, K68 }, \
- { K70, K71, K72, K73, ___, K75, K76, K77, K78 }, \
- { K80, K81, K82, K83, ___, K85, K86, K87, K88 }, \
- { K90, K91, K92, K93, ___, K95, K96, K97, K98 } \
-}
diff --git a/keyboards/westfoxtrot/cypher/info.json b/keyboards/westfoxtrot/cypher/info.json
deleted file mode 100644
index ddf4e9d5a..000000000
--- a/keyboards/westfoxtrot/cypher/info.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "keyboard_name": "Cypher",
- "width": 19.5,
- "height": 5,
- "layouts": {
- "LAYOUT_ansi": {
- "layout": [
- {"label":"~","x":0,"y":0},
- {"label":"!","x":1,"y":0},
- {"label":"@","x":2,"y":0},
- {"label":"#","x":3,"y":0},
- {"label":"$","x":4,"y":0},
- {"label":"%","x":5,"y":0},
- {"label":"^","x":6,"y":0},
- {"label":"&","x":7,"y":0},
- {"label":"*","x":8,"y":0},
- {"label":"(","x":9,"y":0},
- {"label":")","x":10,"y":0},
- {"label":"_","x":11,"y":0},
- {"label":"+","x":12,"y":0},
- {"label":"Backspace","x":13,"y":0},
- {"label":"~","x":14,"y":0},
-
- {"label":"Num Lock","x":15.5,"y":0},
- {"label":"/","x":16.5,"y":0},
- {"label":"*","x":17.5,"y":0},
- {"label":"-","x":18.5,"y":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":"7","x":15.5,"y":1},
- {"label":"8","x":16.5,"y":1},
- {"label":"9","x":17.5,"y":1},
- {"label":"+","x":18.5,"y":1},
-
- {"label":"Caps Lock","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":"4","x":15.5,"y":2},
- {"label":"5","x":16.5,"y":2},
- {"label":"6","x":17.5,"y":2},
- {"label":"=","x":18.5,"y":2},
-
- {"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":1.75},
-
- {"label":"Up","x":14.25,"y":3.25},
-
- {"label":"1","x":15.5,"y":3},
- {"label":"2","x":16.5,"y":3},
- {"label":"3","x":17.5,"y":3},
- {"label":"Enter","x":18.5,"y":3},
-
- {"label":"Ctrl","x":0,"y":4,"w":1.25},
- {"label":"Win","x":1.25,"y":4},
- {"label":"Alt","x":2.25,"y":4,"w":1.25},
- {"label":"Space","x":3.5,"y":4,"w":6},
- {"label":"Alt","x":9.5,"y":4,"w":1.25},
- {"label":"Win","x":10.75,"y":4},
- {"label":"Ctrl","x":11.75,"y":4,"w":1.25},
-
- {"label":"Left","x":13.25,"y":4.25},
- {"label":"Down","x":14.25,"y":4.25},
- {"label":"Right","x":15.25,"y":4.25},
-
- {"label":"0","x":16.5,"y":4},
- {"label":".","x":17.5,"y":4},
- {"label":"Backspace","x":18.5,"y":4}
- ]
- },
-
- "LAYOUT_iso": {
- "layout": [
- {"label":"~","x":0,"y":0},
- {"label":"!","x":1,"y":0},
- {"label":"@","x":2,"y":0},
- {"label":"#","x":3,"y":0},
- {"label":"$","x":4,"y":0},
- {"label":"%","x":5,"y":0},
- {"label":"^","x":6,"y":0},
- {"label":"&","x":7,"y":0},
- {"label":"*","x":8,"y":0},
- {"label":"(","x":9,"y":0},
- {"label":")","x":10,"y":0},
- {"label":"_","x":11,"y":0},
- {"label":"+","x":12,"y":0},
- {"label":"Backspace","x":13,"y":0},
- {"label":"~","x":14,"y":0},
-
- {"label":"Num Lock","x":15.5,"y":0},
- {"label":"/","x":16.5,"y":0},
- {"label":"*","x":17.5,"y":0},
- {"label":"-","x":18.5,"y":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":"7","x":15.5,"y":1},
- {"label":"8","x":16.5,"y":1},
- {"label":"9","x":17.5,"y":1},
- {"label":"+","x":18.5,"y":1},
-
- {"label":"Caps Lock","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":"~","x":12.75,"y":2},
- {"label":"Enter","x":13.75,"y":1,"w":1.25,"h":2},
-
- {"label":"4","x":15.5,"y":2},
- {"label":"5","x":16.5,"y":2},
- {"label":"6","x":17.5,"y":2},
- {"label":"=","x":18.5,"y":2},
-
- {"label":"Shift","x":0,"y":3,"w":1.25},
- {"label":"|","x":1.25,"y":3},
- {"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":1.75},
-
- {"label":"Up","x":14.25,"y":3.25},
-
- {"label":"1","x":15.5,"y":3},
- {"label":"2","x":16.5,"y":3},
- {"label":"3","x":17.5,"y":3},
- {"label":"Enter","x":18.5,"y":3},
-
- {"label":"Ctrl","x":0,"y":4,"w":1.25},
- {"label":"Win","x":1.25,"y":4},
- {"label":"Alt","x":2.25,"y":4,"w":1.25},
- {"label":"Space","x":3.5,"y":4,"w":6},
- {"label":"Alt","x":9.5,"y":4,"w":1.25},
- {"label":"Win","x":10.75,"y":4},
- {"label":"Ctrl","x":11.75,"y":4,"w":1.25},
-
- {"label":"Left","x":13.25,"y":4.25},
- {"label":"Down","x":14.25,"y":4.25},
- {"label":"Right","x":15.25,"y":4.25},
-
- {"label":"0","x":16.5,"y":4},
- {"label":".","x":17.5,"y":4},
- {"label":"Backspace","x":18.5,"y":4}
- ]
- }
- }
-}
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default-iso/config.h b/keyboards/westfoxtrot/cypher/keymaps/default-iso/config.h
deleted file mode 100644
index 41d70907e..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default-iso/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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 .
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c b/keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c
deleted file mode 100644
index 2a08ae853..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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
-
-#define _MA 0
-#define _F1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_MA] = LAYOUT_iso( /* Base */
- KC_GESC, 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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,\
- 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_P7, KC_P8, KC_P9, KC_PPLS,\
- 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,\
- KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,\
- KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
-
-[_F1] = LAYOUT_iso( /* Function Layer */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,\
- _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______,\
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______,\
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,\
- _______, _______,_______, _______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
-
-};
-
-void matrix_init_user(void) {
- //user initialization
-}
-
-void matrix_scan_user(void) {
- //user matrix
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default-iso/readme.md b/keyboards/westfoxtrot/cypher/keymaps/default-iso/readme.md
deleted file mode 100644
index 81a4a677f..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default-iso/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default iso keymap for cypher
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default/config.h b/keyboards/westfoxtrot/cypher/keymaps/default/config.h
deleted file mode 100644
index 41d70907e..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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 .
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default/keymap.c b/keyboards/westfoxtrot/cypher/keymaps/default/keymap.c
deleted file mode 100644
index 1906f9396..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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
-
-#define _MA 0
-#define _F1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_MA] = LAYOUT_ansi( /* Base */
- KC_GESC, 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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,\
- 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_P7, KC_P8, KC_P9, KC_PPLS,\
- 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_P4, KC_P5, KC_P6, KC_PEQL,\
- 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,\
- KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
-
-[_F1] = LAYOUT_ansi( /* Function Layer */
- RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,\
- _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,\
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,\
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,\
- _______, _______,_______, _______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
-
-};
-
-void matrix_init_user(void) {
- //user initialization
-}
-
-void matrix_scan_user(void) {
- //user matrix
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
diff --git a/keyboards/westfoxtrot/cypher/keymaps/default/readme.md b/keyboards/westfoxtrot/cypher/keymaps/default/readme.md
deleted file mode 100644
index 05c370026..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for cypher
\ No newline at end of file
diff --git a/keyboards/westfoxtrot/cypher/keymaps/kwer/config.h b/keyboards/westfoxtrot/cypher/keymaps/kwer/config.h
deleted file mode 100644
index 947e340c3..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/kwer/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2018 westfoxtrot
- *
- * 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 .
- */
-
-#pragma once
-
-#define RGB_DI_PIN F7
-#ifdef RGB_DI_PIN
- #define RGBLED_NUM 15
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 15
- #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 5
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #endif
-
-// place overrides here
diff --git a/keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c b/keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c
deleted file mode 100644
index 2d7bf2a5e..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2018 westfoxtrot
- * Copyright 2019 kwerdenker
- *
- * 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
-#include "keymap_german.h"
-
-#define _DL 0
-#define _FN 1
-#define _LE 2
-
-#define SPECIAL LT(_FN, DE_CIRC) //capslock layer switch + stargate key on tap
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_DL] = LAYOUT_iso (
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, _______, KC_NLCK, KC_PSCR,KC_PSLS,KC_PAST,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, _______, KC_LALT, KC_SPC, _______, KC_RALT, TG(_LE), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_NO
- ),
-
- [_FN] = LAYOUT_iso (
- DE_RING, 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_DEL, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_LE] = LAYOUT_iso (
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-
-
-void matrix_init_user(void) {
- //user initialization
-}
-
-void matrix_scan_user(void) {
- //user matrix
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
- // Insert custom handling for CAPS_LOCK, NUM_LOCK, SCROLL_LOCK here
- if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
- writePinHigh(F4);
- writePinHigh(F1);
- writePinHigh(F5);
- } else {
- writePinLow(F4);
- writePinLow(F1);
- writePinLow(F5);
- }
-}
diff --git a/keyboards/westfoxtrot/cypher/keymaps/kwer/readme.md b/keyboards/westfoxtrot/cypher/keymaps/kwer/readme.md
deleted file mode 100644
index c1a132e71..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/kwer/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# The kwer keymap and RGB MOD for cypher
-
-![](https://i.imgur.com/b7snIju.jpg)
-
-## Hardware
-To make this mod, all you need a piece of WS2812b RGB strip (I used one with 144 LEDs per meter, so it's rather dense), some wiring (I used 0.6mm solid core wire) and steady hands for soldering to the MCU pin.
-
-**Installed mod**
-![](https://i.imgur.com/IKcFd0k.jpg)
-
-As you can see, the wiring is relatively simple. VCC and GND can be easily accessed through the ISP header on the right side of the spacebar while the DATA line can be routed relatively easy through one of the stabilizer holes. While it isn't important where exactly you solder the VCC/GND wires to their respective lines on the strip, you have to keep the direction of the data line in mind. Most strip have arrows printed on them to show you in which direction the data is shifted through the LEDs and your should always solder your DATA line on the _from_ side, as seen in the above picture.
-
-**Close-up for the VCC/GND connections**
-![](https://i.imgur.com/K0OibwW.jpg)
-
-Since there is no pinout availble for the pin we're gonna use to control the strip, the line has to be soldered to the MCU directly. While this is not a very complex process, you should have a fine tipped soldering irong and a steady hand. Make sure you do not bridge any of the neighboring pins when soldering the wire to the MCU pin. As shown in the picture below, you want to connect the DATA line to the third pin from the right on the top of the controller chip.
-
-**Close-up for the DATA connection**
-![](https://i.imgur.com/zkD3RjF.jpg)
-
-## Software
-To enable your RGB strip in QMK, you have to add change/add the following lines
-
-**rules.mk**
-```
-[...]
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-[...]
-```
-
-**config.h**
-```
-[...]
-#define RGB_DI_PIN F7
-#define RGBLED_NUM 15 // Change this number to the amount of LEDs on the strip you soldered
-#define RGBLIGHT_ANIMATIONS
-[...]
-```
-To control the RGB color, animation, etc. you need to add the appropriate keycodes to your keymap. Either see [my keymap](./keymap.c) or the [official QMK documentation](https://docs.qmk.fm/#/feature_rgblight?id=keycodes) for references.
diff --git a/keyboards/westfoxtrot/cypher/keymaps/kwer/rules.mk b/keyboards/westfoxtrot/cypher/keymaps/kwer/rules.mk
deleted file mode 100644
index df87c59a2..000000000
--- a/keyboards/westfoxtrot/cypher/keymaps/kwer/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Build options override
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/westfoxtrot/cypher/readme.md b/keyboards/westfoxtrot/cypher/readme.md
deleted file mode 100644
index 6db417fae..000000000
--- a/keyboards/westfoxtrot/cypher/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# cypher
-
-![cypher](https://github.com/westfoxtrot/Cypher_PCB)
-
-PCB for the cypher keyboard
-
-Keyboard Maintainer: [westfoxtrot](https://github.com/westfoxtrot)
-Hardware Supported: Cypher PCB
-Hardware Availability: with group buy + Files released here (https://github.com/westfoxtrot/Cypher_PCB)
-
-Make example for this keyboard (after setting up your build environment):
-
- make westfoxtrot/cypher:default
-
-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).
diff --git a/keyboards/westfoxtrot/cypher/rev1/config.h b/keyboards/westfoxtrot/cypher/rev1/config.h
new file mode 100644
index 000000000..33bdaa204
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/config.h
@@ -0,0 +1,66 @@
+/*
+Copyright 2019 westfoxtrot
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x21FF
+#define PRODUCT_ID 0xAA97
+#define DEVICE_VER 0x0001
+#define MANUFACTURER westfoxtrot
+#define PRODUCT cypher
+#define DESCRIPTION Cypher
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 10
+
+/*
+ * 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 { B0, B1, B2, B3, B4, F6, B6, B7, C6, C7 }
+#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, E6, F0 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN B5
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 5
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 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
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+#define GRAVE_ESC_CTRL_OVERRIDE
diff --git a/keyboards/westfoxtrot/cypher/rev1/info.json b/keyboards/westfoxtrot/cypher/rev1/info.json
new file mode 100644
index 000000000..ddf4e9d5a
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/info.json
@@ -0,0 +1,207 @@
+{
+ "keyboard_name": "Cypher",
+ "width": 19.5,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label":"~","x":0,"y":0},
+ {"label":"!","x":1,"y":0},
+ {"label":"@","x":2,"y":0},
+ {"label":"#","x":3,"y":0},
+ {"label":"$","x":4,"y":0},
+ {"label":"%","x":5,"y":0},
+ {"label":"^","x":6,"y":0},
+ {"label":"&","x":7,"y":0},
+ {"label":"*","x":8,"y":0},
+ {"label":"(","x":9,"y":0},
+ {"label":")","x":10,"y":0},
+ {"label":"_","x":11,"y":0},
+ {"label":"+","x":12,"y":0},
+ {"label":"Backspace","x":13,"y":0},
+ {"label":"~","x":14,"y":0},
+
+ {"label":"Num Lock","x":15.5,"y":0},
+ {"label":"/","x":16.5,"y":0},
+ {"label":"*","x":17.5,"y":0},
+ {"label":"-","x":18.5,"y":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":"7","x":15.5,"y":1},
+ {"label":"8","x":16.5,"y":1},
+ {"label":"9","x":17.5,"y":1},
+ {"label":"+","x":18.5,"y":1},
+
+ {"label":"Caps Lock","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":"4","x":15.5,"y":2},
+ {"label":"5","x":16.5,"y":2},
+ {"label":"6","x":17.5,"y":2},
+ {"label":"=","x":18.5,"y":2},
+
+ {"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":1.75},
+
+ {"label":"Up","x":14.25,"y":3.25},
+
+ {"label":"1","x":15.5,"y":3},
+ {"label":"2","x":16.5,"y":3},
+ {"label":"3","x":17.5,"y":3},
+ {"label":"Enter","x":18.5,"y":3},
+
+ {"label":"Ctrl","x":0,"y":4,"w":1.25},
+ {"label":"Win","x":1.25,"y":4},
+ {"label":"Alt","x":2.25,"y":4,"w":1.25},
+ {"label":"Space","x":3.5,"y":4,"w":6},
+ {"label":"Alt","x":9.5,"y":4,"w":1.25},
+ {"label":"Win","x":10.75,"y":4},
+ {"label":"Ctrl","x":11.75,"y":4,"w":1.25},
+
+ {"label":"Left","x":13.25,"y":4.25},
+ {"label":"Down","x":14.25,"y":4.25},
+ {"label":"Right","x":15.25,"y":4.25},
+
+ {"label":"0","x":16.5,"y":4},
+ {"label":".","x":17.5,"y":4},
+ {"label":"Backspace","x":18.5,"y":4}
+ ]
+ },
+
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"~","x":0,"y":0},
+ {"label":"!","x":1,"y":0},
+ {"label":"@","x":2,"y":0},
+ {"label":"#","x":3,"y":0},
+ {"label":"$","x":4,"y":0},
+ {"label":"%","x":5,"y":0},
+ {"label":"^","x":6,"y":0},
+ {"label":"&","x":7,"y":0},
+ {"label":"*","x":8,"y":0},
+ {"label":"(","x":9,"y":0},
+ {"label":")","x":10,"y":0},
+ {"label":"_","x":11,"y":0},
+ {"label":"+","x":12,"y":0},
+ {"label":"Backspace","x":13,"y":0},
+ {"label":"~","x":14,"y":0},
+
+ {"label":"Num Lock","x":15.5,"y":0},
+ {"label":"/","x":16.5,"y":0},
+ {"label":"*","x":17.5,"y":0},
+ {"label":"-","x":18.5,"y":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":"7","x":15.5,"y":1},
+ {"label":"8","x":16.5,"y":1},
+ {"label":"9","x":17.5,"y":1},
+ {"label":"+","x":18.5,"y":1},
+
+ {"label":"Caps Lock","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":"~","x":12.75,"y":2},
+ {"label":"Enter","x":13.75,"y":1,"w":1.25,"h":2},
+
+ {"label":"4","x":15.5,"y":2},
+ {"label":"5","x":16.5,"y":2},
+ {"label":"6","x":17.5,"y":2},
+ {"label":"=","x":18.5,"y":2},
+
+ {"label":"Shift","x":0,"y":3,"w":1.25},
+ {"label":"|","x":1.25,"y":3},
+ {"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":1.75},
+
+ {"label":"Up","x":14.25,"y":3.25},
+
+ {"label":"1","x":15.5,"y":3},
+ {"label":"2","x":16.5,"y":3},
+ {"label":"3","x":17.5,"y":3},
+ {"label":"Enter","x":18.5,"y":3},
+
+ {"label":"Ctrl","x":0,"y":4,"w":1.25},
+ {"label":"Win","x":1.25,"y":4},
+ {"label":"Alt","x":2.25,"y":4,"w":1.25},
+ {"label":"Space","x":3.5,"y":4,"w":6},
+ {"label":"Alt","x":9.5,"y":4,"w":1.25},
+ {"label":"Win","x":10.75,"y":4},
+ {"label":"Ctrl","x":11.75,"y":4,"w":1.25},
+
+ {"label":"Left","x":13.25,"y":4.25},
+ {"label":"Down","x":14.25,"y":4.25},
+ {"label":"Right","x":15.25,"y":4.25},
+
+ {"label":"0","x":16.5,"y":4},
+ {"label":".","x":17.5,"y":4},
+ {"label":"Backspace","x":18.5,"y":4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c
new file mode 100644
index 000000000..54eae8e38
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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
+
+#define _MA 0
+#define _F1 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MA] = LAYOUT_ansi( /* Base */
+ KC_GESC, 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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ 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_P4, KC_P5, KC_P6, KC_PEQL,
+ 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
+
+[_F1] = LAYOUT_ansi( /* Function Layer */
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
+ _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______, _______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
+
+};
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default/readme.md b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/readme.md
new file mode 100644
index 000000000..05c370026
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for cypher
\ No newline at end of file
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000..df93c5399
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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
+
+#define _MA 0
+#define _F1 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MA] = LAYOUT_iso( /* Base */
+ KC_GESC, 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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
+ KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTRL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
+
+[_F1] = LAYOUT_iso( /* Function Layer */
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
+ _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______, _______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
+
+};
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/readme.md b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/readme.md
new file mode 100644
index 000000000..81a4a677f
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/default_iso/readme.md
@@ -0,0 +1 @@
+# The default iso keymap for cypher
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/config.h b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/config.h
new file mode 100644
index 000000000..947e340c3
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/config.h
@@ -0,0 +1,33 @@
+/* Copyright 2018 westfoxtrot
+ *
+ * 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 .
+ */
+
+#pragma once
+
+#define RGB_DI_PIN F7
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 15
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 15
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+ #define RGBLIGHT_EFFECT_KNIGHT
+ #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 5
+ #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+ #endif
+
+// place overrides here
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
new file mode 100644
index 000000000..2d7bf2a5e
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
@@ -0,0 +1,79 @@
+/* Copyright 2018 westfoxtrot
+ * Copyright 2019 kwerdenker
+ *
+ * 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
+#include "keymap_german.h"
+
+#define _DL 0
+#define _FN 1
+#define _LE 2
+
+#define SPECIAL LT(_FN, DE_CIRC) //capslock layer switch + stargate key on tap
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_DL] = LAYOUT_iso (
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, _______, KC_NLCK, KC_PSCR,KC_PSLS,KC_PAST,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, _______, KC_LALT, KC_SPC, _______, KC_RALT, TG(_LE), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_NO
+ ),
+
+ [_FN] = LAYOUT_iso (
+ DE_RING, 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_DEL, _______, _______, _______, _______, _______,
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_LE] = LAYOUT_iso (
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+
+
+void matrix_init_user(void) {
+ //user initialization
+}
+
+void matrix_scan_user(void) {
+ //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+ // Insert custom handling for CAPS_LOCK, NUM_LOCK, SCROLL_LOCK here
+ if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
+ writePinHigh(F4);
+ writePinHigh(F1);
+ writePinHigh(F5);
+ } else {
+ writePinLow(F4);
+ writePinLow(F1);
+ writePinLow(F5);
+ }
+}
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/readme.md b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/readme.md
new file mode 100644
index 000000000..c1a132e71
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/readme.md
@@ -0,0 +1,39 @@
+# The kwer keymap and RGB MOD for cypher
+
+![](https://i.imgur.com/b7snIju.jpg)
+
+## Hardware
+To make this mod, all you need a piece of WS2812b RGB strip (I used one with 144 LEDs per meter, so it's rather dense), some wiring (I used 0.6mm solid core wire) and steady hands for soldering to the MCU pin.
+
+**Installed mod**
+![](https://i.imgur.com/IKcFd0k.jpg)
+
+As you can see, the wiring is relatively simple. VCC and GND can be easily accessed through the ISP header on the right side of the spacebar while the DATA line can be routed relatively easy through one of the stabilizer holes. While it isn't important where exactly you solder the VCC/GND wires to their respective lines on the strip, you have to keep the direction of the data line in mind. Most strip have arrows printed on them to show you in which direction the data is shifted through the LEDs and your should always solder your DATA line on the _from_ side, as seen in the above picture.
+
+**Close-up for the VCC/GND connections**
+![](https://i.imgur.com/K0OibwW.jpg)
+
+Since there is no pinout availble for the pin we're gonna use to control the strip, the line has to be soldered to the MCU directly. While this is not a very complex process, you should have a fine tipped soldering irong and a steady hand. Make sure you do not bridge any of the neighboring pins when soldering the wire to the MCU pin. As shown in the picture below, you want to connect the DATA line to the third pin from the right on the top of the controller chip.
+
+**Close-up for the DATA connection**
+![](https://i.imgur.com/zkD3RjF.jpg)
+
+## Software
+To enable your RGB strip in QMK, you have to add change/add the following lines
+
+**rules.mk**
+```
+[...]
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+[...]
+```
+
+**config.h**
+```
+[...]
+#define RGB_DI_PIN F7
+#define RGBLED_NUM 15 // Change this number to the amount of LEDs on the strip you soldered
+#define RGBLIGHT_ANIMATIONS
+[...]
+```
+To control the RGB color, animation, etc. you need to add the appropriate keycodes to your keymap. Either see [my keymap](./keymap.c) or the [official QMK documentation](https://docs.qmk.fm/#/feature_rgblight?id=keycodes) for references.
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/rules.mk b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/rules.mk
new file mode 100644
index 000000000..df87c59a2
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/rules.mk
@@ -0,0 +1,2 @@
+# Build options override
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/westfoxtrot/cypher/rev1/readme.md b/keyboards/westfoxtrot/cypher/rev1/readme.md
new file mode 100644
index 000000000..5e57fd8a4
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/readme.md
@@ -0,0 +1,13 @@
+# cypher
+
+PCB for the cypher keyboard
+
+* Keyboard Maintainer: [westfoxtrot](https://github.com/westfoxtrot)
+* Hardware Supported: Cypher PCB revisions 1-4 (Rev # is printed on PCB)
+* Hardware Availability: with group buy + [Files released here](https://github.com/westfoxtrot/Cypher_PCB)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make westfoxtrot/cypher/rev1:default
+
+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).
diff --git a/keyboards/westfoxtrot/cypher/rev1/rev1.c b/keyboards/westfoxtrot/cypher/rev1/rev1.c
new file mode 100644
index 000000000..78b4b6b46
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/rev1.c
@@ -0,0 +1,31 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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 "rev1.h"
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if(res) {
+ // writePin sets the pin high for 1 and low for 0.
+ // In this example the pins are inverted, setting
+ // it low/0 turns it on, and high/1 turns the LED off.
+ // This behavior depends on whether the LED is between the pin
+ // and VCC or the pin and GND.
+ writePin(F4, led_state.num_lock);
+ writePin(F1, led_state.caps_lock);
+ writePin(F5, led_state.scroll_lock);
+ }
+ return res;
+}
diff --git a/keyboards/westfoxtrot/cypher/rev1/rev1.h b/keyboards/westfoxtrot/cypher/rev1/rev1.h
new file mode 100644
index 000000000..fdff12e9b
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/rev1.h
@@ -0,0 +1,68 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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 .
+ */
+#pragma once
+
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/* This 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_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K50, K51, K52, K53, K54, K55, K56, K57, K58,\
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K60, K61, K62, K63, K65, K66, K67, K68, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K70, K71, K73, K75, K76, K77, K78, \
+ K30, K32, K33, K34, K35, K36, K37, K38, K39, K80, K81, K82, K83, K85, K86, K87, K88, \
+ K40, K41, K42, K46, K49, K90, K91, K92, K93, K95, K96, K97, K98 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39 }, \
+ { K40, K41, K42, ___, ___, ___, K46, ___, ___, K49 }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
+ { K60, K61, K62, K63, ___, K65, K66, K67, K68 }, \
+ { K70, K71, ___, K73, ___, K75, K76, K77, K78 }, \
+ { K80, K81, K82, K83, ___, K85, K86, K87, K88 }, \
+ { K90, K91, K92, K93, ___, K95, K96, K97, K98 } \
+}
+
+#define LAYOUT_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K50, K51, K52, K53, K54, K55, K56, K57, K58,\
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K60, K61, K62, K65, K66, K67, K68, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K70, K71, K72, K73, K75, K76, K77, K78, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K80, K81, K82, K83, K85, K86, K87, K88, \
+ K40, K41, K42, K46, K49, K90, K91, K92, K93, K95, K96, K97, K98 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
+ { K40, K41, K42, ___, ___, ___, K46, ___, ___, K49 }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
+ { K60, K61, K62, ___, ___, K65, K66, K67, K68 }, \
+ { K70, K71, K72, K73, ___, K75, K76, K77, K78 }, \
+ { K80, K81, K82, K83, ___, K85, K86, K87, K88 }, \
+ { K90, K91, K92, K93, ___, K95, K96, K97, K98 } \
+}
diff --git a/keyboards/westfoxtrot/cypher/rev1/rules.mk b/keyboards/westfoxtrot/cypher/rev1/rules.mk
new file mode 100644
index 000000000..4703282ff
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev1/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+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
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/westfoxtrot/cypher/rev5/config.h b/keyboards/westfoxtrot/cypher/rev5/config.h
new file mode 100644
index 000000000..111771ae8
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/config.h
@@ -0,0 +1,81 @@
+/*
+Copyright 2019 westfoxtrot
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x21FF
+#define PRODUCT_ID 0xAA97
+#define DEVICE_VER 0x0002
+#define MANUFACTURER westfoxtrot
+#define PRODUCT cypher
+#define DESCRIPTION Cypher
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 10
+
+/*
+ * 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 { B0, F1, F5, F6, F7, D1, F4, D4, C6, C7 }
+#define MATRIX_COL_PINS { D6, D7, B4, B5, B6, B7, B3, B2, B1, F0 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 5
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 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
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+#define GRAVE_ESC_CTRL_OVERRIDE
+
+
+
+
+#define BACKLIGHT_PIN D0
+
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 10
+ #define RGBLIGHT_HUE_STEP 12
+ #define RGBLIGHT_SAT_STEP 25
+ #define RGBLIGHT_VAL_STEP 12
+ #define RGBLIGHT_LIMIT_VAL 255
+ #define RGBLIGHT_SLEEP
+ #define RGBLIGHT_ANIMATIONS
+#endif
diff --git a/keyboards/westfoxtrot/cypher/rev5/info.json b/keyboards/westfoxtrot/cypher/rev5/info.json
new file mode 100644
index 000000000..50f51651c
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/info.json
@@ -0,0 +1,110 @@
+{
+ "keyboard_name": "Cypher",
+ "width": 19.5,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"~","x":0,"y":0},
+ {"label":"!","x":1,"y":0},
+ {"label":"@","x":2,"y":0},
+ {"label":"#","x":3,"y":0},
+ {"label":"$","x":4,"y":0},
+ {"label":"%","x":5,"y":0},
+ {"label":"^","x":6,"y":0},
+ {"label":"&","x":7,"y":0},
+ {"label":"*","x":8,"y":0},
+ {"label":"(","x":9,"y":0},
+ {"label":")","x":10,"y":0},
+ {"label":"_","x":11,"y":0},
+ {"label":"+","x":12,"y":0},
+ {"label":"Backspace","x":13,"y":0},
+ {"label":"~","x":14,"y":0},
+
+ {"label":"Num Lock","x":15.5,"y":0},
+ {"label":"/","x":16.5,"y":0},
+ {"label":"*","x":17.5,"y":0},
+ {"label":"-","x":18.5,"y":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":"7","x":15.5,"y":1},
+ {"label":"8","x":16.5,"y":1},
+ {"label":"9","x":17.5,"y":1},
+ {"label":"+","x":18.5,"y":1},
+
+ {"label":"Caps Lock","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":"NUHS","x":12.75,"y":2},
+ {"label":"Enter","x":13.75,"y":2,"w":1.25},
+
+ {"label":"4","x":15.5,"y":2},
+ {"label":"5","x":16.5,"y":2},
+ {"label":"6","x":17.5,"y":2},
+ {"label":"=","x":18.5,"y":2},
+
+ {"label":"Shift","x":0,"y":3,"w":1.25},
+ {"label":"Shift","x":1.25,"y":3},
+ {"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":1.75},
+
+ {"label":"Up","x":14.25,"y":3.25},
+
+ {"label":"1","x":15.5,"y":3},
+ {"label":"2","x":16.5,"y":3},
+ {"label":"3","x":17.5,"y":3},
+ {"label":"Enter","x":18.5,"y":3},
+
+ {"label":"Ctrl","x":0,"y":4,"w":1.25},
+ {"label":"Win","x":1.25,"y":4},
+ {"label":"Alt","x":2.25,"y":4,"w":1.25},
+ {"label":"Space","x":3.5,"y":4,"w":1.5},
+ {"label":"Space","x":5,"y":4,"w":3},
+ {"label":"Space","x":8,"y":4,"w":1.5},
+ {"label":"Alt","x":9.5,"y":4,"w":1.25},
+ {"label":"Win","x":10.75,"y":4},
+ {"label":"Ctrl","x":11.75,"y":4,"w":1.25},
+
+ {"label":"Left","x":13.25,"y":4.25},
+ {"label":"Down","x":14.25,"y":4.25},
+ {"label":"Right","x":15.25,"y":4.25},
+
+ {"label":"0","x":16.5,"y":4},
+ {"label":".","x":17.5,"y":4},
+ {"label":"Backspace","x":18.5,"y":4}
+ ]
+ }
+ }
+ }
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c
new file mode 100644
index 000000000..f9d6bc8e5
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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
+
+#define _MA 0
+#define _F1 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MA] = LAYOUT_all( /* Base */
+ 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_NO, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ 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_NO, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
+ KC_LSFT,KC_NO ,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI,KC_LALT, KC_SPC,KC_SPC,KC_SPC, KC_RALT,KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
+
+[_F1] = LAYOUT_all( /* Function Layer */
+ RESET, 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_DEL , _______, _______, _______, _______, _______,
+ _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______, _______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
+
+};
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default/readme.md b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/readme.md
new file mode 100644
index 000000000..05c370026
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for cypher
\ No newline at end of file
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000..e3bda0c00
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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
+
+#define _MA 0
+#define _F1 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MA] = LAYOUT_all( /* Base */
+ KC_GESC, 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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_NO, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
+ KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTRL, KC_LGUI,KC_LALT, KC_NO,KC_SPC,KC_NO, KC_RALT,KC_RGUI,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
+
+[_F1] = LAYOUT_all( /* Function Layer */
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
+ _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______, _______, _______, _______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______, _______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
+
+};
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/readme.md b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/readme.md
new file mode 100644
index 000000000..81a4a677f
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/default_iso/readme.md
@@ -0,0 +1 @@
+# The default iso keymap for cypher
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
new file mode 100644
index 000000000..e23b83e14
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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
+
+#define _MA 0
+#define _F1 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_MA] = LAYOUT_all( /* Base */
+ 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_P7, KC_P8, KC_P9, KC_PPLS,
+ 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_NO, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
+ KC_LSFT,KC_BSLS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_CAPS, KC_LGUI,KC_LALT, KC_NO,KC_SPC,KC_NO, KC_RALT,KC_RALT,MO(_F1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT, KC_BSPC),
+
+[_F1] = LAYOUT_all( /* Function Layer */
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
+ _______, BL_TOGG,BL_STEP,BL_ON,BL_OFF,BL_INC,BL_DEC,BL_BRTG,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, _______, _______, _______, _______, _______,
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,_______, _______,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______),
+
+};
+
+void matrix_init_user(void) {
+ //user initialization
+}
+
+void matrix_scan_user(void) {
+ //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
diff --git a/keyboards/westfoxtrot/cypher/rev5/keymaps/max/readme.md b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/readme.md
new file mode 100644
index 000000000..05c370026
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/keymaps/max/readme.md
@@ -0,0 +1 @@
+# The default keymap for cypher
\ No newline at end of file
diff --git a/keyboards/westfoxtrot/cypher/rev5/readme.md b/keyboards/westfoxtrot/cypher/rev5/readme.md
new file mode 100644
index 000000000..d7b78d594
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/readme.md
@@ -0,0 +1,13 @@
+# cypher
+
+PCB for the cypher keyboard
+
+* Keyboard Maintainer: [westfoxtrot](https://github.com/westfoxtrot)
+* Hardware Supported: Cypher PCB revisions 5 (Rev # is printed on PCB)
+* Hardware Availability: with group buy + [Files released here](https://github.com/westfoxtrot/Cypher_PCB)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make westfoxtrot/cypher/rev5:default
+
+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).
diff --git a/keyboards/westfoxtrot/cypher/rev5/rev5.c b/keyboards/westfoxtrot/cypher/rev5/rev5.c
new file mode 100644
index 000000000..b75fd650e
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/rev5.c
@@ -0,0 +1,31 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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 "rev5.h"
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if(res) {
+ // writePin sets the pin high for 1 and low for 0.
+ // In this example the pins are inverted, setting
+ // it low/0 turns it on, and high/1 turns the LED off.
+ // This behavior depends on whether the LED is between the pin
+ // and VCC or the pin and GND.
+ writePin(D3, led_state.num_lock);
+ writePin(D5, led_state.caps_lock);
+ writePin(D2, led_state.scroll_lock);
+ }
+ return res;
+}
diff --git a/keyboards/westfoxtrot/cypher/rev5/rev5.h b/keyboards/westfoxtrot/cypher/rev5/rev5.h
new file mode 100644
index 000000000..d005ebc97
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/rev5.h
@@ -0,0 +1,48 @@
+/* Copyright 2019 westfoxtrot
+ *
+ * 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 .
+ */
+#pragma once
+
+#define ___ KC_NO
+
+#include "quantum.h"
+
+/* This 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, K50, K51, K52, K53, K54, K55, K56, K57, K58,\
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K60, K61, K62, K63, K65, K66, K67, K68, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K70, K71, K72, K73, K75, K76, K77, K78, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K80, K81, K82, K83, K85, K86, K87, K88, \
+ K40, K41, K42, K44, K46, K47, K49, K90, K91, K92, K93, K95, K96, K97, K98 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
+ { K40, K41, K42, ___, K44, ___, K46, K47, ___, K49 }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
+ { K60, K61, K62, K63, ___, K65, K66, K67, K68 }, \
+ { K70, K71, K72, K73, ___, K75, K76, K77, K78 }, \
+ { K80, K81, K82, K83, ___, K85, K86, K87, K88 }, \
+ { K90, K91, K92, K93, ___, K95, K96, K97, K98 } \
+}
diff --git a/keyboards/westfoxtrot/cypher/rev5/rules.mk b/keyboards/westfoxtrot/cypher/rev5/rules.mk
new file mode 100644
index 000000000..a41c12af5
--- /dev/null
+++ b/keyboards/westfoxtrot/cypher/rev5/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs
diff --git a/keyboards/westfoxtrot/cypher/rules.mk b/keyboards/westfoxtrot/cypher/rules.mk
deleted file mode 100644
index 4703282ff..000000000
--- a/keyboards/westfoxtrot/cypher/rules.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
--
cgit v1.2.3-70-g09d2