Какова функция клавиши Alt Gr?

28

Я где-то читал, что Alt Grключ, найденный на некоторых раскладках, является заменой Ctrl+ Alt.

Однако для чего может быть использована эта комбинация? Есть ли документированные ярлыки, использующие Ctrl+ Alt?

Sparx
источник
3
Ctrl + Alt + Delete
Джо Тейлор,

Ответы:

27

IBM назвала этот ключ «альтернативной графикой», и он не заменяет CTRL+ ALT, хотя CTRL+ ALTбыл реализован вместо ALT GRWindows. Это ключевой модификатор (например, CTRL или SHIFT), который позволяет вводить информацию, отличную от той, которая обычно ожидается от клавиши.

В зависимости от вашей клавиатуры и настроек местоположения ее можно использовать для создания символов с диакритическими знаками при использовании в сочетании с буквенными клавишами (чаще всего гласными) и третьим символом, который печатается на некоторых клавишах, например, € ( ALT GR+ 4) или ¦ ( ALT GR+ `), которые появляются на моей британской клавиатуре. Клавиатуры континентальной Европы, как правило, имеют гораздо больше клавиш с напечатанными на них дополнительными символами, которые соответствуют буквам различных типов диакритических знаков, используемых на этих языках.

См. Ключ AltGr для получения дополнительной информации.

Джеймс
источник
Я всегда думал, что это означает «Alt Green», так как я помню, что клавиша была напечатана зелеными буквами на клавиатуре IBM PC / AT, но я просто сказал Alt. Странно, что статья в Википедии даже не упоминает об этом.
парадроид
1
Я долгое время думал, что это означает «Альт-Немецкий» ...
Юрген А. Эрхард
@ JürgenA.Erhard: я тоже так думал.
Алекс Essilfie
3
Приятно отметить, что Alt Grреализовано как Ctrl+, Altно Ctrl+ Altне соответствует Alt Gr.
Алекс Эссильфи
В Индии на некоторых назначенных клавиатурах клавиша Alt Gr + 4 дает символ индийской валюты (₹)
Code Poet
9

Для некоторых клавиатур допускаются альтернативные комбинации. В некоторых клавиатурах допускается использование символа цента или символа евро - в Википедии имеется довольно полный список комбинаций с использованием Alt Gr.

Однако, используя карту ключей США / Windows, в большинстве случаев она ничего не делает.

Подмастерье Компьютерщик
источник
Даже в некоторых американских макетах где-то есть <€> (в моем случае <5>).
Игнасио Васкес-Абрамс
у меня британская клавиатура с американским набором; с. он имеет символ евро на 4, если бы он был на британских клавиатурах
Путешественник Geek
4

Кроме того, удобно для людей с ограниченными возможностями, которые должны сделать Ctrl + Alt + Del. Вы попробуете это одной рукой.

бонус
источник
Я сомневаюсь, что работает?
Арьян
@Arjan Это не работает.
AndrejaKo
1
Имеется на каждой клавиатуре, которую я использовал. Может быть, это британская раскладка.
Бонус
1
@Arjan Может быть, некоторые клавиатуры выдают другой скан-код для AltGr? Может ли быть так, что на некоторых клавиатурах AltGr фактически настроен так, чтобы он вел себя как ctrl + alt?
AndrejaKo
2
Последовательность C + A + D обрабатывается на гораздо более низком уровне, чем преобразование AltGrto Ctrl+ Alt(по крайней мере, в Windows и Linux), поэтому они не будут работать точно так же. (За исключением, возможно, в случае отправки с клавиатуры Ctrl+ Altсканкоды.)
grawity
1

Я уверен, что это реализовано так.

Вы можете проверить vkCode из KBDLLHOOKSTRUCT, чтобы увидеть, что вы получаете.

Перечень перечисленных здесь и здесь , и www.pinvoke.net/default.aspx/Constants/WM.html

Это должно быть эквивалентно этому:

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;
Задержка
источник
0

Важные комбинации клавиш Alt + Gr на немецкой клавиатуре по умолчанию:

  • @ ... AltGr + Q (если вы нажмете те же клавиши на клавиатуре OS X, приложение будет закрыто)
  • € ... AltGr + E
  • {... AltGr + 7
  • [... AltGr + 8
  • ] ... AltGr + 9
  • } ... AltGr + 0
  • \ ... AltGr + ß
  • ~ ... AltGr ++
  • | ... AltGr + <
  • µ ... AltGr + M
Майк Л.
источник