USB mouse, joystick vs lerin neredeyse tamamı 1ms lik interrupt transfer kullanıyor. Dolayısı ile butonların tepki süreleri zaten mikro saniyeler olmayacak.
32 buton yeterince çok pini olan bir mcu kullanılarak da okunabilir. Paralel giriş, seri çıkışlı shift register kullanılıp 3-4 pin üzerinden de okunabilir, keypad tarar gibi de.
Tabii mcu USB destekli olmak zorunda.
Asıl sorun PC ye bunu USB gamepad olarak tanıtabilmekte.
Tam hatırlayamadığım, emin olamadığım konu USB de 32 buton için 32 endpoint tanımlamak gerekir diye hatırlıyorum ama bir device da 16 endpoint gibi de sınır vardı sanki. Emin de değilim dediğim gibi.
Belki devreyi 2 ayrı device olarak gösterip üzerinde 16+16 olarak tanımlamak mümkün olabilir.
USB.org a bi bakmak lazım.
Olabiliyorsa iş düzgün bir device descriptor yazmaya bakar.