I want to run a large switch matrix from a Raspberry Pi GPIO with the usual diode setup. I'm planning to chain some 74HC595 shift registers for the rows and read the columns from the Raspberry Pi GPIO.
If it makes any difference I might use 8 GPIOs and 2 shift registers, i.e. 128 buttons.
Knowing the current source / sink characteristics of both components, is it better to shift a high along the shift registers or a low? If it's high, the GPIO will have to sink. If it's high, the GPIO will have to source.
Does it make a difference either way? Can I do this without extra components or is a buffer advisable?