172 lines
5.2 KiB
C
172 lines
5.2 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 Start touch devices without loading or running calibration.
|
|
* @details Defaults to FALSE
|
|
* @note This is used if you want to manually control the initial calibration
|
|
* process. In practice this is only useful for a touch driver test program.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_STARTRAW
|
|
#define GINPUT_TOUCH_STARTRAW FALSE
|
|
#endif
|
|
/**
|
|
* @brief Turn off the touch calibration GUI.
|
|
* @details Defaults to FALSE
|
|
* @note Turning off the calibration GUI just turns off the manual calibration
|
|
* process. Readings may still be calibrated if calibration data
|
|
* can be loaded.
|
|
* @note Calibration requires a lot of code. If your device doesn't require it
|
|
* using this option can save a lot of space.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_NOCALIBRATE_GUI
|
|
#define GINPUT_TOUCH_NOCALIBRATE_GUI FALSE
|
|
#endif
|
|
/**
|
|
* @brief Turn off all touch calibration support.
|
|
* @details Defaults to FALSE
|
|
* @note With this set to TRUE touch readings will not be calibrated.
|
|
* @note This automatically turns off the calibration GUI too!
|
|
* @note Calibration requires a lot of code. If your device doesn't require it
|
|
* using this option can save a lot of space.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_NOCALIBRATE
|
|
#define GINPUT_TOUCH_NOCALIBRATE FALSE
|
|
#endif
|
|
/**
|
|
* @brief Turn off all touch support.
|
|
* @details Defaults to FALSE
|
|
* @note This automatically turns off all calibration and the calibration GUI too!
|
|
* @note Touch device handling requires a lot of code. If your device doesn't require it
|
|
* using this option can save a lot of space.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_NOTOUCH
|
|
#define GINPUT_TOUCH_NOTOUCH 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.
|
|
*/
|
|
#ifndef GINPUT_MOUSE_POLL_PERIOD
|
|
#define GINPUT_MOUSE_POLL_PERIOD 25
|
|
#endif
|
|
|
|
/**
|
|
* @brief Maximum length of CLICK in milliseconds
|
|
* @details Defaults to 300 millseconds
|
|
* @note Mouse down to Mouse up times greater than this are not clicks.
|
|
*/
|
|
#ifndef GINPUT_MOUSE_CLICK_TIME
|
|
#define GINPUT_MOUSE_CLICK_TIME 300
|
|
#endif
|
|
/**
|
|
* @brief Milliseconds to generate a CXTCLICK on a touch device.
|
|
* @details Defaults to 700 millseconds
|
|
* @note If you hold the touch down for longer than this a CXTCLICK is generated
|
|
* but only on a touch device.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_CXTCLICK_TIME
|
|
#define GINPUT_TOUCH_CXTCLICK_TIME 700
|
|
#endif
|
|
/**
|
|
* @brief There is a user supplied routine to load mouse calibration data
|
|
* @details Defaults to FALSE
|
|
* @note If TRUE the user must supply the @p LoadMouseCalibration() routine.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_USER_CALIBRATION_LOAD
|
|
#define GINPUT_TOUCH_USER_CALIBRATION_LOAD FALSE
|
|
#endif
|
|
/**
|
|
* @brief The buffer returned by the users @p LoadMouseCalibration() routine must be gfxFree()'d
|
|
* by the mouse code.
|
|
* @details Defaults to FALSE
|
|
*/
|
|
#ifndef GINPUT_TOUCH_USER_CALIBRATION_FREE
|
|
#define GINPUT_TOUCH_USER_CALIBRATION_FREE FALSE
|
|
#endif
|
|
/**
|
|
* @brief There is a user supplied routine to save mouse calibration data
|
|
* @details Defaults to FALSE
|
|
* @note If TRUE the user must supply the @p SaveMouseCalibration() routine.
|
|
*/
|
|
#ifndef GINPUT_TOUCH_USER_CALIBRATION_SAVE
|
|
#define GINPUT_TOUCH_USER_CALIBRATION_SAVE FALSE
|
|
#endif
|
|
/** @} */
|
|
|
|
#endif /* _GINPUT_OPTIONS_H */
|
|
/** @} */
|