summaryrefslogtreecommitdiff
path: root/app/Kconfig
blob: 997409ef64a0263e3f96fde370afc2b4fb2873aa (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
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 SETTINGS
	select BT_SETTINGS

if ZMK_BLE

config ZMK_BLE_INIT_PRIORITY
	int "Init Priority"
	default 50

config SYSTEM_WORKQUEUE_STACK_SIZE
	default 2048

# 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


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

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 5

endif

config ZMK_SPLIT_BLE_ROLE_PERIPHERAL
	bool "Peripheral"

if ZMK_SPLIT_BLE_ROLE_PERIPHERAL

config ZMK_USB
	default n


config BT_MAX_CONN
	default 5

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

config HEAP_MEM_POOL_SIZE
	default 1024

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

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

source "Kconfig.zephyr"