There's lots of opinions about GarageBand hitting the net so I'm not planning to rant about missing features or whatever. I just want to talk about my experiences of hooking up some MIDI gear to it.
I have tested my Behringer UMA25s keyboard over USB via the Camera Connection Kit and my Novation Remote 49 via a cheapo USB MIDI interface into the CCK. The Novation also has sustain and expression pedals plugged in.
First up, both were recognised perfectly and proceeded to play notes on GB's virtual synths and even the drumsets. Velocity sensitivity was transmitted properly (anyone else find the accelerometer "velocity" really hit and miss?). I really like many of the built-in patches, and playing them via a real keyboard is a joy.
As you'd expect, pitch wheel and mod wheel both worked just fine, their effect being dependent on the particular patch. Knobs and rotaries were more hit and miss. With a General MIDI setup loaded into each keyboard, the only rotaries that changed anything were the pan control and volume. I was hoping filters, chorus, reverb and ADSR would match the GM spec. Not sure if there is a MIDI mapping table anywhere on the web.
A less successful test was the arpeggiator. When switched on, incoming MIDI notes do not go to the arpeggiator. I like to use arpeggiators a lot (due to a lack of playing talent and a tendency to twiddle controls during playing) so this was a disappointment.
A big surprise, however, was the recognition of the expression pedal from the Novation (and the sustain pedal - less surprisingly) and seemingly the channel aftertouch, which had me squealing filters using the key pressure.
Overall, despite many criticisms from people, I am very happy with Garage Band for keyboard and MIDI. Oh, ok, it could use a piano roll :o)