I am a programmer and I use symbols more often than the number keys. I'd like to change the priority of the top row keys so that hitting "1" gives me "!", and holding shift and pressing "1" gives me "1".

I'd prefer a built-in solution even if it requires more effort.

  • What version of the operating system do you use? What do you mean by a built-in solution?
    – Daniel
    Commented Nov 7, 2011 at 14:12
  • I've created a layout for programmers: it's in Italian, but you could easily do the same thing for any other layout.
    – o0'.
    Commented Mar 16, 2014 at 17:58

2 Answers 2


To make the keyboard behave differently, you need a different keyboard layout.

You could create one by editing an XLM file manually, or you could use a third-party tool to create the keyboard layout (you don't need to be running a third-party program indefinitely once they layout is created and installed).

Ukelele is known for making it fairly easy to create new keyboard layouts for the Mac.

In any event, you want to switch the number keys (0-9) and the symbols attached to them. Save your new keyboard in ~/Library/Keyboard Layouts, and then select it as your keyboard.


I have not tried this, but I think DoubleCommand might let you do this. And I'm pretty sure you could implement this with TextExpander. I don't think you would necessarily need to create a different keyboard layout as Daniel suggests.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .