qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

config.h (1707B)


      1 /*
      2 Copyright 2021 Yiancar-Designs
      3 
      4 This program is free software: you can redistribute it and/or modify
      5 it under the terms of the GNU General Public License as published by
      6 the Free Software Foundation, either version 2 of the License, or
      7 (at your option) any later version.
      8 
      9 This program is distributed in the hope that it will be useful,
     10 but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 GNU General Public License for more details.
     13 
     14 You should have received a copy of the GNU General Public License
     15 along with this program.  If not, see <http://www.gnu.org/licenses/>.
     16 */
     17 
     18 #pragma once
     19 
     20 
     21 /* key matrix size */
     22 #define MATRIX_ROWS 5
     23 #define MATRIX_COLS 15
     24 
     25 /*
     26  * Keyboard Matrix Assignments
     27  *
     28  * Change this to how you wired your keyboard
     29  * COLS: AVR pins used for columns, left to right
     30  * ROWS: AVR pins used for rows, top to bottom
     31  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
     32  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
     33  *
     34  */
     35 
     36 /* A Custom matrix.c is used to poll the port expander D5 shows that the pins are hardwired there */
     37 #define MATRIX_ROW_PINS { C0, B4, B3, B2, B5 }
     38 #define MATRIX_COL_PINS { B0, D7, D6, D4, B1, C1, C2, D1, C3, D0, D5, D5, D5, D5, D5 }
     39 #define PORT_EXPANDER_ADDRESS 0x20
     40 
     41 /* COL2ROW, ROW2COL*/
     42 #define DIODE_DIRECTION COL2ROW
     43 
     44 /*
     45  * Feature disable options
     46  *  These options are also useful to firmware size reduction.
     47  */
     48 
     49 /* disable debug print */
     50 //#define NO_DEBUG
     51 
     52 /* disable print */
     53 //#define NO_PRINT
     54 
     55 /* disable action features */
     56 //#define NO_ACTION_LAYER
     57 //#define NO_ACTION_TAPPING
     58 //#define NO_ACTION_ONESHOT