You should also look at HT16K33 , that can read in switches and buttons too
ditto for
tm1637 and 1638