Expansão de portas - Arduino Leonardo

Prezados, tenho um projeto que precisarei utilizar 48 portas digitais. Cada dispositivo utiliza 6 portas e preciso ter 8 deles, totalizando 48. Estou utilizando o Arduino Leonardo para possibilitar o envio de teclas para a minha aplicação Windows (enviar letras e números conforme o acionamento de botões). O código eu já tenho e está funcionando para 2 dispositivos (total de 12 portas).
Qual a maneira mais fácil de expandir as portas para suprir minha necessidade?
As teclas poderão ser acionadas de forma simultânea, então no esquema de matriz não sei se poderia funcionar muito bem.
Agradeço a atenção.

@ademacker, o que você precisa é de um multiplexador digital, um microcontrolador adicional ou mesmo um chip de tratamento de teclado.

Dentre os módulos multiplexadores A/D existentes para Arduino, o CD74HC4067 é um dos mais usados:
https://www.smartkits.com.br/modulo-multiplexador-cd74hc4067-16-canais
Abraços!