From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/keyboardevent/altkey/index.html | 117 + files/ru/web/api/keyboardevent/index.html | 465 +++ files/ru/web/api/keyboardevent/key/index.html | 229 ++ .../api/keyboardevent/key/key_values/index.html | 3665 ++++++++++++++++++++ files/ru/web/api/keyboardevent/which/index.html | 97 + 5 files changed, 4573 insertions(+) create mode 100644 files/ru/web/api/keyboardevent/altkey/index.html create mode 100644 files/ru/web/api/keyboardevent/index.html create mode 100644 files/ru/web/api/keyboardevent/key/index.html create mode 100644 files/ru/web/api/keyboardevent/key/key_values/index.html create mode 100644 files/ru/web/api/keyboardevent/which/index.html (limited to 'files/ru/web/api/keyboardevent') diff --git a/files/ru/web/api/keyboardevent/altkey/index.html b/files/ru/web/api/keyboardevent/altkey/index.html new file mode 100644 index 0000000000..0ac07c64c1 --- /dev/null +++ b/files/ru/web/api/keyboardevent/altkey/index.html @@ -0,0 +1,117 @@ +--- +title: KeyboardEvent.altKey +slug: Web/API/KeyboardEvent/altKey +translation_of: Web/API/KeyboardEvent/altKey +--- +

{{APIRef("DOM Events")}}

+ +

KeyboardEvent.altKey свойство только для чтения, возвращет  {{jsxref("Boolean")}}, если клавиша  alt (Option или  на OS X) была нажата (true) или не нажата (false), когда событие произошло.

+ +

Синтаксис

+ +
var altKeyPressed = instanceOfKeyboardEvent.altKey
+
+ +

Пример

+ +
<html>
+<head>
+<title>altKey example</title>
+
+<script type="text/javascript">
+
+function showChar(e){
+  alert(
+    "Нажата клавиша: " + String.fromCharCode(e.charCode) + "\n"
+    + "charCode: " + e.charCode + "\n"
+    + "клавиша ALT нажата: " + e.altKey + "\n"
+  );
+}
+
+</script>
+</head>
+
+<body onkeypress="showChar(event);">
+<p>
+Нажмите любую клавишу с зажатой клавишей ALT или без нее<br />
+Вы можете также использовать SHIFT вместе с ALT.
+</p>
+</body>
+</html>
+ +

Спецификация

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('DOM3 Events','#widl-KeyboardEvent-altKey','KeyboardEvent.altkey')}}{{Spec2('DOM3 Events')}}Initial definition.
+ +

