Hey guys!
I'm from Germany and thats the only forum i found for this question :$ (so my english isn't the best^^)
I got an iMac 2 weeks ago. Because I programm in XCode (and Java) I'm going to buy a MECHANIC Keyboard.
so many Windows Keyboards out there, but not much for OS X. 
I need a mechanic OS X Keyboard for programming..
First question:
I read yesterday that there is a software called Karabiner, which you can use to change the KeyLetters (KeyCodes).
Because I want to change these brackets {} with them: ()
Does it work? Please answer, thanks 
Second question:
Which Keyboard is really good to use for Mac and is an OS X Keyboard? 
Thank you very much! (:
As Jacobolus as pointed out, Ukelele is the "normal" way to do this.
You can do it with Karabiner, and you can also do a lot of wonderful things, but it may be more complicated.
Use Ukelele for simple character assignation, and Karabiner when you cannot do it with Ukelele.
With Ukelele it will be relatively simple: load the default layout you are using now, and make the changes. Save the layout, and use it as your new default layout.
Most mechanical keyboards will work fine with OS X. Some are designed with the Mac in mind, like some keyboards from Matias.
Coming from Windows/Linux, I simply use keyboards designed for the PC and configure the Mac, with Karabiner, so it responds to keys like a PC. For example, when I do PageUp, the cursor "follows" (goes to the new page). On the Mac by default the cursor would stay where it is, so it would disappear from view, which I find unusable (or I would have to do Alt-PageUp all the time).
TL;DR: any mechanical keyboard will work fine on the Mac, and Ukelele is probably better for the small change you want to do.