Как устройства с сенсорным экраном должны различать чистое касание и устройства с мышью? (как некоторые современные ноутбуки)
Необходимо отдать приоритет всем функциям мыши в приложении, а если устройство, на котором запущено приложение, поддерживает только сенсорный ввод, изменить функциональность.
Если сенсорное устройство также имеет указатель мыши, логика предполагает, что приложение должно рассматривать это устройство как обычный рабочий стол и может также добавить поддержку сенсорного управления, но сам стиль должен реагировать на события мыши.
нормальное обнаружение касания достигается так: 'ontouchend' in document;
Одним из способов определить, является ли компьютер настольным, может быть проверка разрешения экрана:
window.screen.width >= 1280 // desktop
но это не так хорошо, потому что некоторые устройства могут иметь очень большое разрешение области просмотра, а некоторые ноутбуки могут иметь низкое разрешение...