ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
touchscreen_binary_sensor.cpp
Go to the documentation of this file.
2
4
6 this->parent_->register_listener(this);
7 this->publish_initial_state(false);
8}
9
11 bool touched;
12 if (this->use_raw_) {
13 touched =
14 (tp.x_raw >= this->x_min_ && tp.x_raw <= this->x_max_ && tp.y_raw >= this->y_min_ && tp.y_raw <= this->y_max_);
15 } else {
16 touched = (tp.x >= this->x_min_ && tp.x <= this->x_max_ && tp.y >= this->y_min_ && tp.y <= this->y_max_);
17 }
18
19 if (!this->pages_.empty()) {
20 auto *current_page = this->parent_->get_display()->get_active_page();
21 touched &= std::find(this->pages_.begin(), this->pages_.end(), current_page) != this->pages_.end();
22 }
23 if (touched) {
24 this->publish_state(true);
25 } else {
26 this->release();
27 }
28}
29
31
32} // namespace esphome::touchscreen
void publish_state(bool new_state)
Publish a new state to the front-end.
void publish_initial_state(bool new_state)
Publish the initial state, this will not make the callback manager send callbacks and is meant only f...