# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT

config ZMK_KSCAN_GPIO_DRIVER
	bool "Enable GPIO kscan driver to detect key presses"
	default y
	select GPIO

if ZMK_KSCAN_GPIO_DRIVER

config ZMK_KSCAN_MATRIX_POLLING
	bool "Poll for key event triggers instead of using interrupts on matrix boards."

config ZMK_KSCAN_DIRECT_POLLING
	bool "Poll for key event triggers instead of using interrupts on direct wired boards."

config ZMK_KSCAN_DEBOUNCE_PRESS_MS
	int "Debounce time for key press in milliseconds."
	default -1
	help
		Global debounce time for key press in milliseconds.
		If this is -1, the debounce time is controlled by the debounce-press-ms
		Devicetree property, which defaults to 5 ms. Otherwise this overrides the
		debounce time for all key scan drivers to the chosen value.

config ZMK_KSCAN_DEBOUNCE_RELEASE_MS
	int "Debounce time for key release in milliseconds."
	default -1
	help
		Global debounce time for key release in milliseconds.
		If this is -1, the debounce time is controlled by the debounce-release-ms
		Devicetree property, which defaults to 5 ms. Otherwise this overrides the
		debounce time for all key scan drivers to the chosen value.

endif

config ZMK_KSCAN_INIT_PRIORITY
	int "Keyboard scan driver init priority"
	default 40
	help
	  Keyboard scan device driver initialization priority.