Detecta si el navegador tiene teclas de teclado / flecha en la página web

Tengo un juego de pantalla completa en HTML + JavaScript, que utiliza las teclas de flecha como controles principales. Esto no se puede usar en dispositivos Android sin teclado (no lo he probado en iOS), e incluso si el teclado virtual tuviera teclas de flecha, ocuparía un espacio innecesario. Por lo tanto, he agregado botones de control en pantalla. Sin embargo, los botones son innecesarios (y absurdamente grandes) en los navegadores de escritorio, por lo que me gustaría que no aparezcan a menos que sean necesarios.

¿Qué heurística puedo usar para decidir si son necesarios? Es decir, si es imposible o incómodo para el usuario ingresar eventos de teclas de flecha.que no sea el reconocimiento de agentes de usuario específicos (que es sencillo, pero no a prueba de futuro)?

Por supuesto, permitiré al usuario ocultar / mostrar los botones; Estoy buscando heurísticas útiles para elegir la configuración predeterminada.

Respuestas a la pregunta(8)

Su respuesta a la pregunta