Teclado IBM para terminal a USB con el conversor Soarer
Por el 8 de Abril de 2022
Hace tiempo me hice con un teclado mecánico IBM para terminales con 122 teclas y lo convertí a USB para poder usarlo con un ordenador convencional. Aquí te explico cómo.
El conversor Soarer es un firmware para placas Teensy que sirve para convertir teclados XT, AT y algunos modelos para terminales a USB. Permite configurar remapeado de teclas y macros, y además es NKRO completo (siempre que el teclado lo soporte).
Este conversor es vendido por orihalcon muy bien ensamblado aunque no es necesario comprarlo ya que el código está disponible de forma gratuita por lo que puedes montarlo tú mismo usando una placa Teensy adecuada o un simple microcontrolador.
Qué necesitas
- Soldador de estaño, cable de cobre e hilo de estaño
- Un microcontrolador soportado o una placa como la Teensy++ 2.0
- Archivos del conversor Soarer
- Cable USB a Mini USB
Como programar la placa Teensy
Aunque la placa Teensy 2.0 es más barata yo usé la Teensy++ 2.0. Elije el archivo .hex
correspondiente, en este caso sería Soarer_at2usb_v1.12_at90usb1286.hex, y cárgalo en la placa usando el cargador Teensy de PJRC.
Como conectar el teclado a la placa Teensy
Si usas otra placa comprueba las conexiones de la placa Teensy.
- GND es GND
- Vcc es +5V
- Data es PD0
- Clock es PD1
kbdbabel tiene un montón de información sobre conectores de teclados. Tendrás que identificar cada señal en el teclado específico que estés convirtiendo para hacer las conexiones correctas.
Como remapear las teclas y configurar las macros
Con teclados exóticos como el IBM Model F XT o los teclados IBM para terminales la distribución de teclas no está bien configurada por defecto. Esto se puede arreglar con las herramientas que incluye el archivo del conversor Soarer, especialmente scas
y scwr
, y viene explicado en el archivo tools.html.
Además de estas herramientas he usado el programa hid_listen para tomar nota del código que genera la pulsación de cada tecla que quiero configurar. Está precedida por el símbolo +
. Una vez anotado, busco este código en el archivo codes.html. Por ejemplo, para hacer que la tecla que da el código 0x93
se comporte como flecha abajo, la línea a añadir sería:
LANG_4 DOWN
Configuración
Esta es la configuración que uso para un teclado IBM de 122 teclas para terminales modelo 1390890, donde configuro el teclado numérico como en los teclados normales.
Arreglo un par de teclas que faltan y configuro macros para que las 10 teclas de función adicionales correspondientes a FAKE_08
, FAKE_09
, ..., FAKE_17
funcionen como CTRL + ALT + número
, y más tarde configuro esas combinaciones desde el sistema operativo.
remapblock
LANG_4 DOWN
ESC NUM_LOCK
NUM_LOCK PAD_SLASH
SCROLL_LOCK PAD_ASTERIX
EXTRA_SYSRQ PAD_MINUS
PAD_ASTERIX PAD_PLUS
PAD_MINUS PAD_PLUS
PAD_PLUS PAD_ENTER
F13 ESC
F23 PRINTSCREEN
F24 SCROLL_LOCK
EUROPE_1 BACKSLASH
endblock
macroblock
macro FAKE_08
PUSH_META CLEAR_META all
MAKE LCTRL
MAKE LALT
PRESS 1
BREAK LALT
BREAK LCTRL
POP_ALL_META
endmacro
macro FAKE_09
PUSH_META CLEAR_META all
MAKE LCTRL
MAKE LALT
PRESS 2
BREAK LALT
BREAK LCTRL
POP_ALL_META
endmacro
endblock
Como guardar la configuración
Una vez que la configuración está lista tal y como la quieres necesitas compilar y escribir el binario en el microcontrolador:
scas m122.sc m122.scb
scwr m122.scb