]> git.armaanb.net Git - 24pad.git/blob - config.h
Initial commit
[24pad.git] / config.h
1 // Copyright 2022 Armaan Bhojwani <me@armaanb.net>
2 // SPDX-License-Identifier: GPL-2.0-or-later
3
4 #pragma once
5
6 #include "config_common.h"
7
8 /* USB Device descriptor parameter */
9 #define VENDOR_ID    0xFEED
10 #define PRODUCT_ID   0x0000
11 #define DEVICE_VER   0x0001
12 #define MANUFACTURER acheam
13 #define PRODUCT      24pad
14
15 /* key matrix size */
16 #define MATRIX_ROWS 6
17 #define MATRIX_COLS 4
18
19 /*
20  * Keyboard Matrix Assignments
21  *
22  * Change this to how you wired your keyboard
23  * COLS: AVR pins used for columns, left to right
24  * ROWS: AVR pins used for rows, top to bottom
25  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
26  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
27  *
28  */
29 #define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
30 #define MATRIX_COL_PINS { B5, B4, E6, D7 }
31 #define UNUSED_PINS
32
33 /* COL2ROW, ROW2COL */
34 #define DIODE_DIRECTION COL2ROW
35
36 /*
37  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
38  */
39 #define SOFT_SERIAL_PIN D0  // or D1, D2, D3, E6
40
41 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
42 #define DEBOUNCE 5
43
44 /*
45  * Force NKRO
46  *
47  * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
48  * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
49  * makefile for this to work.)
50  *
51  * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
52  * until the next keyboard reset.
53  *
54  * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
55  * fully operational during normal computer usage.
56  *
57  * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
58  * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
59  * bootmagic, NKRO mode will always be enabled until it is toggled again during a
60  * power-up.
61  *
62  */
63 //#define FORCE_NKRO
64
65 /*
66  * Feature disable options
67  *  These options are also useful to firmware size reduction.
68  */
69
70 /* disable debug print */
71 //#define NO_DEBUG
72
73 /* disable print */
74 //#define NO_PRINT
75
76 /* disable action features */
77 //#define NO_ACTION_LAYER
78 //#define NO_ACTION_TAPPING
79 //#define NO_ACTION_ONESHOT
80
81 /* disable these deprecated features by default */
82 #define NO_ACTION_MACRO
83 #define NO_ACTION_FUNCTION
84
85 /* Bootmagic Lite key configuration */
86 //#define BOOTMAGIC_LITE_ROW 0
87 //#define BOOTMAGIC_LITE_COLUMN 0