The lower the pull up resistor value, the more current flows and so the further away from zero volts is the input because of the resistance of the return wire.
The higher the pull up resistor the more susceptible to noise is the input.
That's only if the resistor is on the switch though, right?
If I were to use a switch on long leads like this in one of my own projects, and I used the internal 20K pullups on the Arduino, and wired the switch straight to ground, then the pulldown would be pretty darn strong compared to the pullup. And any noise that that wire might be picking up from RF when the switch isn't triggered would be pretty weak compared to a 20K pullup, wouldn't it?
So noise shouldn't really be an issue with that kind of setup even with fairly long (say 2 meter) leads, right?
This is probably not an issue, but do be aware that (at least with weak pull-ups) it will take some time for the voltage on the switch wire to rise.
I ran into this when I replaced digitalRead with digitalReadFast in some code, and a switch reading became erratic.
Turned out the problem activating the internal pull-up immediately before reading the switch. digitalRead was slow enough for the voltage to rise on the switch line, but digitalReadFast was quick enough to catch the line while the voltage was still rising. (I assume this reflects the capacitance of a long wire going to the switch). Adding a 1 us delay after activating the pullups fixed it.
Yeah, I should have remembered this because I had a similar issue with a board I built that used resistive touch switches.
The pins I used to read them had 1M pulldowns on them, and when you bridged two wires your skin provided a conductive path for +5v. But because the 1M pulldowns were so weak, the reading was really noisy unless I gave it time to settle. I finally solved the issue by putting a 10K pulldown on another analog pin, switching to that briefly, then switching back to the touch switch pins to read them. Because the pins are multiplexed to a single input inside the Atmega, the 10K was able to pull it down, and with only 1M holding it low, the +5v through around 100K of skin resistance, if there, was able to overpower it quickly. Each time I read it though, the 10K would reset it to ground before I took my new reading.
Worked amazingly well too. Noise was almost completely gone.
Also, the reason I couldn't just use a delay to stabilize the signal is because that stops everything, and with the 1M and skin resistance the delay needed to be pretty long to get a clean reading without the 10K trick.