¿Arduino como controlador de teclado completo?

2

Estoy considerando conectar un ThinkPad X4x keyboard un controlador de teclado KeyWarrior programable entre el cable plano del teclado y el cable USB para conectarlo a la PC. Al no ser un chico de la electrónica, volví a consultar el foro de KeyWarrior y me dijeron Que esto funcione. Las partes 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 en el teclado.

Ahora también abrí un subproceso en el foro de Arduino.

    
pregunta feklee

1 respuesta

6

Sí. Hay tres cosas que deberías hacer. La primera es la matriz del teclado. Los teclados normalmente se hacen 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éfono más pequeños son un ejemplo de matrices de 4x3 y 4x4, y se usan comúnmente en proyectos de 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 el USB el más reciente (Bluetooth también, pero eso es inalámbrico). Serial y PS / 2 se pueden cambiar de bit, 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 utilizar sondeo o interrupciones. Su código decidirá qué combinación de matrices es qué tecla del teclado y qué código de escaneo del teclado.

Las teclas de función se manejan esencialmente por software, al igual que la tecla shift / control / option / command / windows. Su código leería la tecla de función presionada, luego cualquier otra tecla presionada enviaría el código de escaneo de la función de la tecla, en lugar de solo el código de escaneo de la tecla.

Simplemente buscar en Google "Arduino USB Keyboard" te dará un google literal de proyectos de ejemplo haciendo eso. También "Arduino Keypad".

    
respondido por el Passerby

Lea otras preguntas en las etiquetas