Sí. La respuesta “sí” se aplica a cualquiera que sea su respuesta a lo siguiente.
Pero no especificó qué tipo de aplicación: basada en web o nativa del sistema operativo y no especificó el tipo de sistema operativo si es nativa. Porque los métodos variarán drásticamente según tu respuesta.
Sin embargo, no voy a proporcionar la solución de forma gratuita, pero proporcionaré un par de sugerencias, una para cada escenario.
- ¿Qué es la prueba de Turing? ¿Qué máquinas lo han pasado?
- ¿Las funciones con parámetros tienen alguna ventaja sobre las funciones sin ninguna?
- ¿Por qué mi computadora portátil es tan lenta aunque tengo especificaciones decentes?
- ¿Es posible sincronizar una Mac o la carpeta 'Mis documentos' de forma inalámbrica con un disco duro externo conectado a un concentrador de red?
- ¿Es suficiente una MacBook Pro (8 GB de RAM de 128 gb de almacenamiento) para programar?
En una aplicación basada en la web, puede aprovechar Modernizr para detectar el tipo de entrada y el origen. En Linux, que posiblemente podría incluir MacOS y Android en las circunstancias correctas, también podría detectar el origen de los tipos de entrada y entrada, pero de manera diferente. Esto también puede variar ampliamente debido a las políticas de seguridad y la disponibilidad en los SDK de aplicaciones nativas. No sé si Android SDK o Apple iOS SDK ofrecen una API para detectar el tipo de entrada, habría que realizar más investigaciones, pero sé que en Linux para servidores y equipos de escritorio en su estado natural, está disponible. En el navegador web, Modernizr crea una interfaz para acceder a esta información.