aboutsummaryrefslogtreecommitdiff
path: root/keyboards/handwired/snatchpad/config.h
diff options
context:
space:
mode:
authorxiao <307671+xia0@users.noreply.github.com>2022-02-21 19:40:11 +1100
committerGitHub <noreply@github.com>2022-02-21 00:40:11 -0800
commit18490537a5a2c050ecfa1ee2209229eba6b8b342 (patch)
tree89777cc3cba6d5f9a3d3a77bce6c30408f4dca0d /keyboards/handwired/snatchpad/config.h
parent2d1f2810a41b8a93c21035b14afacb717ef7c822 (diff)
downloadqmk_firmware-18490537a5a2c050ecfa1ee2209229eba6b8b342.tar.gz
qmk_firmware-18490537a5a2c050ecfa1ee2209229eba6b8b342.zip
[Keyboard] Add Snatchpad keyboard (#16330)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: xia0 <xiao@morgan.net.au>
Diffstat (limited to 'keyboards/handwired/snatchpad/config.h')
-rw-r--r--keyboards/handwired/snatchpad/config.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/keyboards/handwired/snatchpad/config.h b/keyboards/handwired/snatchpad/config.h
new file mode 100644
index 000000000..c0d337d5d
--- /dev/null
+++ b/keyboards/handwired/snatchpad/config.h
@@ -0,0 +1,145 @@
1// Copyright 2022 xia0 (@xia0)
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 0x6662
10#define PRODUCT_ID 0x7370
11#define DEVICE_VER 0x0001
12#define MANUFACTURER xia0
13#define PRODUCT snatchpad
14
15/* key matrix size */
16#define MATRIX_ROWS 3
17#define MATRIX_COLS 3
18
19/*
20 * Keyboard Matrix Assignments
21 *
22 * Change this to how you wired your keyboards
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 }
30#define MATRIX_COL_PINS { B1, B3, B2 }
31#define UNUSED_PINS
32
33/* COL2ROW, ROW2COL */
34#define DIODE_DIRECTION COL2ROW
35
36/* Rotary encoder options */
37#define ENCODER_RESOLUTIONS { 4, 4 }
38#define ENCODERS_PAD_A { D3, D0 }
39#define ENCODERS_PAD_B { D2, D1 }
40
41
42
43/*
44 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
45 */
46//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
47
48//#define LED_NUM_LOCK_PIN B0
49//#define LED_CAPS_LOCK_PIN B1
50//#define LED_SCROLL_LOCK_PIN B2
51//#define LED_COMPOSE_PIN B3
52//#define LED_KANA_PIN B4
53
54//#define BACKLIGHT_PIN B7
55//#define BACKLIGHT_LEVELS 3
56//#define BACKLIGHT_BREATHING
57
58//#define RGB_DI_PIN E2
59//#ifdef RGB_DI_PIN
60//# define RGBLED_NUM 16
61//# define RGBLIGHT_HUE_STEP 8
62//# define RGBLIGHT_SAT_STEP 8
63//# define RGBLIGHT_VAL_STEP 8
64//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
65//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
66/*== all animations enable ==*/
67//# define RGBLIGHT_ANIMATIONS
68/*== or choose animations ==*/
69//# define RGBLIGHT_EFFECT_BREATHING
70//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
71//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
72//# define RGBLIGHT_EFFECT_SNAKE
73//# define RGBLIGHT_EFFECT_KNIGHT
74//# define RGBLIGHT_EFFECT_CHRISTMAS
75//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
76//# define RGBLIGHT_EFFECT_RGB_TEST
77//# define RGBLIGHT_EFFECT_ALTERNATING
78/*== customize breathing effect ==*/
79/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
80//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
81/*==== use exp() and sin() ====*/
82//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
83//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
84//#endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
98 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
99 */
100//#define GRAVE_ESC_CTRL_OVERRIDE
101
102/*
103 * Force NKRO
104 *
105 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
106 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
107 * makefile for this to work.)
108 *
109 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
110 * until the next keyboard reset.
111 *
112 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
113 * fully operational during normal computer usage.
114 *
115 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
116 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
117 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
118 * power-up.
119 *
120 */
121//#define FORCE_NKRO
122
123/*
124 * Feature disable options
125 * These options are also useful to firmware size reduction.
126 */
127
128/* disable debug print */
129//#define NO_DEBUG
130
131/* disable print */
132//#define NO_PRINT
133
134/* disable action features */
135//#define NO_ACTION_LAYER
136//#define NO_ACTION_TAPPING
137//#define NO_ACTION_ONESHOT
138
139/* disable these deprecated features by default */
140#define NO_ACTION_MACRO
141#define NO_ACTION_FUNCTION
142
143/* Bootmagic Lite key configuration */
144//#define BOOTMAGIC_LITE_ROW 0
145//#define BOOTMAGIC_LITE_COLUMN 0