Part of the fun with that is there's about fifty different places you could do it, and the only one that will
really affect everything is in the kernel (IIRC), anything else will affect the program, window manager, terminal, etc but not necessarily anything else. And some programs bypass everything and read scancodes anyway.
Whereas in Mac OS X it's a simple configurable option (a bit hidden, System Settings, Keyboard -> Keyboard Shortcuts -> Modifier Keys).