4 #include "config_common.h"
6 #define VENDOR_ID 0xFEED
7 #define PRODUCT_ID 0x6064
8 #define DEVICE_VER 0x0001
9 #define MANUFACTURER LFKeyboards
10 #define PRODUCT LFK65_HS
11 #define DESCRIPTION QMK keyboard firmware for LFK65_HS
13 #define DIODE_DIRECTION COL2ROW
15 #define MATRIX_COLS 16
16 #define MATRIX_ROW_PINS {B0, B3, B2, B1, F5}
17 #define MATRIX_COL_PINS {E6, F4, B7, D5, D3, D2, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4}
18 #define UNUSED_PINS {}
19 #define RGBLED_NUM 20 // Number of LEDs
21 #define QMK_ESC_OUTPUT E6 // usually COL
22 #define QMK_ESC_INPUT B0 // usually ROW
24 // #define QMK_SPEAKER C6
26 #define BACKLIGHT_LEVELS 8
27 #define BACKLIGHT_PWM_MAP {8, 16, 40, 55, 70, 128, 200, 255}
29 #define RGB_DI_PIN C7 // Have to set it to something to get the ws2812 code to compile
30 #define RGBLED_NUM 20 // Number of LEDs
31 #define RGBLIGHT_ANIMATIONS
32 #define RGBLIGHT_HUE_STEP 10
33 #define RGBLIGHT_SAT_STEP 17
34 #define RGBLIGHT_VAL_STEP 17
36 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
37 #define DEBOUNCING_DELAY 5
39 /* define if matrix has ghost (lacks anti-ghosting diodes) */
40 //#define MATRIX_HAS_GHOST
42 /* number of backlight levels */
44 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
45 #define LOCKING_SUPPORT_ENABLE
46 /* Locking resynchronize hack */
47 #define LOCKING_RESYNC_ENABLE
52 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
53 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
54 * makefile for this to work.)
56 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
57 * until the next keyboard reset.
59 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
60 * fully operational during normal computer usage.
62 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
63 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
64 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
73 * Magic keys are hotkey commands that allow control over firmware functions of
74 * the keyboard. They are best used in combination with the HID Listen program,
75 * found here: https://www.pjrc.com/teensy/hid_listen.html
77 * The options below allow the magic key functionality to be changed. This is
78 * useful if your keyboard/keypad is missing keys and you want magic key support.
82 /* key combination for magic key command */
83 #define IS_COMMAND() ( \
84 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
87 /* control how magic key switches layers */
88 //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
89 //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
90 //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
92 /* override magic key keymap */
93 //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
94 //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
95 //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
96 //#define MAGIC_KEY_HELP1 H
97 //#define MAGIC_KEY_HELP2 SLASH
98 //#define MAGIC_KEY_DEBUG D
99 //#define MAGIC_KEY_DEBUG_MATRIX X
100 //#define MAGIC_KEY_DEBUG_KBD K
101 //#define MAGIC_KEY_DEBUG_MOUSE M
102 //#define MAGIC_KEY_VERSION V
103 //#define MAGIC_KEY_STATUS S
104 //#define MAGIC_KEY_CONSOLE C
105 //#define MAGIC_KEY_LAYER0_ALT1 ESC
106 //#define MAGIC_KEY_LAYER0_ALT2 GRAVE
107 //#define MAGIC_KEY_LAYER0 0
108 //#define MAGIC_KEY_LAYER1 1
109 //#define MAGIC_KEY_LAYER2 2
110 //#define MAGIC_KEY_LAYER3 3
111 //#define MAGIC_KEY_LAYER4 4
112 //#define MAGIC_KEY_LAYER5 5
113 //#define MAGIC_KEY_LAYER6 6
114 //#define MAGIC_KEY_LAYER7 7
115 //#define MAGIC_KEY_LAYER8 8
116 //#define MAGIC_KEY_LAYER9 9
117 //#define MAGIC_KEY_BOOTLOADER PAUSE
118 //#define MAGIC_KEY_LOCK CAPS
119 //#define MAGIC_KEY_EEPROM E
120 //#define MAGIC_KEY_NKRO N
121 //#define MAGIC_KEY_SLEEP_LED Z
124 * Feature disable options
125 * These options are also useful to firmware size reduction.
128 /* disable debug print */
134 /* disable action features */
135 //#define NO_ACTION_LAYER
136 //#define NO_ACTION_TAPPING
137 //#define NO_ACTION_ONESHOT
138 //#define NO_ACTION_MACRO
139 //#define NO_ACTION_FUNCTION