Te contesto en público, que no hay problema.
El problema de las teclas de función lo soluciono como en el ZX Recreated keyboard: con una combinación de teclas que no se suele usar, CAPS + SYM + ENTER. No obstante, en el montaje descrito en la MagPI #67, se pone un pulsador conectado a la GPIO 21 que realiza la misma función.
Gracias por el ofrecimiento de los conectores, pero después de varios ofrecimientos que no se materializaron en nada, un usuario de Cork (Irlanda) preparó los conectores, los diodos, la placa de prototipos y los cables y me los envió por correo.
El hecho es que ya lo tengo funcionando tanto en las PI basadas en ARMv6 (A+/B+/Zero/ZeroW) como en las PI-2/3. De la PI-4 ni hablamos, que aún están peleando con ella, yo ni siquiera tengo una todavía. Las Zero y sus hermanas recuperan el soporte y, con ello, todo lo desarrollado para las otras placas, excepto, claro está, el sonido HDMI, que en las ARMv6 se antoja casi imposible.
Lo está probando el irlandés y ya me he encontrado con la primera cosa "simpática" de fase beta. Resulta que yo no tengo un teclado de Spectrum 48k funcional, pero sí tengo un +2 gris, de los primeros fabricados por Amstrad pero con el logotipo de Sinclair todavía en la carcasa. Pues bien, resulta que las líneas de direcciones y datos de la membrana están invertidas respecto al 48k. Supongo que tendré que dejar el montaje como especifica la revista, pensado para un 48k de teclado de goma, y luego si tienes otro teclado tendrás que invertir las conexiones en el GPIO.
La faena de las Zero es que, además de perder el sonido HDMI y de hacer el emulador ligeramente menos preciso, tienes que hacer un montaje para sacar el sonido por PWM, ya que tampoco tiene jack de 3'5mm. Desde mi modesto punto de vista, ese modelo es un auténtico fastidio.
Lo bueno de este montaje es que, a diferencia de lo que sale en la MagPI, que lee el teclado 60 veces por segundo y lo convierte a eventos de teclado estándar, el emulador lee el teclado GPIO *exactamente* con cada lectura del puerto #FE, con lo que se comporta como lo haría el teclado real. Lo mío me ha costado, que por primera vez en mi cacharreos me he encontrado con problemas de velocidad de cambio de estado de los GPIO, y las capacitancias del cable. Hasta que comprendí lo que pasaba, casi me doy por vencido, llegué a pensar que no podía hacerse así. Pero se puede, ya lo creo.
De momento, a ver qué me dice el irlandés cuando pruebe a invertir las líneas. Luego quisiera hacer otra modificación de cierta envergadura en otra parte del emulador, así que no creo que publique nada antes de Navidad. Y para entonces veremos....
Muchas gracias de nuevo por el ofrecimiento.
P.D.: Se me olvidaba comentar que he conseguido que puedan estar conectados 3 teclados, uno estándar USB, el Recreated ZX y el GPIO. Y todos funcionan a la vez, salvo en modo función que tiene prioridad el GPIO.