Is there any way to swap the fn (function) and control keys in linux on a macbook pro?

I personally haven't needed to do this, but this link shows that you should be able to modify the kernel keymapping upon booting to make this switch.

This link also states that XFree86 will try and load the kernel mapping at its load time so it shouldn't need to be changes just for X if you do the above first.