Oh, and hey, come to think of it, this has got to be what's going on in the makeymakey firmware, the bits that look like so:
pinMode(inputLED_a, INPUT);
digitalWrite(inputLED_a, LOW);
pinMode(inputLED_b, OUTPUT);
digitalWrite(inputLED_b, LOW);
pinMode(inputLED_c, OUTPUT);
digitalWrite(inputLED_c, HIGH);
I was wondering what the hell was up with that.
---
Aha, yes, I can see the charlieplexing going on here: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/makey_makey-v12.pdf