Como detectar se um dispositivo tem suporte para mouse?
Atualmente, uso o seguinte teste (retirado do Modernizr) para detectar o suporte ao toque:
function is_touch_device() {
var bool;
if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
bool = true;
} else {
injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function(node) {
bool = node.offsetTop === 9;
});
}
return bool;
}
Mas alguns dispositivos são acionados por toque e mouse, por isso quero uma função separada para detectar se um dispositivo tem suporte para mouse. Qual é uma boa maneira de fazer essa verificação?
Em última análise, minha intenção é ser capaz de fazer isso:
if(is_touch_device())
if(has_mouse_support())
if(is_touch_device() && has_mouse_support())