Каким методом можно сопоставить координаты нажатия сенсора и кнопок в интерфейсе ПО?
======================================================================================

 Есть самописное ПО на С++. Крутится оно на информационных терминалах с Linux. Есть проблема: иногда бывает что пользователи жалуются что они нажимали на экране "правильную" цифру, а в поле ввода написалась "неправильная". Пользователь этого не заметил и пошли проблемы дальше. Калибровка сенсора монитора не помогает. Периодически проблема всплывает. Для разбора хотим логировать действия пользователя (нажатия на сенсор экрана) и сопоставлять их с элементами интерфейса которые были нажаты.   

Что-то типа такого:  

2020-02-24 10:56:17 Нажат сенсор (координаты 999/888). "Пустая область"  

2020-02-24 10:56:18 Нажат сенсор (координаты 777/223). Кнопка '2'  

  

Первое что нам пришло в голову: разбить все интерфейсы на области и отслеживать попал ты в область при нажатии или нет. Решение с точки зрения разработки долгое, надо геморится с разлиновкой сотни элементов и надо сопровождать в дальнейшем при изменении/добавлении интерфейсов.  

  

Второе: обучить нейронку. Решение с точки зрения разработки долгое, т.к. никогда не делали зато не надо сопровождать в дальнейшем при изменении/добавлении интерфейсов.  

  

Вопрос: А вообще какие методы есть для такого сопоставления/решения проблемы? Может уже есть что-то готовое? с готовым кодом? Подскажите, пожалуйста! 

 Резистивный экран + толстый палец...  

Из личног оопыта могу лишь провести аналогию с планшетами/смартфонами. В "нумпаде" терминала кнопки стоят рядом и могут быть ложные нажатия. Я бы уменьшил "чувствительную" площадь кнопки, например, только в половину реального размера (это можно делать на лету, без правки макета). Т.е. чтобы нажимать нужно было прям на центр кнопки, а не хоть в какое её место тынцкать. В этом случае, при ложном срабатывании, палец попадёт между кнопок и ничего не напишется. Всё-таки это лучше, чем будет введена неправильная цифра.  

В почтовом отделении такой дешёвый резистивный экран стоял, что приходилось костяшкой пальца давить для срабатывания. (может защитное стекло не убрали...)