Можно сделать свой типа-SPI с блекджеком и так далее, чтобы было еще проще, обойтись одним сдвиговым регистром на 9 разрядов в CPLD. Девятый бит - признак нажатия/отпускания. Вроде как такой режим где-то попадался на глаза в мануалах STM.
SPI - много проводов. Без них нет никакой синхронизации к потоку. I2C за глаза.