static dd_list *lcdon_ops;
static bool lcdon_broadcast = false;
+static bool touch_blocked = false;
+
/* default transition, action fuctions */
static int default_trans(int evt);
static int default_action(int timeout);
return flags;
}
+bool touch_event_blocked(void)
+{
+ return touch_blocked;
+}
+
void lcd_on_procedure(int state, enum device_flags flag)
{
dd_list *l = NULL;
if (CHECK_OPS(keyfilter_ops, backlight_enable))
keyfilter_ops->backlight_enable(true);
+
+ touch_blocked = false;
}
inline void lcd_off_procedure(enum device_flags flag)
unsigned long flags = NORMAL_MODE;
flags |= flag;
+ touch_blocked = true;
+
if (lcdon_broadcast) {
broadcast_lcd_off(SIGNAL_PRE, flags);
lcdon_broadcast = false;
void lcd_on_direct(enum device_flags flags);
void lcd_off_procedure(enum device_flags flag);
int check_holdkey_block(enum state_t state);
+bool touch_event_blocked(void);
/* poll.c */
int check_dimstay(int next_state, int flag);
case LIBINPUT_EVENT_TOUCH_UP:
case LIBINPUT_EVENT_TOUCH_MOTION:
case LIBINPUT_EVENT_TOUCH_FRAME:
+ if (touch_event_blocked())
+ return ;
break;
default:
break;