summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ.Flanagan <jrfhoutx@comcast.net>2019-10-28 18:57:16 -0500
committernoroadsleft <18669334+noroadsleft@users.noreply.github.com>2019-10-28 16:57:16 -0700
commitc7a8cab8831f18778e4d46e3c6bfe36803656986 (patch)
tree1f7bda42fafe735e83458d939635d2912a7ad56d
parent947e61eaebf168c0c60be34914141cff9a69e599 (diff)
[Keyboard] Add M0116b keyboard (#7162)
* initial commit restart of m0116b development * initial commit restart of m0116b development * Major and minor changes for new PCB design Changed matrix_row_pins and matrix_sol_pins to match new PCB design Changed layout matrix to match new PCB design Minor changes to settings in rules.mk Minor changes to readme.md files * Update rules.mk Changed settings in rules.mk * major and minor changes added a default keymap (copy of the m0116 keymap, just to have a default option) changes to the info.json * initial commit restart of m0116b development * Major and minor changes for new PCB design Changed matrix_row_pins and matrix_sol_pins to match new PCB design Changed layout matrix to match new PCB design Minor changes to settings in rules.mk Minor changes to readme.md files * Update rules.mk Changed settings in rules.mk * major and minor changes added a default keymap (copy of the m0116 keymap, just to have a default option) changes to the info.json * Update keyboards/sck/m0116b/keymaps/default/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/default/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0116/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0116/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0118/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/m0116b.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/m0116b.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0118/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Requested changes Changes per requests * Changes to keymaps Changes as discussed corrected location of custom_keycodes declaration and changed custom keycode in keymap per request and discussion.
-rw-r--r--keyboards/sck/m0116b/config.h249
-rw-r--r--keyboards/sck/m0116b/info.json183
-rw-r--r--keyboards/sck/m0116b/keymaps/default/config.h20
-rw-r--r--keyboards/sck/m0116b/keymaps/default/keymap.c100
-rw-r--r--keyboards/sck/m0116b/keymaps/default/readme.md1
-rw-r--r--keyboards/sck/m0116b/keymaps/m0116/config.h20
-rw-r--r--keyboards/sck/m0116b/keymaps/m0116/keymap.c100
-rw-r--r--keyboards/sck/m0116b/keymaps/m0116/readme.md1
-rw-r--r--keyboards/sck/m0116b/keymaps/m0118/config.h19
-rw-r--r--keyboards/sck/m0116b/keymaps/m0118/keymap.c100
-rw-r--r--keyboards/sck/m0116b/keymaps/m0118/readme.md1
-rw-r--r--keyboards/sck/m0116b/m0116b.c51
-rw-r--r--keyboards/sck/m0116b/m0116b.h58
-rw-r--r--keyboards/sck/m0116b/readme.md26
-rw-r--r--keyboards/sck/m0116b/rules.mk33
15 files changed, 962 insertions, 0 deletions
diff --git a/keyboards/sck/m0116b/config.h b/keyboards/sck/m0116b/config.h
new file mode 100644
index 0000000000..03fa9f2557
--- /dev/null
+++ b/keyboards/sck/m0116b/config.h
@@ -0,0 +1,249 @@
+/*
+Copyright 2019 jrfhoutx
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER jrfhoutx
+#define PRODUCT Golden Delicious
+#define DESCRIPTION Golden Delicious (M0116B) - Apple M0116/M0118 Replacement PCB
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 18
+
+/*
+ * 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 { D1, F0, F1, F4, F5, F6 }
+#define MATRIX_COL_PINS { D5, D3, D2, D0, B3, B2, B1, B0, E6, B5, B6, C6, C7, F7, D4, D6, D7, B4 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN E2
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 16
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* 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
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP H
+//#define MAGIC_KEY_HELP_ALT SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER0_ALT GRAVE
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER B
+//#define MAGIC_KEY_BOOTLOADER_ALT ESC
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * 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
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/*
+ * HD44780 LCD Display Configuration
+ */
+/*
+#define LCD_LINES 2 //< number of visible lines of the display
+#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
+
+#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
+
+#if LCD_IO_MODE
+#define LCD_PORT PORTB //< port for the LCD lines
+#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
+#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
+#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
+#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
+#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
+#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
+#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
+#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
+#define LCD_RS_PORT LCD_PORT //< port for RS line
+#define LCD_RS_PIN 3 //< pin for RS line
+#define LCD_RW_PORT LCD_PORT //< port for RW line
+#define LCD_RW_PIN 2 //< pin for RW line
+#define LCD_E_PORT LCD_PORT //< port for Enable line
+#define LCD_E_PIN 1 //< pin for Enable line
+#endif
+*/
+
+/* Bootmagic Lite key configuration */
+ #define BOOTMAGIC_LITE_ROW 0
+ #define BOOTMAGIC_LITE_COLUMN 6
diff --git a/keyboards/sck/m0116b/info.json b/keyboards/sck/m0116b/info.json
new file mode 100644
index 0000000000..e8d8fb221f
--- /dev/null
+++ b/keyboards/sck/m0116b/info.json
@@ -0,0 +1,183 @@
+{
+ "keyboard_name": "Golden Delicious - M0116B",
+ "url": "https://github.com/jrfhoutx",
+ "maintainer": "jrfhoutx",
+ "width": 19.5,
+ "height": 6.25,
+ "layouts": {
+ "LAYOUT_m0116_ansi": {
+ "key_count": 81,
+ "layout": [
+ {"label":"K06 (D1,B2)", "x":5, "y":0, "w":2},
+ {"label":"K10 (F0,D5)", "x":0, "y":1.25},
+ {"label":"K11 (F0,D3)", "x":1, "y":1.25},
+ {"label":"K12 (F0,D2)", "x":2, "y":1.25},
+ {"label":"K13 (F0,D0)", "x":3, "y":1.25},
+ {"label":"K14 (F0,B7)", "x":4, "y":1.25},
+ {"label":"K15 (F0,B3)", "x":5, "y":1.25},
+ {"label":"K16 (F0,B2)", "x":6, "y":1.25},
+ {"label":"K17 (F0,B1)", "x":7, "y":1.25},
+ {"label":"K18 (F0,B0)", "x":8, "y":1.25},
+ {"label":"K19 (F0,B5)", "x":9, "y":1.25},
+ {"label":"K1A (F0,B6)", "x":10, "y":1.25},
+ {"label":"K1B (F0,C6)", "x":11, "y":1.25},
+ {"label":"K1C (F0,C7)", "x":12, "y":1.25},
+ {"label":"K1D (F0,F7)", "x":13, "y":1.25, "w":1.5},
+ {"label":"K1E (F0,D4)", "x":15.5, "y":1.25},
+ {"label":"K1F (F0,D6)", "x":16.5, "y":1.25},
+ {"label":"K1G (F0,D7)", "x":17.5, "y":1.25},
+ {"label":"K1H (F0,B4)", "x":18.5, "y":1.25},
+ {"label":"K20 (F1,D5)", "x":0, "y":2.25, "w":1.5},
+ {"label":"K21 (F1,D3)", "x":1.5, "y":2.25},
+ {"label":"K22 (F1,D2)", "x":2.5, "y":2.25},
+ {"label":"K23 (F1,D0)", "x":3.5, "y":2.25},
+ {"label":"K24 (F1,B7)", "x":4.5, "y":2.25},
+ {"label":"K25 (F1,B3)", "x":5.5, "y":2.25},
+ {"label":"K26 (F1,B2)", "x":6.5, "y":2.25},
+ {"label":"K27 (F1,B1)", "x":7.5, "y":2.25},
+ {"label":"K28 (F1,B0)", "x":8.5, "y":2.25},
+ {"label":"K29 (F1,B5)", "x":9.5, "y":2.25},
+ {"label":"K2A (F1,B6)", "x":10.5, "y":2.25},
+ {"label":"K2B (F1,C6)", "x":11.5, "y":2.25},
+ {"label":"K2C (F1,C7)", "x":12.5, "y":2.25},
+ {"label":"K2D (F1,F7)", "x":13.5, "y":2.25, "h":2},
+ {"label":"K2E (F1,D4)", "x":15.5, "y":2.25},
+ {"label":"K2F (F1,D6)", "x":16.5, "y":2.25},
+ {"label":"K2G (F1,D7)", "x":17.5, "y":2.25},
+ {"label":"K2H (F1,B4)", "x":18.5, "y":2.25},
+ {"label":"K30 (F4,D5)", "x":0, "y":3.25, "w":1.75},
+ {"label":"K31 (F4,D3)", "x":1.75, "y":3.25},
+ {"label":"K32 (F4,D2)", "x":2.75, "y":3.25},
+ {"label":"K33 (F4,D0)", "x":3.75, "y":3.25},
+ {"label":"K34 (F4,B7)", "x":4.75, "y":3.25},
+ {"label":"K35 (F4,B3)", "x":5.75, "y":3.25},
+ {"label":"K36 (F4,B2)", "x":6.75, "y":3.25},
+ {"label":"K37 (F4,B1)", "x":7.75, "y":3.25},
+ {"label":"K38 (F4,B0)", "x":8.75, "y":3.25},
+ {"label":"K39 (F4,B5)", "x":9.75, "y":3.25},
+ {"label":"K3A (F4,B6)", "x":10.75, "y":3.25},
+ {"label":"K3B (F4,C6)", "x":11.75, "y":3.25},
+ {"label":"K3C (F4,D4)", "x":15.5, "y":3.25},
+ {"label":"K3D (F4,D6)", "x":16.5, "y":3.25},
+ {"label":"K3E (F4,D7)", "x":17.5, "y":3.25},
+ {"label":"K3F (F4,B4)", "x":18.5, "y":3.25},
+ {"label":"K40 (F5,D5)", "x":0, "y":4.25, "w":2.25},
+ {"label":"K42 (F5,D2)", "x":2.25, "y":4.25},
+ {"label":"K43 (F5,D0)", "x":3.25, "y":4.25},
+ {"label":"K44 (F5,B7)", "x":4.25, "y":4.25},
+ {"label":"K45 (F5,B3)", "x":5.25, "y":4.25},
+ {"label":"K46 (F5,B2)", "x":6.25, "y":4.25},
+ {"label":"K47 (F5,B1)", "x":7.25, "y":4.25},
+ {"label":"K48 (F5,B0)", "x":8.25, "y":4.25},
+ {"label":"K49 (F5,B5)", "x":9.25, "y":4.25},
+ {"label":"K4A (F5,B6)", "x":10.25, "y":4.25},
+ {"label":"K4B (F5,C6)", "x":11.25, "y":4.25},
+ {"label":"K4C (F5,C7)", "x":12.25, "y":4.25, "w":2.25},
+ {"label":"K4E (F5,D4)", "x":15.5, "y":4.25},
+ {"label":"K4F (F5,D6)", "x":16.5, "y":4.25},
+ {"label":"K4G (F5,D7)", "x":17.5, "y":4.25},
+ {"label":"K4H (F4,B4)", "x":18.5, "y":4.25, "h":2},
+ {"label":"K50 (F6,D5)", "x":0, "y":5.25},
+ {"label":"K51 (F6,D3)", "x":1, "y":5.25},
+ {"label":"K52 (F6,D2)", "x":2, "y":5.25, "w":1.75},
+ {"label":"K53 (F6,D0)", "x":3.75, "y":5.25},
+ {"label":"K56 (F6,B2)", "x":4.75, "y":5.25, "w":4.75},
+ {"label":"K59 (F6,B5)", "x":9.5, "y":5.25},
+ {"label":"K5A (F6,B6)", "x":10.5, "y":5.25},
+ {"label":"K5B (F6,C6)", "x":11.5, "y":5.25},
+ {"label":"K5C (F6,C7)", "x":12.5, "y":5.25},
+ {"label":"K5D (F6,F7)", "x":13.5, "y":5.25},
+ {"label":"K5E (F6,D4)", "x":15.5, "y":5.25, "w":2},
+ {"label":"K5G (F6,D7)", "x":17.5, "y":5.25}
+ ]
+ },
+ "LAYOUT_m0118_iso": {
+ "key_count": 82,
+ "layout": [
+ {"label":"K06 (D1,B2)", "x":5, "y":0, "w":2},
+ {"label":"K10 (F0,D5)", "x":0, "y":1.25},
+ {"label":"K11 (F0,D3)", "x":1, "y":1.25},
+ {"label":"K12 (F0,D2)", "x":2, "y":1.25},
+ {"label":"K13 (F0,D0)", "x":3, "y":1.25},
+ {"label":"K14 (F0,B7)", "x":4, "y":1.25},
+ {"label":"K15 (F0,B3)", "x":5, "y":1.25},
+ {"label":"K16 (F0,B2)", "x":6, "y":1.25},
+ {"label":"K17 (F0,B1)", "x":7, "y":1.25},
+ {"label":"K18 (F0,B0)", "x":8, "y":1.25},
+ {"label":"K19 (F0,B5)", "x":9, "y":1.25},
+ {"label":"K1A (F0,B6)", "x":10, "y":1.25},
+ {"label":"K1B (F0,C6)", "x":11, "y":1.25},
+ {"label":"K1C (F0,C7)", "x":12, "y":1.25},
+ {"label":"K1D (F0,F7)", "x":13, "y":1.25, "w":1.5},
+ {"label":"K1E (F0,D4)", "x":15.5, "y":1.25},
+ {"label":"K1F (F0,D6)", "x":16.5, "y":1.25},
+ {"label":"K1G(F0,D7)", "x":17.5, "y":1.25},
+ {"label":"K1H (F0,B4)", "x":18.5, "y":1.25},
+ {"label":"K20 (F1,D5)", "x":0, "y":2.25, "w":1.5},
+ {"label":"K21 (F1,D3)", "x":1.5, "y":2.25},
+ {"label":"K22 (F1,D2)", "x":2.5, "y":2.25},
+ {"label":"K23 (F1,D0)", "x":3.5, "y":2.25},
+ {"label":"K24 (F1,B7)", "x":4.5, "y":2.25},
+ {"label":"K25 (F1,B3)", "x":5.5, "y":2.25},
+ {"label":"K26 (F1,B2)", "x":6.5, "y":2.25},
+ {"label":"K27 (F1,B1)", "x":7.5, "y":2.25},
+ {"label":"K28 (F1,B0)", "x":8.5, "y":2.25},
+ {"label":"K29 (F1,B5)", "x":9.5, "y":2.25},
+ {"label":"K2A (F1,B6)", "x":10.5, "y":2.25},
+ {"label":"K2B (F1,C6)", "x":11.5, "y":2.25},
+ {"label":"K2C (F1,C7)", "x":12.5, "y":2.25},
+ {"label":"K2D (F1,F7)", "x":13.75, "y":2.25, "w":0.75, "h":2},
+ {"label":"K2E (F1,D4)", "x":15.5, "y":2.25},
+ {"label":"K2F (F1,D6)", "x":16.5, "y":2.25},
+ {"label":"K2G (F1,D7)", "x":17.5, "y":2.25},
+ {"label":"K2H (F1,B4)", "x":18.5, "y":2.25},
+ {"label":"K30 (F4,D5)", "x":0, "y":3.25, "w":1.75},
+ {"label":"K31 (F4,D3)", "x":1.75, "y":3.25},
+ {"label":"K32 (F4,D2)", "x":2.75, "y":3.25},
+ {"label":"K33 (F4,D0)", "x":3.75, "y":3.25},
+ {"label":"K34 (F4,B7)", "x":4.75, "y":3.25},
+ {"label":"K35 (F4,B3)", "x":5.75, "y":3.25},
+ {"label":"K36 (F4,B2)", "x":6.75, "y":3.25},
+ {"label":"K37 (F4,B1)", "x":7.75, "y":3.25},
+ {"label":"K38 (F4,B0)", "x":8.75, "y":3.25},
+ {"label":"K39 (F4,B5)", "x":9.75, "y":3.25},
+ {"label":"K3A (F4,B6)", "x":10.75, "y":3.25},
+ {"label":"K3B (F4,C6)", "x":11.75, "y":3.25},
+ {"label":"K3C (F4,C7)", "x":12.75, "y":3.25},
+ {"label":"K3E (F4,D4)", "x":15.5, "y":3.25},
+ {"label":"K3F (F4,D6)", "x":16.5, "y":3.25},
+ {"label":"K3G (F4,D7)", "x":17.5, "y":3.25},
+ {"label":"K3H (F4,B4)", "x":18.5, "y":3.25},
+ {"label":"K40 (F5,D5)", "x":0, "y":4.25, "w":1.25},
+ {"label":"K41 (F5,D3)", "x":1.25, "y":4.25},
+ {"label":"K42 (F5,D2)", "x":2.25, "y":4.25},
+ {"label":"K43 (F5,D0)", "x":3.25, "y":4.25},
+ {"label":"K44 (F5,B7)", "x":4.25, "y":4.25},
+ {"label":"K45 (F5,B3)", "x":5.25, "y":4.25},
+ {"label":"K46 (F5,B2)", "x":6.25, "y":4.25},
+ {"label":"K47 (F5,B1)", "x":7.25, "y":4.25},
+ {"label":"K48 (F5,B0)", "x":8.25, "y":4.25},
+ {"label":"K49 (F5,B5)", "x":9.25, "y":4.25},
+ {"label":"K4A (F5,B6)", "x":10.25, "y":4.25},
+ {"label":"K4B (F5,C6)", "x":11.25, "y":4.25},
+ {"label":"K4C (F5,C7)", "x":12.25, "y":4.25, "w":1.25},
+ {"label":"K4D (F5,F7)", "x":13.5, "y":4.25},
+ {"label":"K4E (F5,D4)", "x":15.5, "y":4.25},
+ {"label":"K4F (F5,D6)", "x":16.5, "y":4.25},
+ {"label":"K4G (F5,D7)", "x":17.5, "y":4.25},
+ {"label":"K4H (F5,B4)", "x":18.5, "y":4.25, "h":2},
+ {"label":"K50 (F6,D5)", "x":0, "y":5.25, "w":1.25},
+ {"label":"K51 (F6,D3)", "x":1.25, "y":5.25, "w":1.5},
+ {"label":"K52 (F6,D2)", "x":2.75, "y":5.25, "w":1.75},
+ {"label":"K56 (F6,B2)", "x":4.5, "y":5.25, "w":5.25},
+ {"label":"K5A (F6,B6)", "x":9.75, "y":5.25, "w":1.75},
+ {"label":"K5B (F6,C6)", "x":11.5, "y":5.25},
+ {"label":"K5C (F6,C7)", "x":12.5, "y":5.25},
+ {"label":"K5D (F6,F7)", "x":13.5, "y":5.25},
+ {"label":"K5E (F6,D4)", "x":15.5, "y":5.25, "w":2},
+ {"label":"K5G (F6,D7)", "x":17.5, "y":5.25}
+ ]
+ }
+ }
+
+}
diff --git a/keyboards/sck/m0116b/keymaps/default/config.h b/keyboards/sck/m0116b/keymaps/default/config.h
new file mode 100644
index 0000000000..015191d1b6
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/default/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2019 jrfhoutx
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define TAPPING_TERM 200
+// place overrides here
diff --git a/keyboards/sck/m0116b/keymaps/default/keymap.c b/keyboards/sck/m0116b/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b8ae5931f2
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/default/keymap.c
@@ -0,0 +1,100 @@
+/* Copyright 2019 jrfhoutx
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ M0116B = SAFE_RANGE,
+};
+
+#define CALTDEL LCTL(LALT(KC_DEL))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap BASE: (Base Layer) Default Layer
+ * ,---------------------------------------------------------------------------------.
+ * | | CALTDEL | |
+ * `---------------------------------------------------------------------------------'
+ * ,-----------------------------------------------------------. .-------------------.
+ * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |MO(1)| / | * |Paus|
+ * |-----------------------------------------------------------| |-------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | 7 | 8 | 9 | + |
+ * |-----------------------------------------------------| | |-------------------|
+ * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | - |
+ * |-----------------------------------------------------------' |-------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent|
+ * |-----------------------------------------------------------' `--------------| |
+ * |CAPS|Opt |Cmd | ` | Space | \ |Left|Up|Down|Right| | 0 | . | |
+ * `-----------------------------------------------------------' `-------------------'
+ */
+[0] = LAYOUT_m0116_ansi( /* Base */
+ CALTDEL,
+ 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_NLCK, KC_PEQL, KC_PSLS, KC_PAST,
+ 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_ENT, 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_P4, KC_P5, KC_P6, KC_PMNS,
+ 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_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCAP, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, LT(1, KC_BSLS), KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+),
+/* Keymap Layer 1: (Layer 1) Layer 1
+ * ,---------------------------------------------------------------------------------.
+ * | |RESET| |
+ * `---------------------------------------------------------------------------------'
+ * ,-----------------------------------------------------------. .-------------------.
+ * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | | | | | |
+ * |-----------------------------------------------------------| |-------------------|
+ * | | | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------| | |-------------------|
+ * | | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------' |-------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------' `--------------| |
+ * | | | | | M0116B | | | | | | | | | |
+ * `-----------------------------------------------------------' `-------------------'
+ */
+[1] = LAYOUT_m0116_ansi( /* Layer 1 */
+ RESET,
+ KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M0116B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case M0116B:
+ if (record->event.pressed) {
+ // when keycode M0116B is pressed
+ SEND_STRING("Golden Delicious - aka M0116B - The Apple M0116/M0118 Replacement PCB.");
+ } else {
+ // when keycode M0116B is released
+ }
+ break;
+
+ }
+ return true;
+};
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/sck/m0116b/keymaps/default/readme.md b/keyboards/sck/m0116b/keymaps/default/readme.md
new file mode 100644
index 0000000000..ebc0b3e92c
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/default/readme.md
@@ -0,0 +1 @@
+# A keymap for the Golden Delicious, this is for the M0116
diff --git a/keyboards/sck/m0116b/keymaps/m0116/config.h b/keyboards/sck/m0116b/keymaps/m0116/config.h
new file mode 100644
index 0000000000..015191d1b6
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/m0116/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2019 jrfhoutx
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define TAPPING_TERM 200
+// place overrides here
diff --git a/keyboards/sck/m0116b/keymaps/m0116/keymap.c b/keyboards/sck/m0116b/keymaps/m0116/keymap.c
new file mode 100644
index 0000000000..b8ae5931f2
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/m0116/keymap.c
@@ -0,0 +1,100 @@
+/* Copyright 2019 jrfhoutx
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ M0116B = SAFE_RANGE,
+};
+
+#define CALTDEL LCTL(LALT(KC_DEL))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap BASE: (Base Layer) Default Layer
+ * ,---------------------------------------------------------------------------------.
+ * | | CALTDEL | |
+ * `---------------------------------------------------------------------------------'
+ * ,-----------------------------------------------------------. .-------------------.
+ * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |MO(1)| / | * |Paus|
+ * |-----------------------------------------------------------| |-------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | 7 | 8 | 9 | + |
+ * |-----------------------------------------------------| | |-------------------|
+ * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | - |
+ * |-----------------------------------------------------------' |-------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent|
+ * |-----------------------------------------------------------' `--------------| |
+ * |CAPS|Opt |Cmd | ` | Space | \ |Left|Up|Down|Right| | 0 | . | |
+ * `-----------------------------------------------------------' `-------------------'
+ */
+[0] = LAYOUT_m0116_ansi( /* Base */
+ CALTDEL,
+ 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_NLCK, KC_PEQL, KC_PSLS, KC_PAST,
+ 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_ENT, 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_P4, KC_P5, KC_P6, KC_PMNS,
+ 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_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCAP, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, LT(1, KC_BSLS), KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+),
+/* Keymap Layer 1: (Layer 1) Layer 1
+ * ,---------------------------------------------------------------------------------.
+ * | |RESET| |
+ * `---------------------------------------------------------------------------------'
+ * ,-----------------------------------------------------------. .-------------------.
+ * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | | | | | |
+ * |-----------------------------------------------------------| |-------------------|
+ * | | | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------| | |-------------------|
+ * | | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------' |-------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |-----------------------------------------------------------' `--------------| |
+ * | | | | | M0116B | | | | | | | | | |
+ * `-----------------------------------------------------------' `-------------------'
+ */
+[1] = LAYOUT_m0116_ansi( /* Layer 1 */
+ RESET,
+ KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M0116B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case M0116B:
+ if (record->event.pressed) {
+ // when keycode M0116B is pressed
+ SEND_STRING("Golden Delicious - aka M0116B - The Apple M0116/M0118 Replacement PCB.");
+ } else {
+ // when keycode M0116B is released
+ }
+ break;
+
+ }
+ return true;
+};
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/sck/m0116b/keymaps/m0116/readme.md b/keyboards/sck/m0116b/keymaps/m0116/readme.md
new file mode 100644
index 0000000000..6f9eee3e22
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/m0116/readme.md
@@ -0,0 +1 @@
+# The default keymap for the Golden Delicious when used with a M0116
diff --git a/keyboards/sck/m0116b/keymaps/m0118/config.h b/keyboards/sck/m0116b/keymaps/m0118/config.h
new file mode 100644
index 0000000000..499a4753f4
--- /dev/null
+++ b/keyboards/sck/m0116b/keymaps/m0118/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2019 jrfhoutx
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
diff --git a/keyboards/sck/m0116b/keymaps/m0118/keymap.c b/keyboards/sck/m0116b/keymaps/m0118/keymap.c
new file mode 100644
index 0000000000..094d700661
--- /dev/null
+++ b/