Is there a Parallel-In-Serial-Out (PISO) shift register that has internal pull-up resistors?
I want to use it on an array of buttons.
I have used a 74HC165 with external pull-up restistors.
I have used I/O expanders with internal pull-up resistors.
But I have not found a PISO shift register with internal pull-up resistors.
You can use a matrix as long as you include a diode in series with every button, so any number of simultaneous key-presses can be distinguished.
Using diodes means that you can use a 74HC4017 to scan through 10 rows (but you would then need pull-down resistors on the columns) controlled by only two pins, and a shift register to read the columns.
Or just a SIPO and a PISO shift register - 64 buttons potential.
Or a SIPO shift register (74HC595) and five (for 40 buttons) Arduino input pins (plus the three outputs for the shift register).