Как проверить сенсорный экран на «мёртвые зоны» и фантомные нажатия
Сенсорный ввод либо работает точно, либо начинает жить собственной жизнью. Третьего не дано. Если вы готовитесь к демонстрации продукта, записываете скринкаст или просто не хотите опоздать на созвон из-за того, что планшет внезапно перестал принимать свайпы, гадать бессмысленно. Нужно заранее осуществлять процедуру диагностики сенсорной поверхности. Занимает это ровно две минуты. Без вскрытия корпуса. Без установки тяжёлых системных утилит.

«Мёртвые зоны» формируются там, где контроллер перестаёт регистрировать локальное изменение ёмкости. Фантомные нажатия — зеркальное отражение той же проблемы. Экран срабатывает на статическое электричество, наводки от импульсных блоков питания или микротрещины в защитном слое стекла. Большинство пользователей пытаются решать ситуацию штатной перезагрузкой. Это иллюзия. Перезапуск лишь сбрасывает кэш системных драйверов, но не осуществляет восстановление физической целостности токопроводящей сетки.
Когда вы осуществляете взаимодействие с тачскрином, микроконтроллер занимается обработкой аналоговых сигналов и переводит их в цифровые координаты. Если один из каналов даёт осечку, операционная система либо полностью игнорирует касание, либо генерирует ложные события. Разработчики интерфейсов часто списывают подобное на программные артефакты. Железо при этом молча терпит.

Осуществляем запуск браузера. Переходим на любой специализированный веб-полигон. Подойдут ресурсы, построенные на базе HTML5 Canvas. Они отрисовывают сетку координат в реальном времени. Вы просто проводите пальцем по всей площади дисплея. Равномерно. Без рывков.
Смотрите на два параметра одновременно. Плотность маркеров и латентность отрисовки. Идеальная траектория выглядит как непрерывная линия без разрывов. Если вы наблюдаете пробелы в сетке или внезапные скачки указателя в сторону, значит, контроллер теряет синхронизацию с матрицей. Задействовать встроенные средства ОС для проверки мультитача можно через скрытые меню разработчика, но браузерные полигоны дают более наглядную картину без привязки к конкретному вендору.
Для тестирования одновременных касаний используйте три или четыре пальца. Разводите их от центра к углам. Система должна регистрировать все события pointerdown без задержек. Если один из пальцев «проскальзывает» или курсор дергается, матрица ёмкостных датчиков повреждена локально.

Интерпретация результатов требует холодной головы. Не спешите нести устройство в сервисный центр. Сначала проводите работу по исключению софтовых артефактов. Снимаете защитное стекло. Да, то самое, которое вы клеили «для максимальной защиты». Толстый слой полиуретана искажает электростатическое поле. Вы пытаетесь осуществлять процедуру калибровки отклика, но плёнка всё равно вносит систематическую погрешность.
Обращайте внимание на задержку. Если линия рисуется с заметным отставанием от движения пальца, а тестовый инструмент показывает стабильные 16 мс вместо штатных 8 мс, процессор или контроллер ввода перегружен фоновыми задачами. Занимаетесь закрытием второстепенных процессов и вкладок. Очищаете кэш рендерера. Перезапускаете тест. Если задержка сохраняется на прежнем уровне, значит, проблема носит аппаратный характер. Тут уже не поможет оптимизация кода.
Фантомные срабатывания часто проявляются исключительно при подключении к электросети. Дешёвые зарядные устройства не обеспечивают должной гальванической развязки. Напряжения утекают прямо на металлический корпус. Сенсор воспринимает эти наводки как касание. Отключаете блок питания от сети. Проводите диагностику снова. Если призраки исчезли, вы получили однозначный ответ.
Веб-разработчики, собирающиеся внедрять сложные жестовые сценарии, обязаны тестировать свои интерфейсы на реальных устройствах с известными дефектами. Эмуляторы не покажут, как поведёт себя touchmove при частичном повреждении ёмкостной решётки. Вы будете писать полифилы для Pointer Events, а конечный пользователь получит зависший слайдер.
Применяете конструкцию event.touches.length в качестве счётчика активных касаний. Осуществляете логирование event.timeStamp при каждом срабатывании touchstart. Разница между метками даст вам реальную латентность ввода. Если значения скачут на 30-50 мс в спокойном состоянии, интерфейс будет ощущаться «ватным». Переносите тяжёлые вычисления в Web Workers. Оптимизируете рендеринг через requestAnimationFrame. Но помните: если аппаратная часть выходит из строя, чистый код не спасёт.
Диагностика тачскрина — это не магия. Это последовательное проведение измерений. Вы либо получаете чистую сетку координат, либо находите точку отказа. Второй вариант предпочтительнее, чем внезапный отказ во время важной презентации. Проверяйте до. А не когда уже поздно.
Готовы проверить настройки? Это займет всего несколько секунд.
Рекомендуемые инструменты
Тест веб-камеры онлайн - Проверка Webcam
Быстрая проверка работоспособности веб-камеры. Оценка четкости, разрешения и фокуса онлайн. Зеркалирование, снимки экрана — идеально перед видеозвонком Zoom или Skype.
Тест поддержки HDR дисплея
Проверка монитора или экрана телефона на поддержку HDR (High Dynamic Range). Визуальное сравнение SDR и HDR, тест яркости и глубины цвета.
Тест вибрации телефона / Имитация звонка
Онлайн-проверка вибромотора телефона. Различные режимы: непрерывная вибрация, импульсы. Оценка тактильной отдачи устройства.
Проверка битых пикселей и засветов
Инструмент для поиска «битых» пикселей, засветов и неравномерности подсветки с помощью заливки цветом и градиентов. Обязательно для проверки мониторов при покупке.
Тест микрофона онлайн - Проверка звука и записи
Бесплатный онлайн-инструмент для тестирования микрофона. Проверьте звук, эхо и шумы одним кликом. Визуализация волны и воспроизведение записи. Конфиденциально, без скачивания ПО.
Тест демонстрации экрана - Screen Sharing
Симуляция демонстрации экрана для онлайн-конференций. Проверка разрешений браузера, шаринга окон и системного звука перед важной встречей.