/* * Copyright 2020 Michael Schwingen * 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 0x558E #define DEVICE_VER 0x0001 #define MANUFACTURER mschwingen #define PRODUCT IBM Model M 101/102 /* key matrix size */ #define MATRIX_ROWS 16 #define MATRIX_COLS 8 /* pins for external shift registers */ #define SR_LOAD_PIN B0 #define SR_CLK_PIN B1 #define SR_DIN_PIN B3 #define SR_DOUT_PIN B2 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */ #define DEBOUNCE 5 /* * Feature disable options * These options are also useful to firmware size reduction. */ /* disable debug print */ //#define NO_DEBUG /* disable print */ //#define NO_PRINT #define NORMAL_PRINT //#define USER_PRINT /* disable action features */ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION //#define DEBUG_MATRIX_SCAN_RATE #define DYNAMIC_MACRO_NO_NESTING #define QMK_LED E6 #define MODELM_LED1 B5 #define MODELM_LED2 B6 #define MODELM_LED3 D0 #if defined(KEYBOARD_mschwingen_modelm_led_wired) # define MODELM_LED_CAPSLOCK MODELM_LED1 # define MODELM_LED_SCROLLOCK MODELM_LED2 # define MODELM_LED_NUMLOCK MODELM_LED3 #elif defined(KEYBOARD_mschwingen_modelm_led_ffc) # define MODELM_LED_CAPSLOCK MODELM_LED2 # define MODELM_LED_SCROLLOCK MODELM_LED3 # define MODELM_LED_NUMLOCK MODELM_LED1 #elif defined(KEYBOARD_mschwingen_modelm_led_ws2812) #else # error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set! #endif // 3* WS2812 LEDs instead of singlecolor GPIO LEDs #define RGB_DI_PIN B6 #define RGBLED_NUM 3 // disabled, needs PCB patch. //#define AUDIO_PIN C6 //#define NO_MUSIC_MODE