Совместимость браузеров

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureEdgeFirefox (Gecko)ChromeInternet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown()}}{{CompatVersionUnknown()}}{{CompatVersionUnknown()}}{{CompatVersionUnknown()}}{{CompatVersionUnknown()}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureEdgeFirefox Mobile (Gecko)AndroidIE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +

Смотрите также

+ + diff --git a/files/ru/web/api/keyboardevent/index.html b/files/ru/web/api/keyboardevent/index.html new file mode 100644 index 0000000000..82f1f9d634 --- /dev/null +++ b/files/ru/web/api/keyboardevent/index.html @@ -0,0 +1,465 @@ +--- +title: KeyboardEvent +slug: Web/API/KeyboardEvent +tags: + - API + - DOM + - Event + - UI Events + - Интерфейс + - Событие +translation_of: Web/API/KeyboardEvent +--- +
{{APIRef("DOM Events")}}
+ +

Объекты KeyboardEvent описывают работу пользователя с клавиатурой. Каждое событие описывает клавишу; тип события (keydown, keypress или keyup) определяет произведённый тип действия.

+ +
Примечание: KeyboardEvent сообщит только о том, что на клавише произошло событие. Когда вам нужно обрабатывать ввод текста, то вместо него используйте "HTML5 input"-событие. Например, если пользователь вводит текст рукописным способом, предположим с планшета, то события клавиш могут не возникать.
+ +

Конструктор

+ +
+
{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}
+
Создаёт объект KeyboardEvent.
+
+ +

Методы

+ +

Этот интерфейс также наследует методы от своих родителей: {{domxref("UIEvent")}} и {{domxref("Event")}}.

+ +
+
{{domxref("KeyboardEvent.getModifierState()")}}
+
Возвращает {{jsxref("Boolean")}}, показывающий, что использовалась клавиша-модификатор, такая как AltShiftCtrl или Meta, которая была нажата, когда создалось событие.
+
{{domxref("KeyboardEvent.initKeyEvent()")}}{{deprecated_inline}}
+
Инициализирует объект KeyboardEvent. Этот метод реализован только в движке Gecko (остальные использовали метод {{domxref("KeyboardEvent.initKeyboardEvent()")}}), и он не должен в дальнейшем использоваться. Новый стандартный способ - это использование конструктора {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}.
+
{{domxref("KeyboardEvent.initKeyboardEvent()")}}{{deprecated_inline}}
+
Инициализирует объект KeyboardEvent. Этот метод никогда не был реализован в движке Gecko (вместо него использовался {{domxref("KeyboardEvent.initKeyEvent()")}}), и он не должен в дальнейшем использоваться. Новый стандартный способ - это использование конструктора {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}.
+
+ +

Свойства

+ +

Этот интерфейс также наследует свойства от своих родителей: {{domxref("UIEvent")}} and {{domxref("Event")}}.

+ +
+
{{domxref("KeyboardEvent.altKey")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если клавиша Alt ( Option или в OS X) была активна, когда возникло событие.
+
{{domxref("KeyboardEvent.char")}} {{Non-standard_inline}}{{Deprecated_inline}}{{Readonlyinline}}
+
Возвращает {{domxref("DOMString")}}, представляющий символьное значение клавиши. Если клавиша соответствует печатному символу, то это значение будет непустой Unicode-строкой, содержащей этот символ. Если клавиша не имеет печатного представления, то значение будет пустой строкой. +
Примечание: Если клавиша использовалась как макрос, который вставляет несколько символов, то значением будет вся строка, а не только первый символ.
+ +
Предупреждение: Эта функция была удалена из событий "DOM Level 3 Events". Она поддержтвается только IE9+ и Microsoft Edge.
+
+
{{domxref("KeyboardEvent.charCode")}} {{Deprecated_inline}}{{Readonlyinline}}
+
Возвращает {{jsxref("Number")}}, представляющий Unicode-номер клавиши; этот атрибут использовался только с событием keypress. Для клавиш, чей char-атрибут содержит несколько символов, то значением этого атрибута будет Unicode-значение первого символа. В Firefox 26 этот атрибут возвращал коды для печатных символов. +
Предупреждение: Это нерекомендуемый к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.
+
+
{{domxref("KeyboardEvent.code")}} {{Readonlyinline}}
+
Возвращает {{domxref("DOMString")}} с кодом клавиши, представленного события.
+
{{domxref("KeyboardEvent.ctrlKey")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если клавиша  Ctrl была активна, когда возникло событие.
+
{{domxref("KeyboardEvent.isComposing")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если событие возникло между "после-compositionstart" и "до-compositionend".
+
{{domxref("KeyboardEvent.key")}} {{Readonlyinline}}
+
Возвращает {{domxref("DOMString")}}, представлающее значение клавиши, на которой возникло событие.
+
{{domxref("KeyboardEvent.keyCode")}} {{deprecated_inline}} {{Readonlyinline}}
+
Возвращает {{jsxref("Number")}}, представляющее системный и зависящий от конкретной реализации числовой код, идентифицирущий немодифицированное значение нажатой клавиши. +
Предупреждение: Это нерекомендуемый  к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.
+
+
{{domxref("KeyboardEvent.keyIdentifier")}} {{Non-standard_inline}}{{deprecated_inline}}{{Readonlyinline}}
+
Это свойство нестандартное, и его использование не рекомендуется в пользу {{domxref("KeyboardEvent.key")}}. Это часть устаревшего "DOM Level 3 Events".
+
{{domxref("KeyboardEvent.keyLocation")}} {{Non-standard_inline}}{{deprecated_inline}}{{Readonlyinline}}
+
Это нестандартный нерекомендуемый синоним для {{domxref("KeyboardEvent.location")}}. Это часть устаревшего "DOM Level 3 Events".
+
{{domxref("KeyboardEvent.locale")}} {{Readonlyinline}}
+
Возвращает {{domxref("DOMString")}}, представляет строку-локаль, которая показывает текущую конфигурацию локали клавиатуры. Это может быть пустая строка, если браузер или устройство не имеют понятия о локали клавиатуры. +
Заметьте: Это не описание языка ввода текста. Пользователь может использовать одну раскладку клавиатуры для ввода на разных языках.
+
+
{{domxref("KeyboardEvent.location")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Number")}}, представляющее расположение клавиши на клавиатуре или другом устройстве ввода.
+
{{domxref("KeyboardEvent.metaKey")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если клавиша Meta (на клавиатуре Mac - клавиша ⌘ Command; на Windows-клавиатуре - клавиша "Windows" ) была активна, когда возникло событие.
+
{{domxref("KeyboardEvent.repeat")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если клавиша была нажата до тех пор, пока её ввод не начал автоматически повторяться.
+
{{domxref("KeyboardEvent.shiftKey")}} {{Readonlyinline}}
+
Возвращает {{jsxref("Boolean")}}, которое true, если клавиша Shift была активна, когда возникло событие.
+
{{domxref("KeyboardEvent.which")}} {{deprecated_inline}} {{Readonlyinline}}
+
Возвращает {{jsxref("Number")}}, представляющее зависящее от конкретной реализации значение системного кода нажатой клавиши, который представляет собой немодифицируемое значение; это обычно то же, что свойство keyCode. +
Предупреждение: Это нерекомендуемый  к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.
+
+
+ +

Примечания

+ +

Особенности событий keydown, keypress и keyup. Для большинства клавиш Gecko обрабатывает последовательность событий так:

+ +
    +
  1. Когда клавиша сначала нажата, то отправляется событие keydown.
  2. +
  3. Если клавиша не является модификатором, то отправляется событие keypress.
  4. +
  5. Когда пользователь отпускает клавишу, то отправляется событие keyup.
  6. +
+ +

Особые случаи

+ +

Некоторые клавиши переключают подсветку индикаторов, такие как Caps Lock, Num Lock и Scroll Lock. На Windows и Linux эти клавиши создают только лишь события keydown и keyup.

+ +
+

В Linux Firefox 12 и более ранних также обрабатывается событие keypress.

+
+ +

Но в связи с ограничениями Mac OS X модель событий клавиши Caps Lock включает в себя только keydown. События Num Lock поддерживались на старых ноутбуках (2007 года и старше), но затем Mac OS X их перестала поддерживать, даже на внешних клавиатурах. На совсем старых MacBooks клавиша Num Lock вообще не генерирует никаких событий. Движок Gecko не поддерживает клавишу Scroll Lock, если это внешняя клавиатура с клавишей F14. В некоторых старых версиях Firefox эта клавиша генерирует событие keypress; это являлось нестабильным поведением и описано в {{bug(602812)}}.

+ +

Обработка автоповтора нажатой клавиши

+ +

Когда клавиша нажата и удерживается, то начинается автоповтор. Результатом этого будет последовательность событий аналогичная следующей:

+ +
    +
  1. keydown
  2. +
  3. keypress
  4. +
  5. keydown
  6. +
  7. keypress
  8. +
  9. <<повтор до тех пор, пока пользователь не отпустит клавишу>>
  10. +
  11. keyup
  12. +
+ +

Это то, что должно произойти в соответствии со спецификацией DOM Level 3. Однако, есть несколько предостережений относительно этого, описанных ниже.

+ +

Автоповтор на некоторых GTK-средах, таких как Ubuntu 9.4

+ +

В некоторых GTK-средах автоповтор обрабатывается автоматически нативными функциями как событие key-up, и у Gecko нет способа отличить серию одиночных нажатий от автоповтора. На таких платформах автоповтор генерирует следующую последовательность событий:

+ +
    +
  1. keydown
  2. +
  3. keypress
  4. +
  5. keyup
  6. +
  7. keydown
  8. +
  9. keypress
  10. +
  11. keyup
  12. +
  13. <<повтор, пока пользователь не отпустит клавишу>>
  14. +
  15. keyup
  16. +
+ +

В этих средах, к сожалению, нет возмодности сказать вэб-контенту, произошел автоповтор или клавиша быал нажата несколько раз.

+ +

Обработка автоповтора на системах до Gecko 5.0

+ +

До Gecko 5.0 {{geckoRelease('5.0')}} обработка событий клавиатуры была различна на разных платформах.

+ +
+
Windows
+
Поведение автоповтора такое же как в Gecko 4.0 и более поздних.
+
Mac
+
После первого события keydown только отправляются события keypress до тех пор, пока не произойдёт событие keyup; внутриинтервальные события keydown не отправляются.
+
Linux
+
Поведение событий зависит от конкретной платформы. Они могут иметь как Windows-тип и Mac-тип, так и свои собственные модели поведения.
+
+ +

Замечание: при вызове события вручную не происходит никакого действия по умолчанию, связанного с данным событием. Например, если вызвать вручную событие нажатия клавиши, то никакая буква на поле вводимого текста не появится. В случае событий пользовательского интерфейса, что важно по соображениям безопасности, это предотвращает работу скриптов в браузере, которые эмулируют работу пользователя.

+ +

Пример

+ +
<!DOCTYPE html>
+<html>
+<head>
+<script>
+'use strict';
+
+document.addEventListener('keydown', (event) => {
+  const keyName = event.key;
+
+  if (keyName === 'Control') {
+    // not alert when only Control key is pressed.
+    return;
+  }
+
+  if (event.ctrlKey) {
+    // Хотя event.key это не 'Control' (например, нажата клавиша 'a'),
+    // то всё же event.ctrlKey может быть true, если ударживается клавиша Ctrl.
+    alert(`Combination of ctrlKey + ${keyName}`);
+  } else {
+    alert(`Key pressed ${keyName}`);
+  }
+}, false);
+
+document.addEventListener('keyup', (event) => {
+  const keyName = event.key;
+
+  // Как только пользователь отпустит клавишу Ctrl, то она больше не будет активной.
+  // Поэтому event.ctrlKey = false.
+  if (keyName === 'Control') {
+    alert('Control key was released');
+  }
+}, false);
+
+</script>
+</head>
+
+<body>
+</body>
+</html>
+
+ +

Спецификации

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('DOM3 Events', '#interface-keyboardevent', 'KeyboardEvent')}}{{Spec2('DOM3 Events')}}Первоначальное определение
+ +

Спецификация интерфейса KeyboardEvent прошла многочисленные черновые варианты, сперва в DOM Events Level 2, где её поддержка не добилась консенсуса, затем в DOM Events Level 3. Это привело к реализации нестандартных методов инициализации Gecko-браузерами в ранних версиях DOM Events Level 2 {{domxref("KeyboardEvent.initKeyEvent()")}} и в ранних версиях DOM Events Level 3 {{domxref("KeyboardEvent.initKeyboardEvent()")}} остальными браузерами. Но оба были заменены новой формой использования конструктора:{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}.

+ +

Совместимость с браузерами

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВозможностьChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
constructor{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatGeckoDesktop("31.0")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatUnknown}}
.char{{CompatNo}}{{CompatUnknown}}{{CompatNo}}9{{CompatNo}}{{CompatNo}}
.charCode{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
.isComposing{{CompatNo}}{{CompatUnknown}}{{CompatGeckoDesktop("31.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
.keyCode{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
.locale{{CompatNo}}{{CompatUnknown}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}
.location{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatGeckoDesktop("15.0")}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}
.repeat{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatGeckoDesktop("28.0")}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}
.which{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
.initKeyboardEvent(){{CompatVersionUnknown}}[1]{{CompatUnknown}}{{CompatNo}}[2]{{CompatIE("9.0")}}[3]{{CompatUnknown}}{{CompatVersionUnknown}}[1]
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
constructor{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("31.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.char{{CompatUnknown}}{{CompatUnknown}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.charCode{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.isComposing{{CompatNo}}{{CompatUnknown}}{{CompatGeckoMobile("31.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
.keyCode{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.locale{{CompatUnknown}}{{CompatUnknown}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.location{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("15.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.repeat{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("28.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.which{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
.initKeyboardEvent(){{CompatUnknown}}{{CompatUnknown}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

[1] Аргументы функции initKeyboardEvent() в WebKit и в Blink отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: initKeyboardEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in views::AbstractView viewArg, in DOMString keyIdentifierArg, in number locationArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in boolean altGraphKeyArg)

+ +

[2] Gecko-движок не будет поддерживать initKeyboardEvent(), потому что её поддержка полностью ломает определение фич вэб-приложений. Смотрите {{Bug(999645)}}.

+ +

[3] Аргументы initKeyboardEvent() в IE отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: initKeyboardEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in views::AbstractView viewArg, in DOMString keyArg, in number locationArg, in DOMString modifierListArg, in boolean repeatArt, in DOMString locationArg). Смотрите документ о initKeyboardEvent() на сайте MSDN.

+ +

Смотрите также

+ + diff --git a/files/ru/web/api/keyboardevent/key/index.html b/files/ru/web/api/keyboardevent/key/index.html new file mode 100644 index 0000000000..932daf471a --- /dev/null +++ b/files/ru/web/api/keyboardevent/key/index.html @@ -0,0 +1,229 @@ +--- +title: KeyboardEvent.key +slug: Web/API/KeyboardEvent/key +tags: + - API + - DOM + - KeyboardEvent + - Property + - Read-only +translation_of: Web/API/KeyboardEvent/key +--- +

{{APIRef("События DOM")}}

+ +

Ключ события {{domxref("KeyboardEvent")}} key доступен только для чтения, возвращает значение клавиши, нажатой пользователем, принимая во внимание состояние клавиш-модификаторов, таких как Shift , а также локаль и раскладку клавиатуры. Его значение определяется следующим образом:

+ +
+

Key values

+ +

See a full list of key values.

+
+ + + +

KeyboardEvent sequence

+ +

Every KeyboardEvent is fired in a pre-determined sequence. For a given key press, the sequence of KeyboardEvents fired is as follows assuming that {{domxref("Event.preventDefault")}} is not called:

+ +
    +
  1. A {{event("keydown")}} event is first fired. If the key is held down further and the key produces a character key, then the event continues to be emitted in a platform implementation dependent interval and the {{domxref("KeyboardEvent.repeat")}} read only property  is set to true.
  2. +
  3. If the key produces a character key that would result in a character being inserted into possibly an {{HTMLElement("input")}}, {{HTMLElement("textarea")}} or an element with {{domxref("HTMLElement.contentEditable")}} set to true, the {{event("beforeinput")}} and {{event("input")}} event types are fired in that order. Note that some other implementations may fire {{event("keypress")}} event if supported. The events will be fired repeatedly while the key is held down.
  4. +
  5. A {{event("keyup")}} event is fired once the key is released. This completes the process.
  6. +
+ +

In sequence 1 & 3, the KeyboardEvent.key attribute is defined and is set appropriately to a value according to the rules defined ealier.

+ +

KeyboardEvent sequence example

+ +

Consider the event sequence generated when we interact with the Shift and the 2 key using a U.S keyboard layout as compared to when we do so using a UK keyboard layout.

+ +

Try experimenting using the following two test cases:

+ +
    +
  1. Press and hold the Shift key, then press 2 and release it. Next, release the Shift key.
  2. +
  3. Press and hold the Shift key, then press and hold 2. Release the Shift key. Finally, release 2.
  4. +
+ +

HTML

+ +
<div class="fx">
+  <div>
+    <textarea rows="5" name="test-target" id="test-target"></textarea>
+    <button type="button" name="btn-clear-console" id="btn-clear-console">clear console</button>
+  </div>
+  <div class="flex">
+    <pre id="console-log"></div>
+  </div>
+</div>
+
+ +

CSS

+ +
.fx {
+  -webkit-display: flex;
+  display: flex;
+  margin-left: -20px;
+  margin-right: -20px;
+}
+
+.fx > div {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+.fx > div:first-child {
+   width: 30%;
+}
+
+.flex {
+  -webkit-flex: 1;
+  flex: 1;
+}
+
+#test-target {
+  display: block;
+  width: 100%;
+  margin-bottom: 10px;
+}
+
+ +

JavaScript

+ +
let textarea = document.getElementById('test-target'),
+consoleLog = document.getElementById('console-log'),
+btnClearConsole = document.getElementById('btn-clear-console');
+
+function logMessage(message) {
+  document.getElementById("console-log").innerHTML += message + "<br>";
+}
+
+textarea.addEventListener('keydown', (e) => {
+  if (!e.repeat)
+    logMessage(`Key "${e.key}" pressed  [event: keydown]`);
+  else
+    logMessage(`Key "${e.key}" repeating  [event: keydown]`);
+});
+
+textarea.addEventListener('beforeinput', (e) => {
+  logMessage(`Key "${e.data}" about to be input  [event: beforeinput]`);
+});
+
+textarea.addEventListener('input', (e) => {
+  logMessage(`Key "${e.data}" input  [event: input]`);
+});
+
+textarea.addEventListener('keyup', (e) => {
+  logMessage(`Key "${e.key}" released  [event: keyup]`);
+});
+
+btnClearConsole.addEventListener('click', (e) => {
+  let child = consoleLog.firstChild;
+  while (child) {
+   consoleLog.removeChild(child);
+   child = consoleLog.firstChild;
+  }
+});
+ +

Result

+ +

{{EmbedLiveSample('KeyboardEvent_sequence_example')}}

+ +
+

Note: On browsers that don't fully implement the {{domxref("InputEvent")}} interface which is used for the {{event("beforeinput")}} and {{event("input")}} events, you may get incorrect output on those lines of the log output.

+
+ +

Case 1

+ +

When the shift key is pressed, a {{event("keydown")}} event is first fired, and the key property value is set to the string "Shift". As we keep holding this key, the {{event("keydown")}} event does not continue to fire repeatedly because it does not produce a character key.

+ +

When key 2 is pressed, another {{event("keydown")}} event is fired for this new key press, and the key property value for the event is set to the string "@" for the U.S keyboard type and """ for the UK keyboard type, because of the active modifier shift key. The {{event("beforeinput")}} and {{event("input")}} events are fired next because a character key has been produced.

+ +

As we release the key 2, a {{event("keyup")}} event is fired and the key property will maintain the string values "@" and """ for the different keyboard layouts respectively.

+ +

As we finally release the shift key, another {{event("keyup")}} event is fired for it, and the key attribute value remains "Shift".

+ +

Case 2

+ +

When the shift key is pressed, a {{event("keydown")}} event is first fired, and the key property value is set to be the string "Shift". As we keep holding this key, the keydown event does not continue to fire repeatedly because it produced no character key.

+ +

When key 2 is pressed, another {{event("keydown")}} event is fired for this new key press, and the key property value for the event is set to be the string "@" for the U.S keyboard type and """ for the UK keyboard type, because of the active modifier shift key. The {{event("beforeinput")}} and {{event("input")}} events are fired next because a character key has been produced. As we keep holding the key, the {{event("keydown")}} event continues to fire repeatedly and the {{domxref("KeyboardEvent.repeat")}}  property is set to true. The {{event("beforeinput")}} and {{event("input")}} events are fired repeatedly as well.

+ +

As we release the shift key, a {{event("keyup")}} event is fired for it, and the key attribute value remains "Shift". At this point, notice that the key property value for the repeating keydown event of the key 2 key press is now "2" because the modifier shift key is no longer active. The same goes for the {{domxref("InputEvent.data")}} property of the {{event("beforeinput")}} and {{event("input")}} events.

+ +

As we finally release the key 2, a {{event("keyup")}} event is fired but the key property will be set to the string value "2" for both keyboard layouts because the modifier shift key is no longer active.

+ +

Example

+ +

This example uses {{domxref("EventTarget.addEventListener()")}} to listen for {{event("keydown")}} events. When they occur,  the key's value is checked to see if it's one of the keys the code is interested in, and if it is, it gets processed in some way (possibly by steering a spacecraft, perhaps by changing the selected cell in a spreadsheet).

+ +
window.addEventListener("keydown", function (event) {
+  if (event.defaultPrevented) {
+    return; // Do nothing if the event was already processed
+  }
+
+  switch (event.key) {
+    case "Down": // IE/Edge specific value
+    case "ArrowDown":
+      // Do something for "down arrow" key press.
+      break;
+    case "Up": // IE/Edge specific value
+    case "ArrowUp":
+      // Do something for "up arrow" key press.
+      break;
+    case "Left": // IE/Edge specific value
+    case "ArrowLeft":
+      // Do something for "left arrow" key press.
+      break;
+    case "Right": // IE/Edge specific value
+    case "ArrowRight":
+      // Do something for "right arrow" key press.
+      break;
+    case "Enter":
+      // Do something for "enter" or "return" key press.
+      break;
+    case "Esc": // IE/Edge specific value
+    case "Escape":
+      // Do something for "esc" key press.
+      break;
+    default:
+      return; // Quit when this doesn't handle the key event.
+  }
+
+  // Cancel the default action to avoid it being handled twice
+  event.preventDefault();
+}, true);
+
+ +

Specification

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM3 Events', '#widl-KeyboardEvent-key', 'KeyboardEvent.key')}}{{Spec2('DOM3 Events')}}Initial definition, included key values.
{{SpecName('UI Events', '#dom-keyboardevent-key', 'KeyboardEvent.key')}}{{Spec2('UI Events')}}
+ +

Browser compatibility

+ + + +

{{Compat("api.KeyboardEvent.key")}}

diff --git a/files/ru/web/api/keyboardevent/key/key_values/index.html b/files/ru/web/api/keyboardevent/key/key_values/index.html new file mode 100644 index 0000000000..39e2b6c133 --- /dev/null +++ b/files/ru/web/api/keyboardevent/key/key_values/index.html @@ -0,0 +1,3665 @@ +--- +title: Значения клавиш +slug: Web/API/KeyboardEvent/key/Key_Values +translation_of: Web/API/KeyboardEvent/key/Key_Values +--- +

В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этота клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространенных платформ включены там, где они доступны.

+ +
+
Узнайте, как использовать эти пары "ключ-значение" в JavaScript с помощью KeyboardEvent.key
+
+ +

Special Values | Modifier Keys | Whitespace Keys | Navigation Keys | Editing Keys | UI Keys | Device Keys | IME and Composition Keys | Function Keys | Phone Keys | Multimedia Keys | Audio Control Keys | TV Control Keys | Media Controller Keys | Speech Recognition Keys | Document Keys | Application Selector Keys | Browser Control Keys | Numeric Keypad Keys

+ +

Специальные значения

+ +

Значения клавиш имеющих особое значение, кроме идентификации определенной клавиши или символа.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Unidentified" +

Пользовательский агент не смог сопоставить виртуальный клавиатурный код события с определенным значением клавиши.

+ +

Это может произойти из-за аппаратных или программных ограничений или из-за ограничений платформы, на которой работает пользовательский агент.

+
разноеразноеразноеразное
+ +

Клавиши-модификаторы

+ +

Специальные клавиши-модификаторы, которые используются для генерации специальных символов или вызывают особые действия при использовании в сочетании с другими клавишами. Например:  Shift и Control , или lock-клавиши, такие как Caps Lock и NumLock.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Alt" [5]Клавиша Alt (Alternative) .VK_MENU (0x12)
+ VK_LMENU (0xA4)
+ VK_RMENU (0xA5)
kVK_Option (0x3A)
+ kVK_RightOption (0x3D)
GDK_KEY_Alt_L (0xFFE9)
+ GDK_KEY_Alt_R (0xFFEA)
+ Qt::Key_Alt (0x01000023)
KEYCODE_ALT_LEFT (57)
+ KEYCODE_ALT_RIGHT (58)
"AltGraph" [5]КлавишаAltGr или AltGraph (Альтернативная графика). Enables the ISO Level 3 shift modifier (where Shift is the level 2 modifier).GDK_KEY_Mode_switch (0xFF7E)
+ GDK_KEY_ISO_Level3_Shift (0xFE03)
+ GDK_KEY_ISO_Level3_Latch (0xFE04)
+ GDK_KEY_ISO_Level3_Lock (0xFE05)
+ GDK_KEY_ISO_Level5_Shift (0xFE11)
+ GDK_KEY_ISO_Level5_Latch (0xFE12)
+ GDK_KEY_ISO_Level5_Lock (0xFE13)
+ Qt::Key_AltGr (0x01001103
+ Qt::Key_Mode_switch (0x0100117E)
"CapsLock"Клавиша Caps Lock . Включает и выключает блокировку заглавных букв для последующего ввода.VK_CAPITAL (0x14)kVK_CapsLock (0x39)GDK_KEY_Caps_Lock (0xFFE5)
+ Qt::Key_CapsLock (0x01000024)
KEYCODE_CAPS_LOCK (115)
"Control"Клавиша Control, Ctrl, или Ctl . Позволяет вводить управляющие символы.VK_CONTROL (0x11)
+ VK_LCONTROL (0xA2)
+ VK_RCONTROL (0xA3)
kVK_Control (0x3B)
+ kVK_RightControl (0x3E)
GDK_KEY_Control_L (0xFFE3)
+ GDK_KEY_Control_R (0xFFE4)
+ Qt::Key_Control (0x01000021)
KEYCODE_CTRL_LEFT (113)
+ KEYCODE_CTRL_RIGHT (114)
"Fn" Fn (Function modifier) key. Используется для создания функциональной клавиши (F1F15, например) символы на клавиатуре без выделенной области функциональных клавиш.Часто обрабатывается аппаратно, поэтому для этой клавиши не создаются события.kVK_Function (0x3F)KEYCODE_FUNCTION (119)
"FnLock"Клавиша FnLock или F-Lock (Function Lock) .Переключает режим функциональных клавиш, описанный"Fn" вкл. и выкл. Часто обрабатывается аппаратно, поэтому для этой клавиши не создаются события.
"Hyper" [4]Клавиша Hyper .GDK_KEY_Hyper_L (0xFFED)
+ GDK_KEY_Hyper_R (0xFFEE)
+ Qt::Key_Hyper_L (0x01000056)
+ Qt::Key_Hyper_R (0x01000057)
"Meta" [1]Клавиша Meta . Позволяет вводить специальные команды. Это клавиши с лого Windows , илиCommand или  на клавиатуре Mac .VK_LWIN (0x5B)
+ VK_RWIN (0x5C)
kVK_Command (0x37)
+ kVK_RightCommand (0x36)
GDK_KEY_Meta_L (0xFFE7)
+ GDK_KEY_Meta_R (0xFFE8)
+ Qt::Key_Meta (0x01000022)
KEYCODE_META_LEFT (117)
+ KEYCODE_META_RIGHT (118)
"NumLock"Клавиша NumLock (Number Lock). Переключает цифровую клавиатуру между вводом номера и другим режимом (часто стрелки направления).VK_NUMLOCK (0x90)GDK_KEY_Num_Lock (0xFF7F)
+ Qt::Key_NumLock (0x01000025)
KEYCODE_NUM_LOCK (143)
"ScrollLock" [2]КлавишаScroll Lock Перекключает между режимами прокрутки и перемещения курсора.VK_SCROLL (0x91)GDK_KEY_Scroll_Lock (0xFF14)
+ Qt::Key_ScrollLock (0x01000026)
KEYCODE_SCROLL_LOCK (116)
"Shift"Клавиша Shift. Изменяет нажатия клавиш, чтобы разрешить ввод букв в верхнем (или другом) регистре, а также для поддержки ввода знаков препинания и других специальных символов.VK_SHIFT (0x10)
+ VK_LSHIFT (0xA0)
+ VK_RSHIFT (0xA1)
kVK_Shift (0x38)
+ kVK_RightShift (0x3C)
GDK_KEY_Shift_L (0xFFE1)
+ GDK_KEY_Shift_R (0xFFE2)
+ Qt::Key_Shift (0x01000020)
KEYCODE_SHIFT_LEFT (59)
+ KEYCODE_SHIFT_RIGHT (60)
"Super" [4]Клавиша Super.GDK_KEY_Super_L (0xFFEB)
+ GDK_KEY_Super_R (0xFFEC)
+ Qt::Key_Super_L (0x01000053)
+ Qt::Key_Super_R (0x01000054)
"Symbol"Клавиша-модификатор Symbol (есть на некоторых виртуальных клавиатурах).KEYCODE_SYM (63) [3]
"SymbolLock"Клавиша Symbol Lock
+ +

[1] В Internet Explorer (проверено на релизах 9 и 11), а также во всех версиях Firefox, клавиша Windows сообщается как "OS" а не "Meta". Это будет изменено в Firefox в {{bug(1232918)}}. Пока это не будет исправлено, эти ключи возвращаются как "OS" в Firefox: VK_LWIN (0x5B) и VK_RWIN (0x5C) в Windows, и GDK_KEY_Super_L (0xFFEB), GDK_KEY_Super_R (0xFFEC), GDK_KEY_Hyper_L (0xFFED), и GDK_KEY_Hyper_R (0xFFEE) в Linux.

+ +

[2] Internet Explorer (проверено на релизах 9 и 11) сообщает "Scroll" вместо "ScrollLock" для клавиши Scroll Lock.

+ +

[3] Firefox не поддерживает клавишу Symbol до версии Firefox 37.

+ +

[4] Firefox генерирует значение ключа "OS" для клавиш Super и Hyper вместо "Super" и "Hyper".

+ +

[5] Chrome 67 и Firefox 63 теперь правильно интерпретируют правую клавишу Alt для раскладок клавиатуры, которые сопоставляют эту клавишу с AltGr. См. Дополнительные сведения об ошибке {{bug(900750)}} и Chrome bug 25503 для подробных деталей.

+ +

Пробельные клавиши

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Enter"Клавиша Enter или (иногда помечается как Return).VK_RETURN (0x0D)kVK_Return (0x24)
+ kVK_ANSI_KeypadEnter (0x4C)
+ kVK_Powerbook_KeypadEnter (0x34)
GDK_KEY_Return (0xFF0D)
+ GDK_KEY_KP_Enter (0xFF8D)
+ GDK_KEY_ISO_Enter (0xFE34)
+ GDK_KEY_3270_Enter (0xFD1E)
+ Qt::Key_Return (0x01000004)
+ Qt::Key_Enter (0x01000005)
KEYCODE_ENTER (66)
+ KEYCODE_NUMPAD_ENTER (160)
+ KEYCODE_DPAD_CENTER (23)
"Tab"Горизонтальная табуляция, Tab.VK_TAB (0x09)kVK_Tab (0x30)GDK_KEY_Tab (0xFF09)
+ GDK_KEY_KP_Tab (0xFF89)
+ GDK_KEY_ISO_Left_Tab
(0xFE20)
+ Qt::Key_Tab (0x01000001)
KEYCODE_TAB (61)
" " [1]Пробел, Space Bar.VK_SPACE (0x20)kVK_Space (0x31) +

GDK_KEY_space (0x20)
+ GDK_KEY_KP_Space (0xFF80)
+ Qt::Key_Space (0x20)

+
KEYCODE_SPACE (62)
+ +

[1] Старые браузеры могут вернуть "Spacebar" вместо " " для клавиши Space Bar . Firefox делал это до версии 37, как в Internet Explorer 9, 10, и 11.

+ +

Навигационные клавиши

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"ArrowDown" [1]Клавиша со стрелкой "вниз".VK_DOWN (0x28)kVK_DownArrow (0x7D)GDK_KEY_Down (0xFF54)
+ GDK_KEY_KP_Down (0xFF99)
+ Qt::Key_Down (0x01000015)
KEYCODE_DPAD_DOWN (20)
"ArrowLeft" [1]Клавиша со стрелкой "влево" .VK_LEFT (0x25)kVK_LeftArrow (0x7B)GDK_KEY_Left (0xFF51)
+ GDK_KEY_KP_Left (0xFF96)
+ Qt::Key_Left (0x01000012)
KEYCODE_DPAD_LEFT (21)
"ArrowRight" [1]Клавиша со стрелкой "вправо".VK_RIGHT (0x27)kVK_RightArrow (0x7C)GDK_KEY_Right (0xFF53)
+ GDK_KEY_KP_Right (0xFF98)
+ Qt::Key_Right (0x01000014)
KEYCODE_DPAD_RIGHT (22)
"ArrowUp" [1]Клавиша со стрелкой "вверх".VK_UP (0x26)kVK_UpArrow (0x7E)GDK_KEY_Up (0xFF52)
+ GDK_KEY_KP_Up (0xFF97)
+ Qt::Key_Up (0x01000013)
KEYCODE_DPAD_UP (19)
"End"Клавиша End . Перемещает в конец контента.VK_END (0x23)kVK_End (0x77)GDK_KEY_End (0xFF57)
+ GDK_KEY_KP_End (0xFF9C)
+ Qt::Key_End (0x01000011)
KEYCODE_MOVE_END (123)
"Home"Клавиша Home . В начало контента.VK_HOME (0x24)kVK_Home (0x73)GDK_KEY_Home (0xFF50)
+ GDK_KEY_KP_Home (0xFF95)
+ Qt::Key_Home (0x01000010)
KEYCODE_MOVE_HOME (122)
"PageDown"Клавиша Page Down (или PgDn). Прокручивает вниз или отображает следующую страницу содержимого.VK_NEXT (0x22)kVK_PageDown (0x79)GDK_KEY_Page_Down (0xFF56)
+ GDK_KEY_KP_Page_Down (0xFF9B)
+ Qt::Key_PageDown (0x01000017)
KEYCODE_PAGE_DOWN (93)
"PageUp"Клавиша Page Up (или PgUp). Прокручивает вверх или отображает предыдущую страницу содержимого.VK_PRIOR (0x21)kVK_PageUp (0x74)GDK_KEY_Page_Up (0xFF55)
+ GDK_KEY_KP_Page_Up (0xFF9A)
+ Qt::Key_PageUp (0x01000016)
KEYCODE_PAGE_UP (92)
+ +

[1] Internet Explorer, Edge (16 и ранее), и Firefox (36 и ранее) используют "Left", "Right", "Up", и "Down" вместо "ArrowLeft", "ArrowRight", "ArrowUp", и "ArrowDown".

+ +

Клавиши редактирования

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Backspace"The Backspace key. This key is labeled Delete on Mac keyboards.VK_BACK (0x08)kVK_Delete (0x33)GDK_KEY_BackSpace (0xFF08)
+ Qt::Key_Backspace (0x01000003)
KEYCODE_DEL (67)
"Clear"The Clear key. Removes the currently selected input.VK_CLEAR (0x0C)
+ VK_OEM_CLEAR (0xFE)
kVK_ANSI_KeypadClear (0x47)GDK_KEY_Clear (0xFF0B)
+ Qt::Key_Clear (0x0100000B)
KEYCODE_CLEAR (28)
"Copy"The Copy key (on certain extended keyboards).APPCOMMAND_COPYGDK_KEY_Copy (0x1008FF57)
+ Qt::Key_Copy (0x010000CF)
"CrSel" [3]The Cursor Select key, CrSel.VK_CRSEL (0xF7)GDK_KEY_3270_CursorSelect (0xFD1C)
"Cut"The Cut key (on certain extended keyboards).APPCOMMAND_CUTGDK_KEY_Cut (0x1008FF58)
+ Qt::Key_Cut (0x010000D0)
"Delete" [2]Клавиша Delete, Del.VK_DELETE (0x2E)kVK_ForwardDelete (0x75) [1]GDK_KEY_Delete (0xFFFF)
+ GDK_KEY_KP_Delete (0xFF9F)
+ Qt::Key_Delete (0x01000007)
KEYCODE_FORWARD_DEL (112)
"EraseEof"Erase to End of Field. Deletes all characters from the current cursor position to the end of the current field.VK_EREOF (0xF9)GDK_KEY_3270_ExSelect (0xFD1B)
"ExSel" [4]The ExSel (Extend Selection) key.VK_EXSEL (0xF8)GDK_KEY_3270_ExSelect (0xFD1B)
"Insert"The Insert key, Ins. Toggles between inserting and overwriting text.VK_INSERT (0x2D)GDK_KEY_Insert (0xFF63)
+ GDK_KEY_KP_Insert (0xFF9E)
+ Qt::Key_Insert (0x01000006)
KEYCODE_INSERT (124)
"Paste"Paste from the clipboard.APPCOMMAND_PASTEGDK_KEY_Paste (0x1008FF6D)
+ Qt::Key_Paste (0x010000E2)
"Redo"Redo the last action.APPCOMMAND_REDOGDK_KEY_Redo (0xFF66)
"Undo"Undo the last action.APPCOMMAND_UNDOGDK_KEY_Undo (0xFF65)
+ +

[1] On keyboards without a dedicated Del key, the Mac generates the "Delete" value when Fn is pressed in tandem with Delete (which is Backspace on other platforms).

+ +

[2] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier use "Del" instead of "Delete" for the Del key.

+ +

[3] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier generate the value "Crsel" instead of "CrSel" when the CrSel key is pressed.

+ +

[4] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier generate the value "Exsel" instead of "ExSel" when the ExSel key is pressed.

+ +

Клавиши интерфейса пользователя (UI)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Accept"Клавиша или кнопка Accept, Commit, или OK. Accepts the currently selected option or input method sequence conversion.VK_ACCEPT (0x1E)KEYCODE_DPAD_CENTER (23)
"Again"The Again key. Перевыполняет или повторяет предыдущее действие.GDK_KEY_Redo (0xFF66)
"Attn" [4]Клавиша "Внимание" Attn.VK_OEM_ATTN (0xF0)GDK_KEY_3270_Attn (0xFD0E)
"Cancel" [1]Клавиша отмены Cancel.GDK_KEY_Cancel (0xFF69)
"ContextMenu" [3]Отображает контекстное меню. Обычно находится между клавишами Windows (или OS) и Control на правой стороне клавиатуры.VK_APPS (0x5D)kVK_PC_ContextMenu (0x6E)GDK_KEY_Menu (0xFF67)
+ Qt::Key_Menu (0x01000055)
KEYCODE_MENU (82)
"Escape" [2]Клавиша отмены Esc. Обычно используется для выходы, отмены, ил выхода из текущей операции. Исторически Escape-символ использовался для подачи сигнала о начале специальной управляющей последовательности символов, называемой "escape-последовательностью".VK_ESCAPE (0x1B)kVK_Escape (0x35)GDK_KEY_Escape (0xFF1B)
+ Qt::Key_Escape (0x01000000)
KEYCODE_ESCAPE (111)
"Execute"Клавиша "Выполнить" Execute.VK_EXECUTE (0x2B)Qt::Key_Execute (0x01020003)
"Find"Клавиша "Найти" Find. Открывает интерфейс (обычно диалоговое окно) для выполнения операции поиска.APPCOMMAND_FINDGDK_KEY_Find (0xFF68)
"Finish" [5]Клавиша завершения Finish.VK_OEM_FINISH (0xF1)
"Help"Клавиша помощи Help. Открывает или переключает отображение справочной информации.VK_HELP (0x2F)
+ APPCOMMAND_HELP
kVK_Help (0x72)GDK_KEY_Help (0xFF6A)
+ Qt::Key_Help (0x01000058)
KEYCODE_HELP (259)
"Pause"Клавиша паузы Pause. Приостанавливает текущее приложение или состояние, если это применимо. +
Заметка: Не следует путать с клавишей "MediaPause" , которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
+
VK_PAUSE (0x13)GDK_KEY_Pause (0xFF13)
+ GDK_KEY_Break (0xFF6B)
+ Qt::Key_Pause (0x01000008)
KEYCODE_BREAK (121)
"Play"Клавиша Play . Если применимо, возобновляет ранее приостановленное приложение. +
Заметка: Не следует путать с клавишей"MediaPlay" которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
+
VK_PLAY (0xFA)GDK_KEY_3270_Play (0xFD16)
+ Qt::Key_Play (0x01020005)
"Props"Клавиша "Свойства" Props.
"Select"Клавиша выбора/выделения Select.VK_SELECT (0x29)GDK_KEY_Select (0xFF60)KEYCODE_BUTTON_SELECT (109)
"ZoomIn" [6]Клавиша увеличения масштаба ZoomIn.GDK_KEY_ZoomIn (0x1008FF8B)
+ Qt::Key_ZoomIn (0x010000F6)
KEYCODE_ZOOM_IN (168)
"ZoomOut" [6]Клавиша уменьшения масштаба ZoomOut.GDK_KEY_ZoomOut (0x1008FF8C)
+ Qt::Key_ZoomOut (0x010000F7)
KEYCODE_ZOOM_OUT (169)
+ +

[1] В Google Chrome 52, клавиша Cancel ошибочно возвращает значение "Pause". Исправлено в Chrome 53. (Смотри подробно в Chrome bug 612749.)

+ +

[2] В Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, клавиша Esc возвращает значение "Esc" вместо "Escape".

+ +

[3] Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, клавиша контекстного меню возвращает значение "Apps" вместо "ContextMenu".

+ +

[4] Клавиша Attn генерирует значение "Unidentified" в Internet Explorer (проверено в версиях 9 и 11). В Firefox и Google Chrome происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее "KanaMode".

+ +

[5] Клавиша Finish генерирует значение "Unidentified" в Internet Explorer (проверено в версиях 9 и 11). В Firefox происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее "Katakana".

+ +

[6] Firefox не поддерживал клавиши "ZoomIn" и "ZoomOut" до Firefox 37.

+ +

Клавиши устройства

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"BrightnessDown"Клавиша уменьшения яркости. Обычно используется для уменьшения яркости дисплея.GDK_KEY_MonBrightnessDown (0x1008FF03)
+ Qt::Key_MonBrightnessDown (0x010000B3)
KEYCODE_BRIGHTNESS_DOWN (220)
"BrightnessUp"Клавиша увеличения яркости. Обычно увеличивает яркость дисплея.GDK_KEY_MonBrightnessUp (0x1008FF02)
+ Qt::Key_MonBrightnessUp (0x010000B2)
KEYCODE_BRIGHTNESS_UP (221)
"Eject"Клавиша извлечения Eject. Извлекает съемный носитель (или переключает лоток оптического дисковода, открывая и закрывая его).GDK_KEY_Eject (0x1008FF2C)
+ Qt::Key_Eject (0x010000B9)
KEYCODE_MEDIA_EJECT (129)
"LogOff" [2]Клавиша выход из системы LogOff.GDK_KEY_LogOff (0x1008FF61)
+ Qt::Key_LogOff (0x010000D9)
"Power"Кнопка или клавиша питания Power для включения и выключения питания. +
Заметка: Не все системы передают этот ключ агенту пользователя.
+
KEYCODE_POWER (26)
"PowerOff"Кнопка выключения компьютера PowerOff или PowerDown.GDK_KEY_PowerDown (0x1008FF21)
+ GDK_KEY_PowerOff (0x1008FF2A)
+ Qt::Key_PowerDown (0x0100010B)
+ Qt::Key_PowerOff (0x010000B7)
"PrintScreen"Клавиша PrintScreen или PrtScr. Иногда SnapShot. Делает снимок экрана.VK_SNAPSHOT (0x2C)GDK_KEY_3270_PrintScreen (0xFD1D)
+ GDK_KEY_Print (0xFF61)
+ GDK_KEY_Sys_Req (0xFF15)
+ Qt::Key_Print (0x01000009)
+ Qt::Key_SysReq (0x0100000A)
KEYCODE_SYSRQ (120)
"Hibernate" [2]Клавиша гибернации Hibernate. Состояние компьютера сохраняется на диске, а затем выключается; компьютер может быть возвращен в предыдущее состояние путем восстановления сохраненной информации о состоянии.GDK_KEY_Hibernate (0x1008FFA8)
+ Qt::Key_Hibernate (0x01000108)
"Standby" [1]Клавиша сна Standby. (Также известна как Suspend или Sleep.) Выключает дисплей и переводит компьютер в режим низкого энергопотребления, не выключая его полностью.VK_SLEEP (0x5F)GDK_KEY_Standby (0x1008FF10)
+ GDK_KEY_Suspend (0x1008FFA7)
+ GDK_KEY_Sleep (0x1008FF2F)
+ Qt::Key_Standby (0x01000093)
+ Qt::Key_Suspend (0x0100010C)
+ Qt::Key_Sleep (0x01020004)
KEYCODE_SLEEP (223)
"WakeUp" [2]Клавиша пробуждения WakeUp. Используется для вывода компьютера из режима гибернации или ожидания.GDK_KEY_WakeUp (0x1008FF2B)
+ Qt::Key_WakeUp (0x010000B8)
KEYCODE_WAKEUP (224)
+ +

[1] Клавиша Standby не поддерживается Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, поэтому возвращала "Unidentified".

+ +

[2] До Firefox 37, эта клавиша генерировала значение "Unidentified".

+ +

IME и клавиши композиции

+ +

Клавиши, используемые при использовании редактора метода ввода (IME) для ввода текста, который не может быть легко введен с помощью простых нажатий клавиш, например текста на языках, которые имеют больше графем, чем клавиш ввода символов на клавиатуре. Общие примеры включают китайский, японский, корейский и хинди.

+ +

Некоторые клавиши являются общими для нескольких языков, в то время как другие существуют только на клавиатурах, ориентированных на определенные языки. Кроме того, не все клавиатуры имеют все эти клавиши.

+ +

Обычные IME клавиши

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"AllCandidates"The All Candidates key, which starts multi-candidate mode, in which multiple candidates are displayed for the ongoing input.GDK_KEY_MultipleCandidate (0xFF3D
+ Qt::Key_MultipleCandidate (0x0100113D)
"Alphanumeric"The Alphanumeric key.VK_OEM_ATTN (0xF0)GDK_KEY_Eisu_Shift (0xFF2F)
+ GDK_KEY_Eisu_toggle (0xFF30)
+ Qt::Key_Eisu_Shift (0x0100112f)
+ Qt::Key_Eisu_toggle (0x01001130)
"CodeInput"The Code Input key, which enables code input mode, which lets the user enter characters by typing their code points (their Unicode character numbers, typically).GDK_KEY_Codeinput (0xFF37)
+ Qt::Key_Codeinput (0x01001137)
"Compose"The Compose key.GDK_KEY_Multi_key (0xFF20) [1]
+ Qt::Key_Multi_key (0x01001120)
"Convert" [4]The Convert key, which instructs the IME to convert the current input method sequence into the resulting character.VK_CONVERT (0x1C)GDK_KEY_Henkan (0xFF23)
+ Qt::Key_Henkan (0x01001123)
KEYCODE_HENKAN (214)
"Dead" +

A dead "combining" key; that is, a key which is used in tandem with other keys to generate accented and other modified characters. If pressed by itself, it doesn't generate a character.

+ +

If you wish to identify which specific dead key was pressed (in cases where more than one exists), you can do so by examining the {{domxref("KeyboardEvent")}}'s associated {{event("compositionupdate")}} event's  {{domxref("CompositionEvent.data", "data")}} property.

+
See {{anch("Dead keycodes for Linux")}} below
"FinalMode"The Final (Final Mode) key is used on some Asian keyboards to enter final mode when using IMEs.VK_FINAL (0x18)
"GroupFirst"Switches to the first character group on an ISO/IEC 9995 keyboard. Each key may have multiple groups of characters, each in its own column. Pressing this key instructs the device to interpret keypresses as coming from the first column on subsequent keystrokes.GDK_KEY_ISO_First_Group (0xFE0C)
"GroupLast"Switches to the last character group on an ISO/IEC 9995 keyboard.GDK_KEY_ISO_Last_Group (0xFE0E)
"GroupNext" [4]Switches to the next character group on an ISO/IEC 9995 keyboard.GDK_KEY_ISO_Next_Group (0xFE08)KEYCODE_LANGUAGE_SWITCH (204)
"GroupPrevious"Switches to the previous character group on an ISO/IEC 9995 keyboard.GDK_KEY_ISO_Prev_Group (0xFE0A)
"ModeChange" [5]The Mode Change key. Toggles or cycles among input modes of IMEs.VK_MODECHANGE (0x1F)GDK_KEY_Mode_switch (0xFF7E)
+ GDK_KEY_script_switch (0xFF7E)
+ Qt::Key_Mode_switch (0x0100117E)
KEYCODE_SWITCH_CHARSET (95)
"NextCandidate"The Next Candidate function key. Selects the next possible match for the ongoing input.
"NonConvert" [2]The NonConvert ("Don't convert") key. This accepts the current input method sequence without running conversion when using an IME.VK_NONCONVERT (0x1D)GDK_KEY_Muhenkan (0xFF22)
+ Qt::Key_Muhenkan (0x01001122)
+  
KEYCODE_MUHENKAN (213)
"PreviousCandidate"The Previous Candidate key. Selects the previous possible match for the ongoing input.GDK_KEY_PreviousCandidate (0xFF3E)
+ Qt::Key_PreviousCandidate (0x0100113E)
"Process" [3]The Process key. Instructs the IME to process the conversion.VK_PROCESSKEY (0xE5)
"SingleCandidate" [4]The Single Candidate key. Enables single candidate mode (as opposed to multi-candidate mode); in this mode, only one candidate is displayed at a time.GDK_KEY_SingleCandidate (0xFF3C)
+ Qt::Key_SingleCandidate (0x0100113C)
+ +

[1] В X Window System, клавиша Compose называется Multi.

+ +

[2] Клавиша NonConvert возвращает значение "Nonconvert" вместо корректного "NonConvert" в Internet Explorer (проверено в версиях 9 и 11) и Firefox версии 36 и более ранних.

+ +

[3] Клавиша Process в настоящее время возвращает "Unidentified" в Firefox и Internet Explorer. Google Chrome возвращает значение клавиши так, как если бы IME не использовался.

+ +

[4] До Firefox 37, эта клавиша возвращала "Unidentified".

+ +

[5] Firefox генерирует значение "AltGraph" вместо "ModeChange".

+ +

Только корейские клавиатуры

+ +

Эти клавиши доступны только на корейских клавиатурах. Существуют и другие клавиши, определенные различными платформами для корейских клавиатур, но они являются наиболее распространенными и идентифицируются спецификацией событий пользовательского интерфейса.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"HangulMode"The Hangul (Korean character set) mode key, which toggles between Hangul and English entry modes.VK_HANGUL (0x15) [1]GDK_KEY_Hangul (0xFF31)
+ Qt::Key_Hangul (0x01001131)
"HanjaMode"Selects the Hanja mode, for converting Hangul characters to the more specific Hanja characters.VK_HANJA (0x19) [1]GDK_KEY_Hangul_Hanja (0xFF34)
+ Qt::Key_Hangul_Hanja (0x01001134)
"JunjaMode"Selects the Junja mode, in which Korean is represented using single-byte Latin characters.VK_JUNJA (0x17)GDK_KEY_Hangul_Jeonja (0xFF38)
+ Qt::Key_Hangul_Jeonja (0x01001138)
+ +

[1] VK_HANGUL и VK_KANA используют один и тот же числовой код клавиши в Windows, также как VK_HANJA и VK_KANJI.

+ +

Только японские клавиатуры

+ +

Эти клавиши достуны только на японских клавиатурах.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Eisu" [1]The Eisu key. This key's purpose is defined by the IME, but may be used to close the IME.kVK_JIS_Eisu (0x66)GDK_KEY_Eisu_toggle (0xFF2F)
+ Qt::Key_Eisu_toggle (0x01001130)
KEYCODE_EISU (212)
"Hankaku" [3]The Hankaku (half-width characters) key.VK_OEM_AUTO (0xF3)GDK_KEY_Hankaku (0xFF29)
+ Qt::Key_Hankaku (0x01001129)
"Hiragana"The Hiragana key; selects Kana characters mode.VK_OEM_COPY (0xF2)GDK_KEY_Hiragana (0xFF25)
+ Qt::Key_Hiragana (0x01001125)
"HiraganaKatakana" [6]Toggles between the Hiragana and Katakana writing systems.GDK_KEY_Hiragana_Katakana (0xFF27)
+ Qt::Key_Hiragana_Katakana (0x01001127)
KEYCODE_KATAKANA_HIRAGANA (215)
"KanaMode"The Kana Mode (Kana Lock) key.VK_KANA (0x15) [2]
+ VK_ATTN (0xF6)
GDK_KEY_Kana_Lock (0xFF2D)
+ GDK_KEY_Kana_Shift (0xFF2E)
+ Qt::Key_Kana_Lock (0x0100112D)
+ Qt::Key_Kana_Shift (0x0100112E)
"KanjiMode"The Kanji Mode key. Enables entering Japanese text using the ideographic characters of Chinese origin.VK_KANJI(0x19) [2]kVK_JIS_Kana (0x68)GDK_KEY_Kanji (0xFF21)
+ Qt::Key_Kanji (0x01001121)
KEYCODE_KANA (218)
"Katakana"The Katakana key.VK_OEM_FINISH (0xF1)GDK_KEY_Katakana (0xFF26)
+ Qt::Key_Katakana (0x01001126)
"Romaji" [5]The Romaji key; selects the Roman character set.VK_OEM_BACKTAB (0xF5)GDK_KEY_Romaji (0xFF24)
+ Qt::Key_Romaji (0x01001124)
"Zenkaku" [4]The Zenkaku (full width) characters key.VK_OEM_ENLW (0xF4)GDK_KEY_Zenkaku (0xFF28)
+ Qt::Key_Zenkaku (0x01001128)
"ZenkakuHanaku" [6]The Zenkaku/Hankaku (full width/half width) toggle key.GDK_KEY_Zenkaku_Hankaku (0xFF2A)
+ Qt::Zenkaku_Hankaku (0x0100112A)
+

KEYCODE_ZENKAKU_HANKAKU (211)

+
+ +

[1] До Firefox 37, клавиша Eisu ошибочно сопоставлялась "RomanCharacters".

+ +

[2] VK_HANGUL и VK_KANA используют один и тот же числовой код клавиши в Windows, также как VK_HANJA и VK_KANJI.

+ +

[3] До Firefox 37, клавиша Hankaku (half-width) генерировала значание "HalfWidth" в Firefox. Такжк, этак клавиша генерировала значаение "Unidentified" в Internet Explorer (проверено в версиях 9 и 11).

+ +

[4] Internet Explorer (проверено в версиях 9 и 11) возвращал "Unidentified" для клавиши Zenkaku; Firefox 36 и более ранние определяли эту клавишу как "FullWidth" на японских раскладках клавиатуры и "Unidentified" на всех остальных раскладках клавиатуры. Firefox 37 и выше, а также все версии Google Chrome, корректно возвращают "Zenkaku".

+ +

[5] "Unidentified" в Internet Explorer (проверено в версиях 9 и 11). Firefox 36 и более ранние определяли клавишу Romaji как "RomanCharacters" на японских клавиатурах и "Unidentified" для остальных клавиатур; исправлено на значение  "Romaji" в Firefox 37 и выше.

+ +

[6] Эта клавиша возвращала "Unidentified" до Firefox 37.

+ +

Dead keycodes for Linux

+ +

Linux generates accented characters using special dead keys. Dead keys are keys which are pressed in combination with character keys to generate accented forms of those characters. You can identify which specific dead key was used (if more than one exists) by examining the  {{domxref("KeyboardEvent")}}'s associated {{event("compositionupdate")}} event's  {{domxref("CompositionEvent.data", "data")}} property.

+ +

You can find a table of the dead keys and the characters they can be used with to generate accented or otherwise special characters on Linux using GTK.

+ +

The value of {{domxref("CompositionEvent.data", "data")}} will be one of the following:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение CompositionEvent.dataСимволКомментарии
GDK_KEY_dead_grave (0xFE50)
+ Qt::Key_Dead_Grave (0x01001250)
`
GDK_KEY_dead_acute (0xFE51)
+ Qt::Key_Dead_Acute (0x01001251)
´
GDK_KEY_dead_circumflex (0xFE52)
+ Qt::Key_Dead_Circumflex (0x01001252)
ˆ
GDK_KEY_dead_tilde (0xFE53)
+ Qt::Key_Dead_Tilde (0x01001253)
˜
GDK_KEY_dead_perispomeni (0xFE53) ͂
GDK_KEY_dead_macron (0xFE54)
+ Qt::Key_Dead_Macron (0x01001254)
¯
GDK_KEY_dead_breve (0xFE55)
+ Qt::Key_Dead_Breve (0x01001255)
˘
GDK_KEY_dead_abovedot (0xFE56)
+ Qt::Key_Dead_Abovedot (0x01001256)
˙
GDK_KEY_dead_diaeresis (0xFE57)
+ Qt::Key_Dead_Diaeresis (0x01001257)
¨Also called an umlaut.
GDK_KEY_dead_abovering (0xFE58)
+ Qt::Key_Dead_Abovering (0x01001258)
˚
GDK_KEY_dead_doubleacute (0xFE59)
+ Qt::Key_Dead_Doubleacute (0x01001259)
˝
GDK_KEY_dead_caron (0xFE5A)
+ Qt::Key_Dead_Caron (0x0100125A)
ˇAlso called a háček; used in Czech among other languages.
GDK_KEY_dead_cedilla (0xFE5B)
+ Qt::Key_Dead_Cedilla (0x0100125B)
¸
GDK_KEY_dead_ogonek (0xFE5C)
+ Qt::Key_Dead_Ogonek (0x0100125C)
˛Also called a nosinė; used in Polish and Old Irish.
GDK_KEY_dead_iota (0xFE5D)
+ Qt::Key_Dead_Iota (0x0100125D)
 ͅIota subscript.
GDK_KEY_dead_voiced_sound (0xFE5E)
+ Qt::Key_Dead_Voiced_Sound (0x0100125E)
GDK_KEY_dead_semivoiced_sound (0xFE5F)
+ Qt::Key_Dead_Semivoiced_Sound (0x0100125F)
GDK_KEY_dead_belowdot (0xFE60)
+ Qt::Key_Dead_Belowdot (0x01001260)
̣̣
GDK_KEY_dead_hook (0xFE61)
+ Qt::Key_Dead_Hook (0x01001261)
  ̡
GDK_KEY_dead_horn (0xFE62)
+ Qt::Key_Dead_Horn (0x01001262)
 ̛
GDK_KEY_dead_stroke (0xFE63) ̶̶
GDK_KEY_dead_abovecomma (0xFE64) ̓̓
GDK_KEY_dead_psili (0xFE64) ᾿
GDK_KEY_dead_abovereversedcomma (0xFE65)ʽ
GDK_KEY_dead_dasia (0xFE65)
GDK_KEY_dead_doublegrave (0xFE66) ̏
GDK_KEY_dead_belowring (0xFE67)˳
GDK_KEY_dead_belowmacron (0xFE68) ̱
GDK_KEY_dead_belowcircumflex (0xFE69)
GDK_KEY_dead_belowtilde (0xFE6A)̰
GDK_KEY_dead_belowbreve (0xFE6B)̮
GDK_KEY_dead_belowdiaeresis (0xFE6C) ̤
GDK_KEY_dead_invertedbreve (0xFE6D)̯
GDK_KEY_dead_belowcomma (0xFE6E)̦
GDK_KEY_dead_currency (0xFE6F)
GDK_KEY_dead_a (0xFE80)
GDK_KEY_dead_A (0xFE81)
GDK_KEY_dead_e (0xFE82)
GDK_KEY_dead_E (0xFE83)
GDK_KEY_dead_i (0xFE84)
GDK_KEY_dead_I (0xFE85)
GDK_KEY_dead_o (0xFE86)
GDK_KEY_dead_O (0xFE87)
GDK_KEY_dead_u (0xFE88)
GDK_KEY_dead_U (0xFE89)
GDK_KEY_dead_small_schwa (0xFE8A)ə
GDK_KEY_dead_capital_schwa (0xFE8B)Ə
GDK_KEY_dead_greek (0xFE8C)
+ +

Функциональные клавиши

+ +

Хотя разные платформы поддерживают разное количество функциональных клавиш общего назначения, таких как F1F12 (or F1F10, or F1F15, etc.), первые несколько конкретно определены следующим образом.

+ +

Если доступно больше функциональных клавиш, их имена продолжают представленный шаблон, продолжая увеличивать числовую часть имени каждой клавиши, так что, например, "F24" это валидное значение клавиши.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"F1"Клавиша F1.VK_F1 (0x70)kVK_F1 (0x7A)GDK_KEY_F1 (0xFFBE)
+ GDK_KEY_KP_F1 (0xFF91)
+ Qt::Key_F1 (0x01000030)
KEYCODE_F1 (131)
"F2"Клавиша F2.VK_F2 (0x71)kVK_F2 (0x78)GDK_KEY_F2 (0xFFBF)
+ GDK_KEY_KP_F2 (0xFF92)
+ Qt::Key_F2 (0x01000031)
KEYCODE_F2 (132)
"F3"Клавиша F3.VK_F3 (0x72)kVK_F3 (0x63)GDK_KEY_F3 (0xFFC0)
+ GDK_KEY_KP_F3 (0xFF93)
+ Qt::Key_F3 (0x01000032)
KEYCODE_F3 (133)
"F4"Клавиша F4.VK_F4 (0x73)kVK_F4 (0x76)GDK_KEY_F4 (0xFFC1)
+ GDK_KEY_KP_F4 (0xFF94)
+ Qt::Key_F4 (0x01000033)
KEYCODE_F4 (134)
"F5"Клавиша F5.VK_F5 (0x74)kVK_F5 (0x60)GDK_KEY_F5 (0xFFC2)
+ Qt::Key_F5 (0x01000034)
KEYCODE_F5 (135)
"F6"Клавиша F6.VK_F6 (0x75)kVK_F6 (0x61)GDK_KEY_F6 (0xFFC3)
+ Qt::Key_F6 (0x01000035)
KEYCODE_F6 (136)
"F7"Клавиша F7.VK_F7 (0x76)kVK_F7 (0x62)GDK_KEY_F7 (0xFFC4)
+ Qt::Key_F7 (0x01000036)
KEYCODE_F7 (137)
"F8"Клавиша F8.VK_F8 (0x77)kVK_F8 (0x64)GDK_KEY_F8 (0xFFC5)
+ Qt::Key_F8 (0x01000037)
KEYCODE_F8 (138)
"F9"Клавиша F9.VK_F9 (0x78)kVK_F9 (0x65)GDK_KEY_F9 (0xFFC6)
+ Qt::Key_F9 (0x01000038)
KEYCODE_F9 (139)
"F10"Клавиша F10.VK_F10 (0x79)kVK_F10 (0x6D)GDK_KEY_F10 (0xFFC7)
+ Qt::Key_F10 (0x01000039)
KEYCODE_F10 (140)
"F11"Клавиша F11.VK_F11 (0x7A)kVK_F11 (0x67)GDK_KEY_F11 (0xFFC8)
+ Qt::Key_F11 (0x0100003A)
KEYCODE_F11 (141)
"F12"Клавиша F12.VK_F12 (0x7B)kVK_F12 (0x6F)GDK_KEY_F12 (0xFFC9)
+ Qt::Key_F12 (0x0100003B)
KEYCODE_F12 (142)
"F13"Клавиша F13.VK_F13 (0x7C)kVK_F13 (0x69)GDK_KEY_F13 (0xFFCA)
+ Qt::Key_F13 (0x0100003C)
KEYCODE_F13
"F14"Клавиша F14.VK_F14 (0x7D)kVK_F14 (0x6B)GDK_KEY_F14 (0xFFCB)
+ Qt::Key_F14 (0x0100003D)
KEYCODE_F14
"F15"Клавиша F15.VK_F15 (0x7E)kVK_F15 (0x71)GDK_KEY_F15 (0xFFCC)
+ Qt::Key_F15 (0x0100003E)
KEYCODE_F15
"F16"Клавиша F16.VK_F16 (0x7F)kVK_F16 (0x6A)GDK_KEY_F16 (0xFFCD)
+ Qt::Key_F16 (0x0100003F)
KEYCODE_F16
"F17"Клавиша F17.VK_F17 (0x80)kVK_F17 (0x40)GDK_KEY_F17 (0xFFCE)
+ Qt::Key_F17 (0x01000040)
KEYCODE_F17
"F18"Клавиша F18.VK_F18 (0x81)kVK_F18 (0x4F)GDK_KEY_F18 (0xFFCF)
+ Qt::Key_F18 (0x01000041)
KEYCODE_F18
"F19"Клавиша F19.VK_F19 (0x82)kVK_F19 (0x50)GDK_KEY_F19 (0xFFD0)
+ Qt::Key_F19 (0x01000042)
KEYCODE_F19
"F20"Клавиша F20.VK_F20 (0x83)kVK_F20 (0x5A)GDK_KEY_F20 (0xFFD1)
+ Qt::Key_F20 (0x01000043)
KEYCODE_F20
"Soft1"Первая функциональная клавиша общего назначения.Qt::Key_Context1 (0x01100000)
"Soft2"Вторая функциональная клавиша общего назначения.Qt::Key_Context2 (0x01100001)
"Soft3"Третья функциональная клавиша общего назначения.Qt::Key_Context3 (0x01100002)
"Soft4"Четвертая функциональная клавиша общего назначения.Qt::Key_Context4 (0x01100003)
+ +

Телефонные клавиши

+ +

Эти клавиши представляют собой кнопки, которые обычно существуют на современных смартфонах.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"AppSwitch"Представляет список недавно использованных приложений, который позволяет пользователю быстро переключаться между приложениями.KEYCODE_APP_SWITCH (181)
"Call"Кнопка вызова Call. Набирает номер, который был введен.Qt::Key_Call (0x01100004)KEYCODE_CALL (5)
"Camera"Кнопка камеры Camera. Включает камеру.Qt::Key_Camera (0x01100020)KEYCODE_CAMERA (27)
"CameraFocus"Кнопка фокусировки Focus. Фокусирует камеру.Qt::Key_CameraFocus (0x01100021)KEYCODE_FOCUS (80)
"EndCall"Кнопка завершения вызова End Call или Hang Up.Qt::Key_Hangup (0x01100005)KEYCODE_ENDCALL (6)
"GoBack"Кнопка "Назад" Back.KEYCODE_BACK (4)
"GoHome" [1]Кнопка Home. Возвращает пользователя на главный экран телефона (обычно это средство запуска приложений).KEYCODE_HOME (3)
"HeadsetHook"Клавиша гарнитурыHeadset Hook. Обычно это кнопка на гарнитуре, которая используется для отбоя вызовов и воспроизведения или приостановки мультимедиа.Qt::Key_ToggleCallHangup (0x01100007)KEYCODE_HEADSETHOOK (79)
"LastNumberRedial"Клавиша перенабора номера Redial. Набирает последний набранный номер.Qt::Key_LastNumberRedial (0x01100009)
"Notification"Клавиша уведомленияNotification.KEYCODE_NOTIFICATION (83)
"MannerMode"Кнопка, которая циклически переключается между режимами уведомлений: бесшумный, вибрировать, звонить и так далее.KEYCODE_MANNER_MODE (205)
"VoiceDial"КлавишаVoice Dial. Запускает голосовой набор.Qt::Key_VoiceDial (0x01100008)KEYCODE_VOICE_ASSIST (231)
+ +

[1] До Firefox 37, кнопка Home генерирует значение "Exit". Начиная с Firefox 37, генерирует "MozHomeScreen".

+ +

Мультимедийные клавиши

+ +

Мультимедийные клавиши - это дополнительные кнопки или клавиши для управления мультимедийными устройствами, которые есть на некоторых клавиатурах.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"ChannelDown"Переключается на предыдущий канал.APPCOMMAND_MEDIA_CHANNEL_DOWNQt::Key_ChannelDown (0x01000119)KEYCODE_CHANNEL_DOWN (167)
"ChannelUp"Переключается на следующий канал.APPCOMMAND_MEDIA_CHANNEL_UPQt::Key_ChannelUp (0x01000118)KEYCODE_CHANNEL_UP (166)
"MediaFastForward" [2]Запускает, продолжает или увеличивает скорость быстрой перемотки мультимедиа вперед.APPCOMMAND_MEDIA_FAST_FORWARDGDK_KEY_AudioForward (0x1008FF97)
+ Qt:Key_AudioForward
(0x01000102)
KEYCODE_MEDIA_FAST_FORWARD (90)
"MediaPause" +

Приостанавливает воспроизведение текущего медиафайла.

+ +
+

Заметка: Некоторые старые приложения используют просто "паузу", но это неверно.

+
+
APPCOMMAND_MEDIA_PAUSEGDK_KEY_AudioPause (0x1008FF31)
+ Qt::Key_MediaPause (0x1000085)
KEYCODE_MEDIA_PAUSE (127)
"MediaPlay"Запускает или продолжает воспроизведение мультимедиа с нормальной скоростью, если еще не делает этого. В противном случае не имеет эффекта.APPCOMMAND_MEDIA_PLAYGDK_KEY_AudioPlay (0x1008FF14)KEYCODE_MEDIA_PLAY (126)
"MediaPlayPause"Переключение между воспроизведением и приостановкой текущего медиафайла.VK_MEDIA_PLAY_PAUSE (0xB3)
+ APPCOMMAND_MEDIA_PLAY_PAUSE
Qt::Key_MediaTogglePlayPause (0x1000086)KEYCODE_MEDIA_PLAY_PAUSE (85)
"MediaRecord"Запуск или возобновление записи медиафайла.APPCOMMAND_MEDIA_RECORDGDK_KEY_AudioRecord (0x1008FF1C)
+ Qt::Key_MediaRecord (0x01000084)
KEYCODE_MEDIA_RECORD (130)
"MediaRewind"Запуск, продолжение или увеличение скорости перемотки медиафайла.APPCOMMAND_MEDIA_REWINDGDK_KEY_AudioRewind (0x1008FF3E)
+ Qt::Key_AudioRewind (0x010000C5)
KEYCODE_MEDIA_REWIND (89)
"MediaStop"Останавливает текущую медиа-активность (такую как воспроизведение, запись, пауза, перемотка вперед или назад). Не действует, если медиафайл уже остановлен.VK_MEDIA_STOP (0xB2)
+ APPCOMMAND_MEDIA_STOP
GDK_KEY_AudioStop (0x1008FF15)
+ Qt::Key_MediaStop (0x01000081)
KEYCODE_MEDIA_STOP (86)
"MediaTrackNext" [1]Seeks to the next media or program track.VK_MEDIA_NEXT_TRACK (0xB0)
+ APPCOMMAND_MEDIA_NEXTTRACK
GDK_KEY_AudioNext (0x1008FF17)
+ Qt::Key_MediaNext (0x01000083)
KEYCODE_MEDIA_NEXT (87)
"MediaTrackPrevious" [1]Seeks to the previous media or program track.VK_MEDIA_PREV_TRACK (0xB1)
+ APPCOMMAND_MEDIA_PREVIOUSTRACK
GDK_KEY_AudioPrev (0x1008FF16)
+ Qt::Key_MediaPrevious (0x01000082)
KEYCODE_MEDIA_PREVIOUS (88)
+ +

[1] Internet Explorer, Edge, и Firefox (36 и более ранние) используют "MediaNextTrack" и "MediaPreviousTrack" вместо "MediaTrackNext" и "MediaTrackPrevious".

+ +

[2] До Firefox 37, Firefox генерировал значение "FastFwd" на некоторых платформах и "Unidentified" на других вместо "MediaFastForward".

+ +

Клавиши управления звуком

+ +

Эти мультимедийные клавиши используются специально для управления звуком.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"AudioBalanceLeft"Регулирует баланс звука влево.VK_AUDIO_BALANCE_LEFT
"AudioBalanceRight"Регулирует баланс звука вправо.VK_AUDIO_BALANCE_RIGHT
"AudioBassDown"Уменьшает количество басов.APPCOMMAND_BASS_DOWN
"AudioBassBoostDown"Уменьшает степень усиления басов или циклически перемещается вниз по набору режимов или состояний усиления басов.VK_BASS_BOOST_DOWN
"AudioBassBoostToggle"Включает и выключает усиление басов.APPCOMMAND_BASS_BOOST
"AudioBassBoostUp"Увеличивает степень усиления басов или циклически перемещается вверх по набору режимов или состояний усиления басов.VK_BASS_BOOST_UP
"AudioBassUp"Увеличивает количество басов.APPCOMMAND_BASS_UP
"AudioFaderFront"Смещает регулятор уровня сигнала вперед.VK_FADER_FRONT
"AudioFaderRear"Смещает регулятор уровня сигнала назад.VK_FADER_REAR
"AudioSurroundModeNext"Выбор следующего доступного режима объемного звучания.VK_SURROUND_MODE_NEXT
"AudioTrebleDown"Уменьшает количество высоких частот.APPCOMMAND_TREBLE_DOWN
"AudioTrebleUp"Отключает звук.APPCOMMAND_TREBLE_UP
"AudioVolumeDown" [1]Уменьшает громкость звука.VK_VOLUME_DOWN (0xAE)
+ APPCOMMAND_VOLUME_DOWN
kVK_VolumeDown (0x49)GDK_KEY_AudioLowerVolume (0x1008FF11)
+ Qt::Key_VolumeDown (0x01000070)
KEYCODE_VOLUME_DOWN (25)
"AudioVolumeMute" [1]Отключает звук.VK_VOLUME_MUTE (0xAD)
+ APPCOMMAND_VOLUME_MUTE
kVK_Mute (0x4A)GDK_KEY_AudioMute (0x1008FF12)
+ Qt::Key_VolumeMute (0x01000071)
KEYCODE_VOLUME_MUTE (164)
"AudioVolumeUp" [1]Увеличивает громкость звука.VK_VOLUME_UP (0xAF)
+ APPCOMMAND_VOLUME_UP
kVK_VolumeUp (0x48)GDK_KEY_AudioRaiseVolume (0x1008FF13)
+ Qt::Key_VolumeUp (0x01000072)
KEYCODE_VOLUME_UP (24)
"MicrophoneToggle"Включает и выключает микрофон.APPCOMMAND_MIC_ON_OFF_TOGGLE
"MicrophoneVolumeDown"Уменьшает громкость входного сигнала микрофона.APPCOMMAND_MICROPHONE_VOLUME_DOWNQt::Key_MicVolumeDown (0x0100011E)
"MicrophoneVolumeMute"Отключает микрофонный вход.APPCOMMAND_MICROPHONE_VOLUME_MUTEGDK_KEY_AudioMicMute (0x1008FFB2)
+ Qt::Key_MicMute (0x01000113)
KEYCODE_MUTE (91)
"MicrophoneVolumeUp"Увеличивает громкость входного сигнала микрофона.APPCOMMAND_MICROPHONE_VOLUME_UPQt::Key_MicVolumeUp (0x0100011D)
+ +

[1] Internet Explorer, Edge, и Firefox (48 и более ранние) используют "VolumeUp", "VolumeDown", и "VolumeMute" вместо "AudioVolumeUp", "AudioVolumeDown", и "AudioVolumeMute". В Firefox 49 они были обновлены в соответствии с последней спецификацией. Старые имена все еще используются в Boot to Gecko.

+ +

Клавиши управления ТВ

+ +

Эти ключевые значения представляют собой кнопки или клавиши на телевизионных устройствах, компьютерах или телефонах с поддержкой телевидения.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"TV" [1]Переключает в режим просмотра ТВ.KEYCODE_TV (170)
"TV3DMode"Включает и выключает режим 3D TV.KEYCODE_3D_MODE (206)
"TVAntennaCable"Переключение между антенным и кабельным входами.KEYCODE_TV_ANTENNA_CABLE (242)
"TVAudioDescription"Включает и выключает режим описания звука.KEYCODE_TV_AUDIO_DESCRIPTION (252)
"TVAudioDescriptionMixDown"Уменьшает громкость микширования аудиоописаний; уменьшает громкость аудиоописаний относительно звука программы.KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN (254)
"TVAudioDescriptionMixUp"Увеличивает громкость микширования аудиоописаний; увеличивает громкость аудиоописаний относительно звука программы.KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP (253)
"TVContentsMenu"Отображает или скрывает мультимедийное содержимое, доступное для воспроизведения (это может быть руководство по каналам, показывающее программы, транслируемые в данный момент, или список мультимедийных файлов для воспроизведения).KEYCODE_TV_CONTENTS_MENU (256)
"TVDataService"Отображает или скрывает сервисное меню данных телевизора.KEYCODE_TV_DATA_SERVICE (230)
"TVInput" [2]Переключает источник сигнала на внешнем телевизоре.KEYCODE_TV_INPUT (178)
"TVInputComponent1"Переключает на вход «Компонент 1».KEYCODE_TV_INPUT_COMPONENT_1 (249)
"TVInputComponent2"Переключает на вход «Компонент 2."KEYCODE_TV_INPUT_COMPONENT_2 (250)
"TVInputComposite1"Переключает на вход «Композитный 1».KEYCODE_TV_INPUT_COMPOSITE_1 (247)
"TVInputComposite2"Переключает на вход «Композитный 2."KEYCODE_TV_INPUT_COMPOSITE_2 (248)
"TVInputHDMI1"Переключает на вход «HDMI 1».KEYCODE_TV_INPUT_HDMI_1 (243)
"TVInputHDMI2"Переключает на вход "HDMI 2."KEYCODE_TV_INPUT_HDMI_2 (244)
"TVInputHDMI3"Переключает на вход "HDMI 3."KEYCODE_TV_INPUT_HDMI_3 (245)
"TVInputHDMI4"Переключает на вход "HDMI 4."KEYCODE_TV_INPUT_HDMI_4 (246)
"TVInputVGA1"Переключает на вход "VGA 1."KEYCODE_TV_INPUT_VGA_1 (251)
"TVMediaContext"Клавиша контекстного меню мультимедиа.KEYCODE_TV_MEDIA_CONTEXT_MENU (257)
"TVNetwork"Включение и выключение сетевого подключения телевизора.KEYCODE_TV_NETWORK (241)
"TVNumberEntry"Переведите телевизор в режим ввода номера.KEYCODE_TV_NUMBER_ENTRY (234)
"TVPower" [2]Кнопка питания устройства.KEYCODE_TV_POWER (177)
"TVRadioService"Кнопка радиоKEYCODE_TV_RADIO_SERVICE (232)
"TVSatellite"Кнопка спутникаKEYCODE_TV_SATELLITE (237)
"TVSatelliteBS"Broadcast Satellite button.KEYCODE_TV_SATELLITE_BS (238)
"TVSatelliteCS"Communication Satellite button.KEYCODE_TV_SATELLITE_CS (239)
"TVSatelliteToggle"Переключение между доступными спутниками.KEYCODE_TV_SATELLITE_SERVICE (240)
"TVTerrestrialAnalog"Выбирает услугу аналогового наземного телевидения (аналоговый кабельный или антенный прием).KEYCODE_TV_TERRESTRIAL_ANALOG (235)
"TVTerrestrialDigital"Выбирает услугу цифрового наземного телевидения (цифровой кабельный или антенный прием).KEYCODE_TV_TERRESTRIAL_DIGITAL (236)
"TVTimer"Кнопка программирования таймера.KEYCODE_TV_TIMER_PROGRAMMING (258)
+ +

[1] В Firefox добавлена надлежащая поддержка для клавиши "TV" в Firefox 37; до этого, эта клавиша генерировала значение "Live".

+ +

[2] Эти клавиши возвращали "Unidentified" до Firefox 37.

+ +

Клавиши медиа-контроллера

+ +

Поскольку современные пульты дистанционного управления для мультимедийных устройств часто включают кнопки, помимо базовых элементов управления, описанных в другом месте в этом документе, ключевые значения определены для широкого набора этих дополнительных кнопок.

+ +

Приведенные ниже значения частично получены из ряда технических характеристик бытовой электроники:

+ + + +
+

Заметка: Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то еще, например Мультимедийные клавиши или Клавиши управления звуком. Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"AVRInput" [3]Изменяет источник сигнала на внешнем аудио / видео ресивере (AVR).KEYCODE_AVR_INPUT (182)
"AVRPower" [3]Переключает питание внешнего блока AVR.KEYCODE_AVR_POWER (181)
"ColorF0Red" [3]Универсальная функциональная клавиша мультимедиа красного цвета. Она имеет индекс 0 среди цветных клавиш.VK_COLORED_KEY_0KEYCODE_PROG_RED (183)
"ColorF1Green" [3]Универсальная функциональная клавиша мультимедиа зелёного цвета. Она имеет индекс 1 среди цветных клавиш.VK_COLORED_KEY_1KEYCODE_PROG_GREEN (184)
"ColorF2Yellow" [3]Универсальная функциональная клавиша мультимедиа жёлтого цвета. Она имеет индекс 2 среди цветных клавиш.VK_COLORED_KEY_2KEYCODE_PROG_YELLOW (185)
"ColorF3Blue" [3]Универсальная функциональная клавиша мультимедиа синего цвет. Она имеет индекс 3 среди цветных клавиш.VK_COLORED_KEY_3KEYCODE_PROG_BLUE (186)
"ColorF4Grey"Универсальная функциональная клавиша мультимедиа серого цвета. Она имеет индекс 4 среди цветных клавиш.VK_COLORED_KEY_4KEYCODE_PROG_GREY
"ColorF5Brown"Универсальная функциональная клавиша мультимедиа коричневого цвета. Она имеет индекс 5 среди цветных клавиш.VK_COLORED_KEY_5KEYCODE_PROG_BROWN
"ClosedCaptionToggle"Включает и выключает скрытые субтитры.VK_CCKEYCODE_CAPTIONS (175)
"Dimmer"Регулирует яркость устройства, переключаясь между двумя уровнями яркости или переключаясь между несколькими уровнями яркости.VK_DIMMERGDK_KEY_BrightnessAdjust (0x1008FF3B)
"DisplaySwap"Циклически переключает источники видеоVK_DISPLAY_SWAP
"DVR"Переключает источник входного сигнала на цифровой видеорегистратор (DVR).KEYCODE_DVR (173)
"Exit"Кнопка «Выход» для выхода из текущего приложения или меню.VK_EXITQt::Key_Exit (0x0102000a)
"FavoriteClear0"Очищает первый слот списка избранного.VK_CLEAR_FAVORITE_0
"FavoriteClear1"Очищает второй слот списка избранного.VK_CLEAR_FAVORITE_1
"FavoriteClear2"Очищает третий слот списка избранного.VK_CLEAR_FAVORITE_2
"FavoriteClear3"Очищает четвертый слот списка избранного.VK_CLEAR_FAVORITE_3
"FavoriteRecall0"Выбирает (вызывает) программу или содержимое, хранящееся в первом слоте списка избранного.VK_RECALL_FAVORITE_0
"FavoriteRecall1"Выбирает (вызывает) программу или содержимое, хранящееся во втором слоте списка избранного.VK_RECALL_FAVORITE_1
"FavoriteRecall2"Выбирает (вызывает) программу или содержимое, хранящееся в третьем слоте списка избранного.VK_RECALL_FAVORITE_2
"FavoriteRecall3"Выбирает (вызывает) программу или содержимое, хранящееся в четвертом слоте списка избранного.VK_RECALL_FAVORITE_3
"FavoriteStore0"Сохраняет текущую программу или контент в первый слот списка избранного.VK_STORE_FAVORITE_0
"FavoriteStore1"Сохраняет текущую программу или контент во второй слот списка избранного.VK_STORE_FAVORITE_1
"FavoriteStore2"Сохраняет текущую программу или контент в третий слот списка избранного.VK_STORE_FAVORITE_2
"FavoriteStore3"Сохраняет текущую программу или контент в четвертый слот списка избранного.VK_STORE_FAVORITE_3
"Guide"Переключает отображение программы или содержимого, содержащего руководство.VK_GUIDEQt::Key_Guide (0x0100011A)KEYCODE_GUIDE (172)
"GuideNextDay"Если руководство отображается в данный момент, эта кнопка указывает руководству отобразить содержимое на следующий день.VK_NEXT_DAY
"GuidePreviousDay"Если руководство отображается в данный момент, эта кнопка указывает руководству отобразить содержимое предыдущего дня.VK_PREV_DAY
"Info"Переключает отображение информации о текущем выбранном содержимом, программе или медиа.VK_INFOQt::Key_Info (0x0100011B)KEYCODE_INFO (165)
"InstantReplay"Указывает устройству выполнить мгновенное перевоспроизведение (обычно это некоторая форма возврата на короткий промежуток времени с последующим воспроизведением, возможно, но обычно не в замедленном режиме).VK_INSTANT_REPLAY
"Link"Открывает содержимое, связанное с текущей программой, если это возможно и доступно.VK_LINK
"ListProgram"Список текущей программы.VK_LIST
"LiveContent"Переключает отображение списка доступного в данный момент live-содержимого или программ.VK_LIVE
"Lock"Блокирует и разблокирует текущее выбранное содержимое или программу.VK_LOCK
"MediaApps"Представляет список мультимедийных приложений, таких как программы просмотра фотографий, аудио- и видеоплееры, а также игры. [1]VK_APPS
"MediaAudioTrack"Клавиша звуковой дорожки.GDK_KEY_AudioCycleTrack (0x1008FF9B)
+ Qt::Key_AudioCycleTrack (0x01000106)
KEYCODE_MEDIA_AUDIO_TRACK (222)
"MediaLast"Возврат к последнему просмотренному содержимому, программе или другому медиафайлу.VK_LASTQt::Key_MediaLast (0x0100FFFF)KEYCODE_LAST_CHANNEL (229)
"MediaSkipBackward"Переход назад к предыдущему содержимому или программе.KEYCODE_MEDIA_SKIP_BACKWARD
"MediaSkipForward"Переход к следующему содержимому или программе.VK_SKIPKEYCODE_MEDIA_SKIP_FORWARD
"MediaStepBackward"Переход назад к предыдущему содержимому или программе.KEYCODE_MEDIA_STEP_BACKWARD
"MediaStepForward"Переход к следующему содержимому или программе.KEYCODE_MEDIA_SKIP_FORWARD
"MediaTopMenu"Кнопка верхнего меню. Открывает главное меню носителя (например, для диска DVD или Blu-Ray).Qt::Key_TopMenu (0x0100010A)KEYCODE_MEDIA_TOP_MENU
"NavigateIn"Переход в подменю или параметр.KEYCODE_NAVIGATE_IN
"NavigateNext"Переход к следующему элементу.KEYCODE_NAVIGATE_NEXT
"NavigateOut"Переход из текущего экрана или меню.KEYCODE_NAVIGATE_OUT
"NavigatePrevious"Переход к предыдущему элементу.KEYCODE_NAVIGATE_PREVIOUS
"NextFavoriteChannel"Циклически переходит на следующий канал в списке избранного.VK_NEXT_FAVORITE_CHANNEL
"NextUserProfile"Циклически переходит к следующему сохраненному профилю пользователя, если эта функция поддерживается и существует несколько профилей.VK_USER
"OnDemand"Открывает пользовательский интерфейс для выбора содержимого или программ по запросу для просмотра.VK_ON_DEMAND
"Pairing"Запускает процесс сопряжения пульта дистанционного управления с управляемым устройством.KEYCODE_PAIRING (225)
"PinPDown"Кнопка для перемещения изображения «картинка в картинке» вниз.VK_PINP_DOWN
"PinPMove"Кнопка для управления перемещением изображения «картинка в картинке».VK_PINP_MOVE
"PinPToggle"Включает и выключает отображение изображения в «картинка в картинке».VK_PINP_TOGGLE
"PinPUp"Кнопка для перемещения изображения «картинка в картинке» вверх.VK_PINP_UP
"PlaySpeedDown"Уменьшает скорость воспроизведения мультимедиа.VK_PLAY_SPEED_DOWN
"PlaySpeedReset"Возвращает нормальную скорость воспроизведения мультимедиа.VK_PLAY_SPEED_RESET
"PlaySpeedUp"Увеличивает скорость воспроизведения мультимедиа.VK_PLAY_SPEED_UP
"RandomToggle"Включает и выключает случайные медиафайлы (также известно как «режим случайного воспроизведения»).VK_RANDOM_TOGGLEGDK_KEY_AudioRandomPlay (0x1008FF99)
"RcLowBattery"Код, отправляемый при низком заряде батареи пульта ДУ. Это вообще не соответствует физической кнопке/клавише.VK_RC_LOW_BATTERY
"RecordSpeedNext"Циклически переключает доступные скорости записи на носитель.VK_RECORD_SPEED_NEXT
"RfBypass"Включает и выключает режим пропуска радиочастотного (RF) входа. В режиме пропуска РЧ входной сигнал передается непосредственно на выход РЧ без какой-либо обработки или фильтрации.VK_RF_BYPASS
"ScanChannelsToggle"Включает и выключает режим сканирования каналов. Это режим, который автоматически переключает каналы, пока пользователь не остановит сканирование.VK_SCAN_CHANNELS_TOGGLE
"ScreenModeNext"Циклически переключает доступные режимы отображения экрана.VK_SCREEN_MODE_NEXT
"Settings"Включает и выключает отображение экрана настроек устройства.VK_SETTINGSQt::Key_Settings (0x0100011C)KEYCODE_SETTINGS
"SplitScreenToggle"Включает и выключает режим разделения экрана.VK_SPLIT_SCREEN_TOGGLEGDK_KEY_SplitScreen (0x1008FF7D)
+ Qt::Key_SplitScreen (0x010000ED)
"STBInput" [3]Переключение между источниками сигнала на внешней приставке (STB).KEYCODE_STB_INPUT (180)
"STBPower" [3]Включает и выключает внешний STB.KEYCODE_STB_POWER (179)
"Subtitle"Включает и выключает отображение субтитров, если они доступны.VK_SUBTITLEGDK_KEY_Subtitle (0x1008FF9A)KEYCODE_CAPTIONS (175)
"Teletext"Включает и выключает отображение {{interwiki("wikipedia", "телетекст")}}а,если доступно.VK_TELETEXTKEYCODE_TV_TELETEXT (233)
"VideoModeNext" [3]Перебирает доступные видеорежимы.VK_VIDEO_MODE_NEXTGDK_KEY_Next_VMode (0x1008FE22)
"Wink"Заставляет устройство идентифицировать себя каким-либо образом, например, мигает светом, на короткое время меняет яркость световых индикаторов или издает звуковой сигнал.VK_WINK
"ZoomToggle" [2]Переключает между полноэкранным и масштабированным отображением содержимого или иным образом изменяет уровень увеличения.VK_ZOOM (0xFB)Qt::Key_Zoom (0x01020006)KEYCODE_TV_ZOOM_MODE (255)
+ +

[1] Не путайте клавишу медиа-контроллера VK_APPS с клавишей Windows VK_APPS, которая также известна как VK_CONTEXT_MENU. Эта клавиша возвращает значение "ContextMenu".

+ +

[2] Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранние определяли кнопку переключения масштаба как "Zoom". В Firefox 37 исправлено на "ZoomToggle".

+ +

[3] Эти клавиши возвращали "Unidentified" до Firefox 37.

+ +

Клавиши распознавания речи

+ +

Эти специальные мультимедийные клавиши используются для управления функциями распознавания речи.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"SpeechCorrectionList" [1]Представляет список возможных исправлений неверно определенного слова.APPCOMMAND_CORRECTION_LIST
"SpeechInputToggle" [2]Переключение между режимом диктовки и режимом команд/управления. Это позволяет механизму обработки речи знать, интерпретировать ли произносимые слова как вводимый текст или как команды.APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
+ +

[1] В Windows команда APPCOMMAND_CORRECTION_LIST генерирует значение "Unidentified" в Firefox.

+ +

[2] В Windows команда APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE генерирует значение "Unidentified" в Firefox.

+ +

Клавиши документа

+ +

Эти клавиши управляют документами. В спецификации они включены в другие наборы клавиш(например, мультимедийные), но разумнее выделять их в собственную категорию.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Close" [1]Закрывает текущий документ или сообщение. Не должен выходить из приложения.APPCOMMAND_CLOSEGDK_KEY_Close (0x1008FF56)
+ Qt::Key_Close (0x010000CE)
KEYCODE_MEDIA_CLOSE (128)
"New" [1]Создает новый документ или сообщение.APPCOMMAND_NEWGDK_KEY_New (0x1008FF68)
+ Qt::Key_New (0x01000120)
"Open" [1]Открывает существующий документ или сообщение.APPCOMMAND_OPENGDK_KEY_Open (0x1008FF6B)
+ Qt::Key_Open (0x01000121)
"Print"Печатает текущий документ или сообщение.APPCOMMAND_PRINTGDK_KEY_Print (0xFF61)
+ Qt::Print (0x01000009)
"Save" [1]Сохраняет текущий документ или сообщение.APPCOMMAND_SAVEGDK_KEY_Save (0x1008FF77)
+ Qt::Key_Save (0x010000EA)
"SpellCheck" [1]Запускает проверку орфографии в текущем документе.APPCOMMAND_SPELL_CHECKGDK_KEY_Spell (0x1008FF7C)
+ Qt::Key_Spell (0x010000EC)
"MailForward" [1]Открывает пользовательский интерфейс для пересылки сообщения.APPCOMMAND_FORWARD_MAILGDK_KEY_MailForward (0x1008FF90)
+ Qt::Key_MailForward (0x010000FB)
"MailReply" [1]Открывает пользовательский интерфейс для ответа на сообщение.APPCOMMAND_REPLY_TO_MAILGDK_KEY_Reply (0x1008FF72)
+ Qt::Key_Reply (0x010000E5)
"MailSend" [1]Отправляет текущее сообщение.APPCOMMAND_SEND_MAILGDK_KEY_Send (0x1008FF7B)
+ Qt::Key_Send (0x010000EB)
+ +

[1] До Firefox 37, эта клавиша генерировала значение "Unidentified".

+ +

Клавиши приложений

+ +

На некоторых клавиатурах есть специальные клавиши для запуска определенных распространенных приложений или переключения на них. Значения клавиш для них перечислены здесь.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"LaunchCalculator" [5]Клавиша запуска калькулятора Calculator, часто помечается значком. Часто используется в качестве общей клавиши запуска приложений (APPCOMMAND_LAUNCH_APP2).APPCOMMAND_LAUNCH_APP2GDK_KEY_Calculator (0x1008FF1D)
+ Qt::Key_Calculator (0x010000CB)
KEYCODE_CALCULATOR (210)
"LaunchCalendar" [5]Клавиша календаря Calendar. Часто помечается значком.GDK_KEY_Calendar (0x1008FF20)
+ Qt::Key_Calendar (0x010000E4)
KEYCODE_CALENDAR (208)
"LaunchContacts"Клавиша "Контакты" Contacts.KEYCODE_CONTACTS (207)
"LaunchMail"Клавиша электронной почты Mail. Часто помечается значком.VK_LAUNCH_MAIL (0xB4)
+ APPCOMMAND_LAUNCH_MAIL
GDK_KEY_Mail (0x1008FF19)
+ Qt::Key_LaunchMail (0x010000A0)
KEYCODE_ENVELOPE (65)
"LaunchMediaPlayer" [1]Клавиша медиаплеера Media Player. Часто помечается значком.VK_LAUNCH_MEDIA_SELECT (0xB5)
+ APPCOMMAND_LAUNCH_MEDIA_SELECT
GDK_KEY_CD (0x1008FF53)
+ GDK_KEY_Video (0x1008FF87)
+ GDK_KEY_AudioMedia (0x1008FF32)
+ Qt::Key_LaunchMedia (0x010000A1)
"LaunchMusicPlayer" [5]Клавиша музыкального проигрывателя Music Player. Часто помечается значком.GDK_KEY_Music (0x1008FF92)
+ Qt::Key_Music (0x010000FD)
KEYCODE_MUSIC (209)
"LaunchMyComputer" [5]Клавиша "Мой компьютер" My Computer на клавиатурах Windows. Часто используется в качестве общей клавиши запуска приложений (APPCOMMAND_LAUNCH_APP1).APPCOMMAND_LAUNCH_APP1GDK_KEY_MyComputer (0x1008FF33)
+ GDK_KEY_Explorer (0x1008FF5D)
"LaunchPhone"Клавиша телефонии Phone. Открывает приложение для набора номера телефона (если таковое имеется).GDK_KEY_Phone (0x1008FF6E)
+ Qt::Key_Phone (0x010000E3)
"LaunchScreenSaver" [5]Клавиша заставки Screen Saver.GDK_KEY_ScreenSaver (0x1008FF2D)
+ Qt::Key_ScreenSaver (0x010000BA)
"LaunchSpreadsheet" [4]Клавиша табличного процессора Spreadsheet. Эта клавиша часто помечается значком.GDK_KEY_Excel (0x1008FF5C)
+ Qt::Key_Excel (0x010000D4)
"LaunchWebBrowser" [4]Клавиша веб-браузера Web Browser. Эта клавиша часто помечается значком.GDK_KEY_WWW (0x1008FF2E)
+ Qt::Key_WWW (0x010000BB)
KEYCODE_EXPLORER (64)
"LaunchWebCam" [5]Клавиша WebCam. Открывает приложение веб-камеры.GDK_KEY_WebCam (0x1008FF8F)
+ Qt::Key_WebCam (0x010000FA)
"LaunchWordProcessor" [5]Клавиша текстового процессора Word Processor. Это может быть значок конкретного приложения текстового процессора или общий значок документа.GDK_KEY_Word (0x1008FF89)
+ Qt::Key_Word (0x010000F4)
"LaunchApplication1" [2]1-я общая кнопка запуска приложений.VK_LAUNCH_APP1 (0xB6)
+ APPCOMMAND_LAUNCH_APP1
GDK_KEY_Launch0 (0x1008FF40)
+ Qt::Key_Launch0 (0x010000A2)
"LaunchApplication2" [3]2-я общая кнопка запуска приложений.VK_LAUNCH_APP2 (0xB7)
+ APPCOMMAND_LAUNCH_APP2
GDK_KEY_Launch1 (0x1008FF41)
+ Qt::Key_Launch1 (0x010000A3)
"LaunchApplication3"3-я общая кнопка запуска приложений.GDK_KEY_Launch2 (0x1008FF42)
+ Qt::Key_Launch2 (0x010000A4)
"LaunchApplication4"4-я общая кнопка запуска приложений.GDK_KEY_Launch3 (0x1008FF43)
+ Qt::Key_Launch3 (0x010000A5)
"LaunchApplication5"5-я общая кнопка запуска приложений.GDK_KEY_Launch4 (0x1008FF44)
+ Qt::Key_Launch4 (0x010000A6)
"LaunchApplication6"6-я общая кнопка запуска приложений.GDK_KEY_Launch5 (0x1008FF45)
+ Qt::Key_Launch5 (0x010000A7)
"LaunchApplication7"7-я общая кнопка запуска приложений.GDK_KEY_Launch6 (0x1008FF46)
+ Qt::Key_Launch6 (0x010000A8)
"LaunchApplication8"8-я общая кнопка запуска приложений.GDK_KEY_Launch7 (0x1008FF47)
+ Qt::Key_Launch7 (0x010000A9)
"LaunchApplication9"9-я общая кнопка запуска приложений.GDK_KEY_Launch8 (0x1008FF48)
+ Qt::Key_Launch8 (0x010000AA)
"LaunchApplication10"10-я общая кнопка запуска приложений.GDK_KEY_Launch9 (0x1008FF49)
+ Qt::Key_Launch9 (0x010000AB)
"LaunchApplication11"11-я общая кнопка запуска приложений.GDK_KEY_LaunchA (0x1008FF4A)
+ Qt::Key_LaunchA (0x010000AC)
"LaunchApplication12"12-я общая кнопка запуска приложений.GDK_KEY_LaunchB (0x1008FF4B)
+ Qt::Key_LaunchB (0x010000AD)
"LaunchApplication13"13-я общая кнопка запуска приложений.GDK_KEY_LaunchC (0x1008FF4C)
+ Qt::Key_LaunchC (0x010000AE)
"LaunchApplication14"14-я общая кнопка запуска приложений.GDK_KEY_LaunchD (0x1008FF4D)
+ Qt::Key_LaunchD (0x010000AF)
"LaunchApplication15"15-я общая кнопка запуска приложений.GDK_KEY_LaunchE (0x1008FF4E)
+ Qt::Key_LaunchE (0x010000B0)
"LaunchApplication16"16-я общая кнопка запуска приложений.GDK_KEY_LaunchF (0x1008FF4F)
+ Qt::Key_LaunchF (0x010000B1)
+ +

[1] Internet Explorer, Edge, и Firefox (36 и ранее) используют "SelectMedia" вместо "LaunchMediaPlayer". Firefox 37 и Firefox 48 используют "MediaSelect". Firefox 49 был обновлен в соответствии с последней спецификацией и теперь возвращает "LaunchMediaPlayer".

+ +

[2] Google Chrome 57 и ранние возращают "LaunchMyComputer" вместо "LaunchApplication1". Смотри Chrome Bug 612743 для дополнительной информации.

+ +

[3] Google Chrome 57 и ранние возвращают "LaunchCalculator" вместо "LaunchApplication2". Смотри Chrome Bug 612743 для дополнительной информации.

+ +

[4] До Firefox 37, Firefox возвращал the key code "LaunchApplication1" вместо "LaunchWebBrowser"для клавиши Веб-браузера.

+ +

[5] Firefox ввёл поддержку этой клавиши в Firefox 37. До этого, эта клавиша возвращала значение "Unidentified".

+ +

Клавиши управления браузером

+ +

На некоторых клавиатурах есть специальные клавиши для управления веб-браузерами. Это следующие клавиши.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"BrowserBack"Переход к предыдущему содержимому или странице в истории текущего веб-представления.VK_BROWSER_BACK (0xA6)
+ APPCOMMAND_BROWSER_BACKWARD
GDK_KEY_Back (0x1008FF26)
+ Qt::Key_Back (0x01000061)
KEYCODE_BACK (4)
"BrowserFavorites" [1]Открывает список закладок/избранного пользователя.VK_BROWSER_FAVORITES (0xAB)
+ APPCOMMAND_BROWSER_FAVORITES
GDK_KEY_Favorites (0x1008FF30)
+ GDK_KEY_MySites (0x1008FF67)
+ Qt::Favorites (0x01000091)
KEYCODE_BOOKMARK (174)
"BrowserForward"Переход к следующему содержимому или странице в истории текущего веб-представления.VK_BROWSER_FORWARD (0xA7)
+ APPCOMMAND_BROWSER_FORWARD
GDK_KEY_Forward (0x1008FF27)
+ Qt::Key_Forward (0x01000062)
KEYCODE_FORWARD (125)
"BrowserHome"Переход к домашней странице, установленной пользователем.VK_BROWSER_HOME (0xAC)
+ APPCOMMAND_BROWSER_HOME
GDK_KEY_HomePage (0x1008FF18)
+ Qt::Key_HomePage (0x01000090)
KEYCODE_HOME (3)
"BrowserRefresh"Обновление текущей страницы или содержимого.VK_BROWSER_REFRESH (0xA8)
+ APPCOMMAND_BROWSER_REFRESH
GDK_KEY_Refresh (0x1008FF29)
+ GDK_KEY_Reload (0x1008FF73)
"BrowserSearch"Активирует предпочтительную поисковую систему пользователя или интерфейс поиска в его браузере.VK_BROWSER_SEARCH (0xAA)
+ APPCOMMAND_BROWSER_SEARCH
GDK_KEY_Search (0x1008FF1B)
+ Qt::Key_Search (0x01000092)
KEYCODE_SEARCH (84)
"BrowserStop"Останавливает загрузку текущего веб-представления или содержимого.VK_BROWSER_STOP (0xA9)
+ APPCOMMAND_BROWSER_STOP
GDK_KEY_Stop (0x1008FF28)
+ Qt::Key_Search (0x01000063)
+ +

[1] До Firefox 37, эта клавиша возвращала значение "Unidentified".

+ +

Клавиши цифрового блока

+ +

Эти клавиши находятся на цифровой панели клавиатуры. Однако не все они присутствуют на каждой клавиатуре. Хотя типичные цифровые панели имеют цифровые клавиши от 0 до 9 (кодируются как "0" - "9"), некоторые мультимедийные клавиатуры включают дополнительные цифровые клавиши для более высоких чисел.

+ +
+

Клавиша 10, если она присутствует, генерирует события со значением ключа "0".

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Значение KeyboardEvent.keyОписаниеВиртуальный код клавиши
WindowsMacLinuxAndroid
"Decimal" [1] {{obsolete_inline}} +

Клавиша десятичной точки (обычно . или , в зависимости от региона).

+ +

В новых браузерах это значение должно быть просто символом, сгенерированным клавишей десятичной точки (одним из этих двух символов). [1]

+
VK_DECIMAL (0x6E)kVK_ANSI_KeypadDecimal (0x41)GDK_KEY_KP_Decimal (0xFFAE)
+  
KEYCODE_NUMPAD_DOT (158)
"Key11"Клавиша 11 встречается на некоторых цифровых мультимедиа клавиатурах.
"Key12"Клавиша 12 встречается на некоторых цифровых мультимедиа клавиатурах..
"Multiply" [1] {{obsolete_inline}}Клавиша умножения на цифровой панели, *.VK_MULTIPLY (0x6A)kVK_ANSI_KeypadMultiply (0x43)GDK_KEY_KP_Multiply (0xFFAA)
+ Qt::Key_Multiply (0x0D7)
KEYCODE_NUMPAD_MULTIPLY (155)
"Add" [1] {{obsolete_inline}}Клавиша сложения на цифровой панели, +.VK_ADD (0x6B)kVK_ANSI_KeypadPlus (0x45)GDK_KEY_KP_Add (0xFFAB)KEYCODE_NUMPAD_ADD (157)
"Clear"Клавиша очистки на цифровой панели, Clear.kVK_ANSI_KeypadClear (0x47)GDK_KEY_Clear (0xFF0B)
+ Qt::Key_Clear (0x0100000B)
KEYCODE_CLEAR (28)
"Divide" [1] {{obsolete_inline}}Клавиша деления на цифровой панели, /.VK_DIVIDE (0x6F)kVK_ANSI_KeypadDivide (0x4B)GDK_KEY_KP_Divide (0xFFAF)
+ Qt::Key_Slash (0x2F)
KEYCODE_NUMPAD_DIVIDE (154)
"Subtract" [1] {{obsolete_inline}}Клавиша вычитания на цифровой панели, -.VK_SUBTRACT (0x6D)kVK_ANSI_KeypadMinus (0x4E)GDK_KEY_KP_Subtract (0xFFAD)KEYCODE_NUMPAD_SUBTRACT (156)
"Separator" [1] +

Символ разделителя позиций на цифровой клавиатуре.

+ +

(В США это запятая, но в других странах это часто точка.)

+
VK_SEPARATOR (0x6C)kVK_JIS_KeypadComma (0x5F)GDK_KEY_KP_Separator (0xFFAC)
+  
KEYCODE_NUMPAD_COMMA (159)
От "0" до "9"Фактические цифровые клавиши на цифровой панели.VK_NUMPAD0 (0x60) - VK_NUMPAD9 (0x69)kVK_Keypad0 (0x52) - kVK_Keypad9 (0x5C)GDK_KEY_KP_0 (0xFFB0) - GDK_KEY_KP_9 (0xFFB9)KEYCODE_NUMPAD_0 (144) - KEYCODE_NUMPAD_9 (153)
+ +

[1] В то время как старые браузеры использовали такие слова, как «Добавить», «Десятичное число», «Умножить» и т. д., современные браузеры идентифицируют их по фактическому символу («+», «.», «*» и т. д.).

diff --git a/files/ru/web/api/keyboardevent/which/index.html b/files/ru/web/api/keyboardevent/which/index.html new file mode 100644 index 0000000000..d06f71133f --- /dev/null +++ b/files/ru/web/api/keyboardevent/which/index.html @@ -0,0 +1,97 @@ +--- +title: KeyboardEvent.which +slug: Web/API/KeyboardEvent/which +tags: + - API + - DOM + - Deprecated + - Property + - Reference +translation_of: Web/API/KeyboardEvent/which +--- +
{{APIRef ("События DOM")}} {{Deprecated_header}}
+Свойство which только для чтения интерфейса {{domxref ("KeyboardEvent")}} возвращает числовой код клавиши нажатой клавиши или код символа (charCode) для нажатой буквенно-цифровой клавиши.
+ + + +

Синтаксис

+ +
var keyResult = event.which;
+
+ +

Параметры

+ + + +

Примеры

+ +
<html>
+<head>
+<title>charCode/keyCode/which example</title>
+
+<script type="text/javascript">
+
+function showKeyPress(evt) {
+alert("onkeypress handler: \n"
+      + "keyCode property: " + evt.keyCode + "\n"
+      + "which property: " + evt.which + "\n"
+      + "charCode property: " + evt.charCode + "\n"
+      + "Character Key Pressed: "
+      + String.fromCharCode(evt.charCode) + "\n"
+     );
+}
+
+
+function keyDown(evt) {
+alert("onkeydown handler: \n"
+      + "keyCode property: " + evt.keyCode + "\n"
+      + "which property: " + evt.which + "\n"
+     );
+}
+
+</script>
+</head>
+
+<body
+ onkeypress="showKeyPress(event);"
+ onkeydown="keyDown(event);"
+>
+
+<p>Please press any key.</p>
+
+</body>
+</html>
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + +
СпецифиыкацияСтатусКомментарий
{{SpecName('DOM3 Events','#legacy-interface-KeyboardEvent','KeyboardEvent.which')}}{{Spec2('DOM3 Events')}}Initial definition; specified as deprecated
+ +

Browser compatibility

+ + + +

{{Compat("api.KeyboardEvent.which")}}

+ +

See also

+ + -- cgit v1.2.3-54-g00ecf