Strange sensitivity issue..

OK Now that I think I have found the right place to post this question I am having an issue.

I have a sketch that is fully functioning that used the Keypad library to create a button matrix in a 1x7 array. The Reason why this is run through the keypad is that I will have a switch to effectively change the 8 wires designated in the 1x7 matrix into a 4x4 matrix if wanted (hence not going 7 buttons directly to ground).

These pins run to 8 pins in a Ethernet Socket, Through the ethernet cable, and then to another ethernet socket at the other end of the cable where the buttons are attached so they can be used.

The Problem I am having is that the read on the pins becomes very unstable with longer wire length.

If the Wire is .5M it works perfectly.
If the wire is 1.8M it stays stable until a button is pressed and then it will trigger multiple buttons
If the wire is 3M or more as soon as I plug the Ethernet cord in it goes completely crazy triggering and releasing buttons.

The KeyPad Matrix from what I understand about the workings keeps Row Input Pins High and the column pins low.. I have verified this with a Volt meter and get 3.3V on the single row pin and .1-.2v on the Low column pins..

The weird thing is it triggers seemingly random pins when it does this as Pin 3 is the Row and 4, 5, 6, 7, 8, 9, and 10 are the columns.. It will trigger pins 4, 6 and 7 when it goes crazy by just plugging in the Ethernet cable (nothing is attached to the other end).

I have tried reversing the Row and Columns making for a 7 row one column matrix and that becomes more stable with all of the rows High but this will trigger a button 1 press with every normal button press .. BUT it doesn't have the errant signal.. I could work around this in software (BUT) there might still be issues with the 4x4 matrix switch.

So I am a little confused at what to do.. I think I need some sort of stronger Pull-up or Pull Down resistors but because of the change in matrix type this might not be feasible to do..

So I guess what I am trying to find out is if anyone has experienced something similar AND if they have what was their solution.