qmk

QMK Firmware
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

config.h (4536B)


      1 /*
      2  * Copyright 2018 Jack Humbert <jack.humb@gmail.com>
      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 /* USB Device descriptor parameter */
     21 #define DEVICE_VER 0x0000
     22 
     23 #undef MATRIX_ROWS
     24 #undef MATRIX_COLS
     25 /* key matrix size */
     26 #define MATRIX_ROWS 8
     27 #define MATRIX_COLS 6
     28 
     29 /*
     30  * Keyboard Matrix Assignments
     31  *
     32  * Change this to how you wired your keyboard
     33  * COLS: AVR pins used for columns, left to right
     34  * ROWS: AVR pins used for rows, top to bottom
     35  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
     36  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
     37  *
     38 */
     39 
     40 #undef MATRIX_ROW_PINS
     41 #undef MATRIX_COL_PINS
     42 
     43 #define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2 }
     44 #define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
     45 
     46 #define ENCODERS_PAD_A { B12 }
     47 #define ENCODERS_PAD_B { B13 }
     48 
     49 #define MUSIC_MAP
     50 #undef AUDIO_VOICES
     51 #undef C6_AUDIO
     52 
     53 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
     54 // #define DEBOUNCE 6
     55 
     56 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
     57 //#define LOCKING_SUPPORT_ENABLE
     58 /* Locking resynchronize hack */
     59 //#define LOCKING_RESYNC_ENABLE
     60 
     61 /*
     62  * Force NKRO
     63  *
     64  * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
     65  * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
     66  * makefile for this to work.)
     67  *
     68  * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
     69  * until the next keyboard reset.
     70  *
     71  * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
     72  * fully operational during normal computer usage.
     73  *
     74  * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
     75  * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
     76  * bootmagic, NKRO mode will always be enabled until it is toggled again during a
     77  * power-up.
     78  *
     79  */
     80 //#define FORCE_NKRO
     81 
     82 /*
     83  * Feature disable options
     84  *  These options are also useful to firmware size reduction.
     85  */
     86 
     87 /* disable debug print */
     88 //#define NO_DEBUG
     89 
     90 /* disable print */
     91 //#define NO_PRINT
     92 
     93 /* disable action features */
     94 //#define NO_ACTION_LAYER
     95 //#define NO_ACTION_TAPPING
     96 //#define NO_ACTION_ONESHOT
     97 //#define NO_ACTION_MACRO
     98 //#define NO_ACTION_FUNCTION
     99 
    100 /*
    101  * MIDI options
    102  */
    103 
    104 /* Prevent use of disabled MIDI features in the keymap */
    105 //#define MIDI_ENABLE_STRICT 1
    106 
    107 /* enable basic MIDI features:
    108    - MIDI notes can be sent when in Music mode is on
    109 */
    110 //#define MIDI_BASIC
    111 
    112 /* enable advanced MIDI features:
    113    - MIDI notes can be added to the keymap
    114    - Octave shift and transpose
    115    - Virtual sustain, portamento, and modulation wheel
    116    - etc.
    117 */
    118 //#define MIDI_ADVANCED
    119 
    120 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
    121 //#define MIDI_TONE_KEYCODE_OCTAVES 1
    122 
    123 // #define WS2812_LED_N 2
    124 // #define RGBLED_NUM WS2812_LED_N
    125 // #define WS2812_TIM_N 2
    126 // #define WS2812_TIM_CH 2
    127 // #define PORT_WS2812     GPIOA
    128 // #define PIN_WS2812      1
    129 // #define WS2812_DMA_STREAM STM32_DMA1_STREAM2  // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
    130 //#define WS2812_DMA_CHANNEL 7                  // DMA channel for TIMx_UP
    131 //#define WS2812_EXTERNAL_PULLUP
    132 
    133 #define DRIVER_ADDR_1 0b1010000
    134 #define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
    135 
    136 #define DRIVER_COUNT 1
    137 #define DRIVER_1_LED_TOTAL 47
    138 #define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
    139 
    140 #define RGB_MATRIX_KEYPRESSES
    141 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
    142 #define RGB_DISABLE_WHEN_USB_SUSPENDED true
    143 
    144 #define RGB_MATRIX_LED_PROCESS_LIMIT 5
    145 #define RGB_MATRIX_LED_FLUSH_LIMIT 26
    146 
    147 
    148 #define IGNORE_MOD_TAP_INTERRUPT
    149 
    150 #define TAPPING_TOGGLE  1
    151 
    152 #define MOUSEKEY_INTERVAL       20
    153 #define MOUSEKEY_DELAY          0
    154 #define MOUSEKEY_TIME_TO_MAX    60
    155 #define MOUSEKEY_MAX_SPEED      7
    156 #define MOUSEKEY_WHEEL_DELAY 0