ugfx/src/ginput/sys_options.h

116 lines
3.1 KiB
C

/*
* This file is subject to the terms of the GFX License. If a copy of
* the license was not distributed with this file, you can obtain one at:
*
* http://ugfx.org/license.html
*/
/**
* @file src/ginput/sys_options.h
* @brief GINPUT sub-system options header file.
*
* @addtogroup GINPUT
* @{
*/
#ifndef _GINPUT_OPTIONS_H
#define _GINPUT_OPTIONS_H
/**
* @name GINPUT Functionality to be included
* @{
*/
/**
* @brief Should mouse/touch functions be included.
* @details Defaults to FALSE
* @note Also add the a mouse/touch hardware driver to your makefile.
* Eg.
* include $(GFXLIB)/drivers/ginput/touch/MCU/ginput_lld.mk
*/
#ifndef GINPUT_NEED_MOUSE
#define GINPUT_NEED_MOUSE FALSE
#endif
/**
* @brief Should keyboard functions be included.
* @details Defaults to FALSE
* @note Also add the a keyboard hardware driver to your makefile.
* Eg.
* include $(GFXLIB)/drivers/ginput/keyboard/XXXX/ginput_lld.mk
*/
#ifndef GINPUT_NEED_KEYBOARD
#define GINPUT_NEED_KEYBOARD FALSE
#endif
/**
* @brief Should hardware toggle/switch/button functions be included.
* @details Defaults to FALSE
* @note Also add the a toggle hardware driver to your makefile.
* Eg.
* include $(GFXLIB)/drivers/ginput/toggle/Pal/ginput_lld.mk
*/
#ifndef GINPUT_NEED_TOGGLE
#define GINPUT_NEED_TOGGLE FALSE
#endif
/**
* @brief Should analog dial functions be included.
* @details Defaults to FALSE
* @note Also add the a dial hardware driver to your makefile.
* Eg.
* include $(GFXLIB)/drivers/ginput/dial/analog/ginput_lld.mk
*/
#ifndef GINPUT_NEED_DIAL
#define GINPUT_NEED_DIAL FALSE
#endif
/**
* @}
*
* @name GINPUT Optional Sizing Parameters
* @{
*/
/**
* @}
*
* @name GINPUT Optional Low Level Driver Defines
* @{
*/
/**
* @brief Turn off touch mouse support.
* @details Defaults to FALSE
* @note Touch device handling requires a lot of code. If your mouse doesn't require it
* this can be turned off to save a lot of space.
*/
#ifndef GINPUT_TOUCH_NOTOUCH
#define GINPUT_TOUCH_NOTOUCH FALSE
#endif
/**
* @brief Turn off calibration support.
* @details Defaults to FALSE
* @note Calibration requires a lot of code. If your mouse doesn't require it
* this can be turned off to save a lot of space.
*/
#ifndef GINPUT_TOUCH_NOCALIBRATE
#define GINPUT_TOUCH_NOCALIBRATE FALSE
#endif
/**
* @brief Milliseconds between mouse polls.
* @details Defaults to 25 millseconds
* @note How often mice should be polled. More often leads to smoother mouse movement
* but increases CPU usage. If no mouse drivers need polling the poll is not
* started.
*/
#ifndef GINPUT_MOUSE_POLL_PERIOD
#define GINPUT_MOUSE_POLL_PERIOD 25
#endif
/**
* @brief Milliseconds separating a CLICK from a CXTCLICK.
* @details Defaults to 700 millseconds
* @note How long it takes for a click to turn into a CXTCLICK on a touch device.
*/
#ifndef GINPUT_TOUCH_CLICK_TIME
#define GINPUT_TOUCH_CLICK_TIME 700
#endif
/** @} */
#endif /* _GINPUT_OPTIONS_H */
/** @} */