Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

What's the function of the Alt Gr key?

Writer Andrew Henderson

I read somewhere that the Alt Gr key found on some layouts is a substitute for Ctrl + Alt.

However, what can this combination be used for? Are there any documented shortcuts using Ctrl + Alt?

1

6 Answers

IBM named this key "alternate graphic" and it's not a substitute for CTRL + ALT, though CTRL + ALT was implemented as a substitute for ALT GR in Windows. It is a key modifier (like CTRL or SHIFT) that enables a different input than is normally expected of a key.

Depending on your keyboard and location setup, it can be used to produce characters with diacritical marks when used in conjunction with alphabetic keys (most often vowels), and the third symbol that is printed on some keys, for example, € (ALT GR + 4) or ¦ (ALT GR + `) that appear on my UK keyboard. Continental European keyboards generally have many more keys with extra symbols printed on them which correspond letters with the various types of diacritical marks used in those languages.

See AltGr key for more information.

5

For some keyboards, it allows some alternate combinations. In some keyboards it allows the cent symbol or the euro symbol - Wikipedia has a pretty comprehensive list of combinations using Alt Gr.

However using a US/Windows keymap, it doesn't do anything in most cases.

2

Also, handy for people with accessibility needs who have to do a Ctrl+alt+del. You try it one-handed.

7

Alt gr is necessary for some languages like Polish:

Alt Gr + a = ą

Alt Gr + s = ś

Alt Gr + shift + n = Ń

1

I am pretty sure it is implemented like this.

You can test the vkCode from the KBDLLHOOKSTRUCT to see what you get.

Mapped enum list from here, here, and

It should be equivalent to this:

using System.Windows.Forms;

isAltGr ? (Keys) (1 << 19) : Keys.None

private static Keys BuildKeyData(Keys virtualKeyCode) => virtualKeyCode | (IsDownControl ? Keys.Control : Keys.None) | (IsDownShift ? Keys.Shift : Keys.None) | (IsDownAlt ? Keys.Alt : Keys.None) | (IsAltGr ? (Keys) (1 << 19) : Keys.None);
private static bool IsDownControl => IsKeyPressed((ushort)VirtualKeys.LeftControl) || IsKeyPressed((ushort)VirtualKeys.RightControl);
private static bool IsDownShift => IsKeyPressed((ushort)VirtualKeys.LeftShift) || IsKeyPressed((ushort)VirtualKeys.RightShift);
private static bool IsDownAlt => IsKeyPressed((ushort)VirtualKeys.LeftMenu) || IsKeyPressed((ushort)VirtualKeys.RightMenu) || IsKeyPressed((ushort)VirtualKeys.Menu);
private static bool IsAltGr => IsDownControl && IsDownAlt;

Important Alt+Gr key combinations on a default German keyboard are:

  • @ ... AltGr + Q (if you press the same keys on a OS X keyboard, the application will be closed)
  • € ... AltGr + E
  • { ... AltGr + 7
  • [ ... AltGr + 8
  • ] ... AltGr + 9
  • } ... AltGr + 0
  • \ ... AltGr + ß
  • ~ ... AltGr + +
  • | ... AltGr + <
  • µ ... AltGr + M

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy