Estoy considerando conectar un teclado ThinkPad X4x a una PC, usando un controlador de teclado KeyWarrior programable entre el cable plano del teclado y el cable USB para conectarlo a la PC. Como no soy un tipo de electrónica, revisé el foro de KeyWarrior y me dijeron que esto debería funcionar. Las piezas necesarias son fáciles de obtener y sé cómo usar un soldador. ;-)
De todos modos, en todas partes escucho Arduino, y probablemente valdría la pena aprender sobre este microcontrolador universal. ¿Sería posible reemplazar la solución KeyWarrior por una solución Arduino?
Tenga en cuenta que KeyWarrior16 admite dos capas , para la tecla FN del teclado.
Ahora también abrí un hilo en el foro de Arduino.
Sí. Hay tres cosas que tendrías que hacer. La primera es la matriz del teclado. Los teclados normalmente se fabrican utilizando una matriz de salidas a entradas, donde cada tecla del teclado corresponde a una combinación de entrada y salida. 8x8 es una matriz común. Los teclados de teléfonos más pequeños son un ejemplo de matrices 4x3 y 4x4, y se usan comúnmente en proyectos Arduino.
La segunda parte y la tercera parte están entrelazadas. La segunda parte es el protocolo a la computadora. Serial, PS/2 o USB son los más comunes, siendo USB el más reciente (Bluetooth también, pero eso es inalámbrico). El serial y el PS/2 pueden ser bitbanged, al igual que el USB, pero es un poco más difícil. V-USB es un proyecto para la implementación de software USB en procesadores ATTINY y ATTMEGA (como el arduino).
La tercera parte es el código real entre la lectura de la matriz del teclado y el envío a través de USB. En el lado USB, desea un teclado USB-HID (sin controlador en el lado de la PC). En el lado del teclado, puede usar sondeos o interrupciones. Su código decidiría qué combinación de matriz es qué tecla del teclado y qué código de escaneo del teclado.
Las teclas de función son manejadas esencialmente por software, al igual que las teclas shift/control/option/command/windows. Su código leería la tecla de función que se presiona, luego cualquier otra tecla que se presione enviaría el código de escaneo de tecla + función, en lugar de solo el código de escaneo de tecla.
Simplemente buscar en Google "Arduino USB Keyboard" le dará un google literal de proyectos de ejemplo que lo hacen como tal. También "Teclado Arduino".
Pablo Maurín
feklee