"I believe this would not work." - Buggins
It should, but it will only work if one encoder is active at a time. I don't ever really turn or press more than one at once, so the others are open circuit. In the rest state all switches on all encoders are open (as long as they have physical detents).
The transistor BE junction is a diode, so each encoder switch group can pull the common CW, CCW, PB lines down to 0.7V when active. If more than one switch in the active encoder is closed, like CW and CCW during rotation, the transistor is just further saturated in the on state.
I don't think it's a good idea to put switches that are noisy, phase sensitive, and rapidly opening and closing in an active diode matrix. Doing so would preclude the use of analog filtering, and the scan switching would have to be pretty fast so a possible compliance radiator.
And if I'm going to use an external shift register, I might as well keep the logic in the FPGA if I've got the pins. With all of the scarcity and supply chain delays of years, I've come to loathe bits and pieces logic (though passives and transistors are OK). One key part goes missing and you're dead in the water. I had to buy my EEPROMs and LED drivers direct from Micron and TI, Mouser was totally out with an ETA of a year or more. I bought more than I needed, and I suspect everyone is doing this, creating a run on them. It's a crazy time to be building anything.