Admin Libre - Administración de sistemas y redes

Teclado IBM para terminal a USB con el conversor Soarer
Por Francisco Gaitán 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

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

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org