summaryrefslogtreecommitdiff
path: root/app/Kconfig
blob: b9d05a9987af09e182897330dafeae82024f576c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
mainmenu "ZMK Firmware"

config ZMK_KEYBOARD_NAME
	string "Keyboard Name"

config USB_DEVICE_PRODUCT
	default ZMK_KEYBOARD_NAME

config BT_DEVICE_NAME
	default ZMK_KEYBOARD_NAME

config ZMK_KSCAN_EVENT_QUEUE_SIZE
	int "Size of the event queue for KSCAN events to buffer events"
	default 4

menu "HID Output Types"

menuconfig ZMK_USB
	bool "USB"
	select USB
	select USB_DEVICE_STACK
	select USB_DEVICE_HID

if ZMK_USB

config ZMK_USB_INIT_PRIORITY
	int "Init Priority"
	default 50

config USB_NUMOF_EP_WRITE_RETRIES
	default 10

endif

menuconfig ZMK_BLE
	bool "BLE (HID over GATT)"
	select BT
	select BT_SMP
	select BT_SMP_SC_PAIR_ONLY
	select BT_PERIPHERAL
	select BT_GATT_DIS
	select BT_GATT_BAS
	select BT_SETTINGS
	select SETTINGS

if ZMK_BLE

config ZMK_BLE_INIT_PRIORITY
	int "Init Priority"
	default 50
	
config SYSTEM_WORKQUEUE_STACK_SIZE
	default 2048

config ZMK_BLE_CLEAR_BONDS_ON_START
	bool "Configuration that clears all bond information from the keyboard on startup."
	default n

# HID GATT notifications sent this way are *not* picked up by Linux, and possibly others.
config BT_GATT_NOTIFY_MULTIPLE
	default n

config BT_DEVICE_APPEARANCE
	default 961

config ZMK_BLE_PASSKEY_ENTRY
	bool "Experimental: Requiring typing passkey from host to pair BLE connection"
	default n

endif

endmenu

config ZMK_DISPLAY
	bool "ZMK display support"
	default n
	select DISPLAY
	select LVGL
	select LVGL_THEMES
	select LVGL_THEME_MONO
	select LVGL_OBJ_LABEL

menu "Split Support"

config ZMK_SPLIT
	bool "Split keyboard support"
	default n

if ZMK_SPLIT

config ZMK_SPLIT_BLE
	bool "Split keyboard support via BLE transport"
	depends on ZMK_BLE
	default y
	select BT_USER_PHY_UPDATE

if ZMK_SPLIT_BLE

choice ZMK_SPLIT_BLE_ROLE
	bool "BLE Role For Split Communication"
	default ZMK_SPLIT_BLE_ROLE_CENTRAL

config ZMK_SPLIT_BLE_ROLE_CENTRAL
	bool "Central"
	select BT_CENTRAL
	select BT_GATT_CLIENT

if ZMK_SPLIT_BLE_ROLE_CENTRAL

config BT_MAX_CONN
	default 2

config BT_MAX_PAIRED
	# Bump this everywhere once we support switching active connections!
	default 2

endif

config ZMK_SPLIT_BLE_ROLE_PERIPHERAL
	bool "Peripheral"

if ZMK_SPLIT_BLE_ROLE_PERIPHERAL

config ZMK_USB
	default n

config BT_MAX_PAIRED
	default 1

config BT_MAX_CONN
	default 2

config BT_GAP_AUTO_UPDATE_CONN_PARAMS
	default n

endif


endchoice

endif

endif 

endmenu

config ZMK_KSCAN_MOCK_DRIVER
	bool "Enable mock kscan driver to simulate key presses"
	default n


config ZMK_KSCAN_COMPOSITE_DRIVER
	bool "Enable composite kscan driver to combine kscan devices"
	default n

menu "ZMK Actions"

config ZMK_ACTION_MOD_TAP
	bool "Enable the Mod-Tap Action"
	
endmenu

menu "ZMK Lighting"

menuconfig ZMK_RGB_UNDERGLOW
	bool "RGB Adressable LED Underglow"
	select LED_STRIP

if ZMK_RGB_UNDERGLOW

config ZMK_RGB_UNDERGLOW_HUE_STEP
	int "RGB underglow hue step in degrees of 360"
	default 10

config ZMK_RGB_UNDERGLOW_SAT_STEP
	int "RGB underglow sturation step in percent"
	default 10

config ZMK_RGB_UNDERGLOW_BRT_STEP
	int "RGB underglow brightness step in percent"
	default 10

endif

endmenu

config HEAP_MEM_POOL_SIZE
	default 8192

config KERNEL_BIN_NAME
	default "zmk"

config REBOOT
	default y

module = ZMK
module-str = zmk
source "subsys/logging/Kconfig.template.log_config"

rsource "boards/Kconfig"
rsource "boards/shields/*/Kconfig.defconfig"
rsource "boards/shields/*/Kconfig.shield"

osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.defconfig"
osource "$(ZMK_CONFIG)/boards/shields/*/Kconfig.shield"

source "Kconfig.zephyr"