How do I write special characters without AltGr key?

I ran into a problem trying to write some special characters like {}, @ etc using AltGr key. It is not system-wide issue, I encountered it just in Android Studio IDE and I already solved it in Android Studio IDE using this answer.
BUT that answer says that some newer keyboards don't have AltGr key, so some software doesn't rely on it's presence. That sort of implies that there is another way to write special characters like these {}<>[]@& on non-english keboard.

I was just wondering if there in fact is such a way other than changing input language every time I want to insert special character or having to punch in its entire ASCII code using alt+numpad combo.

Just to be clear, I have Czech keyboard and Windows, but answer for OSX would be appreciated as well.


Solution 1:

The simple answer is to use Ctrl + Alt instead of Alt Gr. That works for all special characters on my keyboard.

I would imagine that the keyboard layouts you're referring to (that doesn't have an Alt Gr key) simply only have two versions of input characters on each key, i.e. the normal character, and the one produced when holding Shift.

Solution 2:

Here's a general way. Not the fastest, but for any character regardless of keyboard layout:

  • Click the Start button (or Windows key).
  • Type: "Character Map" without the quotes.
  • Enter.
  • Select the character you want.
  • Click Select.
  • Paste it wherever you want.