From edebe56f6b48084a7bbff6c494dd71c5620156b9 Mon Sep 17 00:00:00 2001 From: tomic1785 <37966316+tomic1785@users.noreply.github.com> Date: Sun, 4 Oct 2020 21:50:03 +0200 Subject: [Keyboard] Add Yugo-M Controller (#10389) * Created folder structure and blank files * Update the yugo_m initial blank files * Add yugo_m default keymap * Update yugo_m info.json * Fix yugo_m keymap.c * keymap.c update * Changed subfolder name * File names * Fixed lock LEDs problem * Returned old subfolder name; LEDs fix * Activated anti-ghosting feature in config.h * Update readme.md * Changed LAYOUT to LAYOUT_all * Updated keymap.c * corrected LAYOUT to LAYOUT_all in info.json * Rewritten readme.md according to the template * Removed backslashes from keymap.c * Fixed readme.md * Fixed readme.md again * Tidying up readme.md * Tidying up comments and readme.md * Removed a line from rules.mk * Update keyboards/yugo_m/model_m_101/model_m_101.h Co-authored-by: Joel Challis * Removed chconf, halconf, mcuconf * Updated LED control * Update keyboards/yugo_m/model_m_101/rules.mk Co-authored-by: Joel Challis * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: Joel Challis * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Updated readme.md, there was an outdated info * Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: Joel Challis Co-authored-by: Nidzo Tomic Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan --- keyboards/yugo_m/model_m_101/config.h | 100 ++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 keyboards/yugo_m/model_m_101/config.h (limited to 'keyboards/yugo_m/model_m_101/config.h') diff --git a/keyboards/yugo_m/model_m_101/config.h b/keyboards/yugo_m/model_m_101/config.h new file mode 100644 index 0000000000..76580a60e4 --- /dev/null +++ b/keyboards/yugo_m/model_m_101/config.h @@ -0,0 +1,100 @@ +/* +Copyright 2020 Nidzo Tomic + +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 0xFEED +#define PRODUCT_ID 0x8E81 // Yugo-M +#define DEVICE_VER 0x0001 +#define MANUFACTURER IBM +#define PRODUCT Yugo-M (Model M replacement controller) +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +/* + * 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 { B8, B7, B6, B5, B4, B3, A15, A14 } +#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 } +#define UNUSED_PINS { A0, A1, A2, A10, A13, B9, C13, C14, C15 } + + + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +/* define if matrix has ghost */ +#define MATRIX_HAS_GHOST + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */ +#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 + + +/* + * 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 + +/* + * 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 -- cgit v1.2.3