but you are only reading info from the one column that is powered.
You'll get "backflow", but itwont affect anything.
Lets say you have keys 1,2,3 on the number row down, as well as F1.
Column of F2,2,w,etc is active.
What do you read with the controller? in a contact KB, you read that F-row is pressed (because of "backflow" from F1) as well as the numberrow. This is bad.
In this design, only the numberrow would show as being active, since the F1 key is unpowered, it doesn't output anything. Since you are powering the f2 colum, then you know that only the number 2 in the colum is being pressed.
Then, when you scan the next column, The F1 column, the numberrow and the function row go high and you know that F1 and 1 are being pressed.
Then you just "remember" the switch states until the next time you scan. If scans happen at 100 KHz or so, you'll have much better performance over basically any MX KB.
---
In your example, C and D would NOT show as flowing, even if there is voltage present there. The controller will ignore any value from the wrong column since it's not the one it is scanning. It will preserve the value from the last scan.
So if underscore is pressed and no underscore is no voltage, this is what we get
RX powered:
C1 C2
V V
[A] [N] <- RX
[C] [D] <- RY
Since RY is unpowered, this effectively becomes
C1 C2
V V
[A] [N] <- RX
[C] [D] <- RY
The controller sees
C1 C2
V V
[A] [N] <- RX
[C] [D] <- RY
The controller isn't looking at RY (it can't it is just powering it when told and remembering which column is currently powered and what switches are on it)
C1 shows voltage, so you know that [A] is pressed. There may be continuity all down C1 from the other switches and lack of diodes, but since only pressed switches that are also in RX can show voltage now, then you know which switches are pressed. Any "false positive" or "ghost" in another Row you KNOW must be discounted since it's unpowered it can't be showing voltage.
In a contact switch system you get issues, because you cannot isolate the column (or rows in your example) this way. You cannot safely discount those lines like you can do here. You gain an additional piece of information with hall effect: You know which lines show voltage and you know what column they are on. Or, to put it another way, you know which keys are pressed. It's this additional piece of information, this addiotnal "switch" of unpowering the switches that allows us to do this.
Now the actual scanrate will be determined by how quickly you can switch voltages. This might need diodes or something to quickly "unpower" the column. That said, according to honeywell, the scanrate is normally on the order of hundreds of KHz.
---
Ok I've posted a lot and rambled a bit, but this was also for my own understanding: to make sure I'm getting it right. Please tell me any hole I've missed, as it is entirely possible that I have.
---
Edit: I think I get what you mean now. Please read past the above. I think you already understand all that.
So there's three pins. Ignoring the ground (for now). You are wondering if there's flow between the output line and the power line, even when the switch is off. That WOULD cause the behavior you describe. I will get a multimeter and test it, though I am almost certain it won't. I think that even if it does, if you wire up the redundant pins it'll still work, but I'll have to think about it to be sure.
edit: I read over 25 megaphms between power and ground in one direction and NC in teh other. Between all other pins in all directions, I read NC.
I can't test it powered until I get some alligator clips for my powersupply.