kbd-tst.py es un programa de prueba de teclado sencillo. Prueba la funcionalidad de todas las teclas proporcionando retroalimentación gráfica (bueno, solo semigráficos ASCII en terminales de texto) al usuario como:
Prueba de teclado simple y fácil de usar sin dependencias externas ()utilizando únicamente utilidades estándar del sistema)...
Hay una manera de probar el teclado sin ninguna utilidad como esta simplemente usando un editor de texto, por ejemplo. En este caso hay que recordar qué claves se han probado y no omitir ninguna que no haya sido probada. Y todo es más fácil con información visual que se muestra en vivo en la pantalla con kbd-test.
Aquí hay algunos típicos:
A pesar de la implementación minimalista, existen los siguientes requisitos:
Nota: Debido a la dependencia de xinput, kbd-tst solo puede ejecutarse en sistemas tipo Linux con Xorg.
Toda la implementación de kbd-tst está centrada en la 'prueba de entrada'. Xinput se ejecuta como un subproceso y los eventos de salida se analizan y visualizan como un diseño de teclado en pantalla con información y estadísticas adicionales. La parte visual se implementa utilizando secuencias de escape ANSI para controlar la posición y el color del cursor del terminal de texto. La distribución del teclado se proporciona a partir de archivos de distribución ASCII externos (*.lay) como 'apple.lay' o 'at101.lay'.
Para que kbd-tst funcione tenemos que especificar de alguna manera lo siguiente:
Para mostrar ayuda de uso, podemos proporcionar el parámetro estándar '-h' o '--help'.
= Keyboard Test Program version 2017.7.28 = (c) 2017 by Robert P =
Usage: kbd-tst.py [id] [layout] [-h|--help]
kbd-tst.py [-h|--help] [layout] [id]
-h ... shows this usage help and quits
--help ... shows this usage help and quits
id ... optional keyboard device id as shown in 'xinput list' output (default user assisted autodetection)
layout ... optional keyboard ASCII layout file [*.lay] (default the first file in kbd-tst dir)
Notes:
* parameters are optional
* not providing device id will initiate a user assisted autodetection sequence requiring physical disconneting
and reconecting the keyboard under test (KUT)
* not providing the layout file is usefull if there is only single layout file in kbd-tst directory
* all unrecognized keys from layout file are shown as errors and counted as [ missing_keycodes ]
* all parameters can be supplied in arbitrary order
* in case of multiple specification the last one wins,
for example in sequence of parameters 'id1 layout1 layout2 id2' id2/layout2 pair wins
* test ends when all successfully recognized keys from layout file are tested [ to_go = 0 ]
* to end test prematurely just type phrase 'quit' (without the quotes)
Known issues:
- keys ike apple keyb VOL+/VOL-/MUTE/EJECT do not generate xinput events and therefore cannot be tested right now
- if more than one device id is found by autodetection sequence only the first one is used, which is some cases
might be incorrect. In this case provide the correct device id as a parameter (id can be found by trial and error
from 'xinput list' and verified by 'xinput test id' to show 'key press xx' and 'key release xx' events)
[ xinput double entries related bug: https://bugs.launchpad.net/ubuntu/+source/hal/+bug/277946 ]
El procedimiento de prueba consta simplemente de los pasos:
Debido a la naturaleza dinámica y al soporte de conexión en caliente de los identificadores de entrada, tenemos que encontrar el identificador de dispositivo correcto de KUT (keyboatd under test). Esta es la parte más importante y, en algunos casos, también la más difícil del procedimiento de prueba.
Afortunadamente, existe una modalidad integrada de detección automática asistida por el usuario. Esto requiere conectar el KUT (teclado bajo prueba) si el KUT aún no está conectado. Si KUT ya está conectado, es necesario volver a conectarlo. La función de detección automática observa el sistema mientras KUT está conectado y luego puede identificar la identificación de entrada automáticamente. Sin embargo, en algunos casos, HAL crea dos dispositivos, lo que hace imposible que la detección automática elija. Luego se selecciona el primero mediante autodetección. Si este no es el correcto, deberá proporcionar xinput id manualmente como parámetro de línea de comando:
> kbd-tst.py 12
El archivo de diseño es una representación visual artística ASCII simple de la distribución física del teclado. Cada clave está representada por corchetes con la etiqueta de la clave dentro envuelta por espacios, por ejemplo: una clave con el número uno se representa como [1], que visualmente parece una tecla. Este archivo de diseño se carga, se analiza (se muestran los errores de análisis, si los hay) y luego también se utiliza para obtener comentarios visuales en pantalla. Consulte los archivos de diseño proporcionados para obtener más detalles (apple.lay, at101.lay)
El nombre del archivo de diseño requerido que se cargará debe especificarse como parámetro:
> kbd-tst.py at101.lay
Si no se proporciona ningún parámetro de archivo de diseño, se toma el primer archivo de diseño del directorio. Esto es útil si solo hay un archivo en el directorio.
La leyenda del botón en el archivo de diseño debe poder traducirse mediante el diccionario rev_xmodmap en la clase Diseño. Esto permite utilizar etiquetas de botones más cortas para diseñar correctamente la distribución del teclado ASCII. Si la etiqueta del botón del archivo de diseño no tiene ninguna entrada en el diccionario rev_xmodmap, se muestra el mensaje de error. La prueba continuará, pero no habrá forma de probar todas las claves. Por lo tanto, dicha ejecución finalizará con una advertencia (amarilla/naranja) (consulte las capturas de pantalla a continuación con advertencias sobre la carga del diseño y el informe de prueba).
Siéntase libre de contribuir con sus propios archivos de diseño específicos en el directorio de diseños...
Al final de la prueba se genera el informe de una sola línea con resumen:
Los siguientes archivos:
Espero que ayude...
versión 2017.07.27: la versión inicial de GitHub en 2017
palabras clave : teclado, prueba, kbdtst, diseño, kbd-tst, python, xinput, xmodmap