|
|
@@ -353,7 +353,7 @@ void mfbd_mbtn_scan(const mfbd_group_t *_pbtn_group)
|
|
|
#if MFBD_MBTN_MULTICLICK_LONG_EVT
|
|
|
else if(_pbtn->state == MFBD_BTN_STATE_DOWN)
|
|
|
{
|
|
|
- if (((MFBD_LONG_TIME_IN_FUC) > 0) && (_pbtn_info->btn_long_code != 0))
|
|
|
+ if (((MFBD_LONG_TIME_IN_FUC) > 0) && (_pbtn->btn_info->btn_long_code != 0))
|
|
|
{
|
|
|
/* if long_time is 0 or long_code is 0, disable long and repeat check. */
|
|
|
if (_pbtn->long_count < (MFBD_LONG_TIME_IN_FUC))
|
|
|
@@ -363,7 +363,7 @@ void mfbd_mbtn_scan(const mfbd_group_t *_pbtn_group)
|
|
|
{
|
|
|
/* it means the button is down for over long_time. */
|
|
|
_pbtn->repeat_count = 0; /* long event has happened, clear repeat_count. */
|
|
|
- _pbtn_group->btn_value_report(_pbtn_info->btn_long_code);
|
|
|
+ _pbtn_group->btn_value_report(_pbtn->btn_info->btn_long_code);
|
|
|
_pbtn->state = MFBD_BTN_STATE_LONG;
|
|
|
}
|
|
|
}
|
|
|
@@ -372,21 +372,21 @@ void mfbd_mbtn_scan(const mfbd_group_t *_pbtn_group)
|
|
|
else
|
|
|
{
|
|
|
/* MFBD_BTN_STATE_LONG */
|
|
|
- if (((MFBD_REPEAT_TIME_IN_FUC) > 0) && (_pbtn_info->btn_down_code[_pbtn->multiclick_state]] != 0))
|
|
|
+ if (((MFBD_REPEAT_TIME_IN_FUC) > 0) && (_pbtn->btn_info->btn_down_code[_pbtn->multiclick_state] != 0))
|
|
|
{
|
|
|
_pbtn->repeat_count++;
|
|
|
if (_pbtn->repeat_count >= (MFBD_REPEAT_TIME_IN_FUC))
|
|
|
{
|
|
|
/* repeat event has happened, clear repeat_count. */
|
|
|
_pbtn->repeat_count = 0;
|
|
|
- _pbtn_group->btn_value_report(_pbtn_info->btn_down_code[_pbtn->multiclick_state]]);
|
|
|
+ _pbtn_group->btn_value_report(_pbtn->btn_info->btn_down_code[_pbtn->multiclick_state]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#else
|
|
|
else if(_pbtn->state == MFBD_BTN_STATE_DOWN)
|
|
|
{
|
|
|
- if (((MFBD_LONG_TIME_IN_FUC) > 0) && (_pbtn_info->btn_long_code != 0))
|
|
|
+ if (((MFBD_LONG_TIME_IN_FUC) > 0) && (_pbtn->btn_info->btn_long_code != 0))
|
|
|
{
|
|
|
/* if long_time is 0 or long_code is 0, disable long and repeat check. */
|
|
|
if (_pbtn->long_count < (MFBD_LONG_TIME_IN_FUC))
|
|
|
@@ -398,7 +398,7 @@ void mfbd_mbtn_scan(const mfbd_group_t *_pbtn_group)
|
|
|
if (_pbtn->multiclick_state == 0)
|
|
|
{
|
|
|
_pbtn->repeat_count = 0; /* long event has happened, clear repeat_count. */
|
|
|
- _pbtn_group->btn_value_report(_pbtn_info->btn_long_code);
|
|
|
+ _pbtn_group->btn_value_report(_pbtn->btn_info->btn_long_code);
|
|
|
}
|
|
|
_pbtn->state = MFBD_BTN_STATE_LONG;
|
|
|
}
|
|
|
@@ -466,17 +466,23 @@ void mfbd_mbtn_scan(const mfbd_group_t *_pbtn_group)
|
|
|
{
|
|
|
#if MFBD_MULTICLICK_STATE_AUTO_RESET
|
|
|
/* if multiclick_state is not 0 and less than max_multiclick_state, inc multiclick_state */
|
|
|
- if (((MFBD_MULTICLICK_TIME_IN_FUC) != 0) \
|
|
|
- && (_pbtn->multiclick_state < _pbtn->btn_info->max_multiclick_state) \
|
|
|
- && (_pbtn->state == MFBD_BTN_STATE_DOWN))
|
|
|
+ if (((MFBD_MULTICLICK_TIME_IN_FUC) != 0)
|
|
|
+ && (_pbtn->multiclick_state < _pbtn->btn_info->max_multiclick_state)
|
|
|
+#if (MFBD_MBTN_CONTINUE_LONG_COUNT==0)
|
|
|
+ && (_pbtn->state == MFBD_BTN_STATE_DOWN)
|
|
|
+#endif /* (MFBD_MBTN_CONTINUE_LONG_COUNT==0) */
|
|
|
+ )
|
|
|
{
|
|
|
_pbtn->multiclick_state++;
|
|
|
_pbtn->multiclick_count = 0;
|
|
|
}
|
|
|
#else
|
|
|
/* if multiclick_state is not 0 and less than max_multiclick_state, inc multiclick_state */
|
|
|
- if (((MFBD_MULTICLICK_TIME_IN_FUC) != 0) \
|
|
|
- && (_pbtn->state == MFBD_BTN_STATE_DOWN))
|
|
|
+ if (((MFBD_MULTICLICK_TIME_IN_FUC) != 0)
|
|
|
+#if (MFBD_MBTN_CONTINUE_LONG_COUNT==0)
|
|
|
+ && (_pbtn->state == MFBD_BTN_STATE_DOWN)
|
|
|
+#endif /* (MFBD_MBTN_CONTINUE_LONG_COUNT==0) */
|
|
|
+ )
|
|
|
{
|
|
|
if(_pbtn->multiclick_state < _pbtn->btn_info->max_multiclick_state)
|
|
|
{
|