diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/api/keyboardevent | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/ru/web/api/keyboardevent')
-rw-r--r-- | files/ru/web/api/keyboardevent/altkey/index.html | 117 | ||||
-rw-r--r-- | files/ru/web/api/keyboardevent/index.html | 465 | ||||
-rw-r--r-- | files/ru/web/api/keyboardevent/key/index.html | 229 | ||||
-rw-r--r-- | files/ru/web/api/keyboardevent/key/key_values/index.html | 3665 | ||||
-rw-r--r-- | files/ru/web/api/keyboardevent/which/index.html | 97 |
5 files changed, 4573 insertions, 0 deletions
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 +--- +<p id="Summary">{{APIRef("DOM Events")}}</p> + +<p><strong><code>KeyboardEvent.altKey</code></strong> свойство только для чтения, возвращет {{jsxref("Boolean")}}, если клавиша <kbd>alt</kbd> (<kbd>Option</kbd> или <kbd>⌥</kbd> на OS X) была нажата (<code>true</code>) или не нажата (<code>false</code>), когда событие произошло.</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox notranslate">var <em>altKeyPressed</em> = <em>instanceOfKeyboardEvent</em>.altKey +</pre> + +<h2 id="Пример">Пример</h2> + +<pre class="brush: js notranslate"><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></pre> + +<h2 id="Спецификация">Спецификация</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName('DOM3 Events','#widl-KeyboardEvent-altKey','KeyboardEvent.altkey')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость браузеров</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Chrome</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown()}}</td> + <td>{{CompatVersionUnknown()}}</td> + <td>{{CompatVersionUnknown()}}</td> + <td>{{CompatVersionUnknown()}}</td> + <td>{{CompatVersionUnknown()}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>Android</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatUnknown() }}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{ domxref("KeyboardEvent") }}</li> +</ul> 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 +--- +<div>{{APIRef("DOM Events")}}</div> + +<p><code>Объекты </code><strong><code>KeyboardEvent</code></strong> описывают работу пользователя с клавиатурой. Каждое событие описывает клавишу; тип события (<code>keydown</code>, <code>keypress</code> или <code>keyup</code>) определяет произведённый тип действия.</p> + +<div class="note"><strong>Примечание:</strong> <code>KeyboardEvent</code> сообщит только о том, что на клавише произошло событие. Когда вам нужно обрабатывать ввод текста, то вместо него используйте "<code><a href="/ru/docs/DOM/DOM_event_reference/input" rel="custom">HTML5 input"</a></code>-событие. Например, если пользователь вводит текст рукописным способом, предположим с планшета, то события клавиш могут не возникать.</div> + +<h2 id="Конструктор">Конструктор</h2> + +<dl> + <dt>{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}</dt> + <dd>Создаёт объект <code>KeyboardEvent</code>.</dd> +</dl> + +<h2 id="Методы">Методы</h2> + +<p><em>Этот интерфейс также наследует методы от своих родителей: {{domxref("UIEvent")}} и {{domxref("Event")}}.</em></p> + +<dl> + <dt><a id="getModifierState" name="getModifierState"></a>{{domxref("KeyboardEvent.getModifierState()")}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, показывающий, что использовалась клавиша-модификатор, такая как <kbd>Alt</kbd>, <kbd>Shift</kbd>, <kbd>Ctrl</kbd> или <kbd>Meta</kbd>, которая была нажата, когда создалось событие.</dd> + <dt>{{domxref("KeyboardEvent.initKeyEvent()")}}{{deprecated_inline}}</dt> + <dd>Инициализирует объект <code>KeyboardEvent</code>. Этот метод реализован только в движке Gecko (остальные использовали метод {{domxref("KeyboardEvent.initKeyboardEvent()")}}), и он не должен в дальнейшем использоваться. Новый стандартный способ - это использование конструктора {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}.</dd> + <dt>{{domxref("KeyboardEvent.initKeyboardEvent()")}}{{deprecated_inline}}</dt> + <dd>Инициализирует объект <code>KeyboardEvent</code>. Этот метод никогда не был реализован в движке Gecko (вместо него использовался {{domxref("KeyboardEvent.initKeyEvent()")}}), и он не должен в дальнейшем использоваться. Новый стандартный способ - это использование конструктора {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}.</dd> +</dl> + +<h2 id="Свойства">Свойства</h2> + +<p><em>Этот интерфейс также наследует свойства от своих родителей: {{domxref("UIEvent")}} and {{domxref("Event")}}.</em></p> + +<dl> + <dt>{{domxref("KeyboardEvent.altKey")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если клавиша <kbd>Alt</kbd> ( <kbd>Option</kbd> или <kbd>⌥</kbd> в OS X) была активна, когда возникло событие.</dd> + <dt>{{domxref("KeyboardEvent.char")}} {{Non-standard_inline}}{{Deprecated_inline}}{{Readonlyinline}}</dt> + <dd>Возвращает {{domxref("DOMString")}}, представляющий символьное значение клавиши. Если клавиша соответствует печатному символу, то это значение будет непустой Unicode-строкой, содержащей этот символ. Если клавиша не имеет печатного представления, то значение будет пустой строкой. + <div class="note"><strong>Примечание:</strong> Если клавиша использовалась как макрос, который вставляет несколько символов, то значением будет вся строка, а не только первый символ.</div> + + <div class="warning"><strong>Предупреждение:</strong> Эта функция была удалена из событий "DOM Level 3 Events". Она поддержтвается только IE9+ и Microsoft Edge.</div> + </dd> + <dt>{{domxref("KeyboardEvent.charCode")}} {{Deprecated_inline}}{{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Number")}}, представляющий Unicode-номер клавиши; этот атрибут использовался только с событием <code>keypress</code>. Для клавиш, чей <code>char</code>-атрибут содержит несколько символов, то значением этого атрибута будет Unicode-значение первого символа. В Firefox 26 этот атрибут возвращал коды для печатных символов. + <div class="warning"><strong>Предупреждение:</strong> Это нерекомендуемый к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.</div> + </dd> + <dt>{{domxref("KeyboardEvent.code")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{domxref("DOMString")}} с кодом клавиши, представленного события.</dd> + <dt>{{domxref("KeyboardEvent.ctrlKey")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если клавиша <kbd>Ctrl</kbd> была активна, когда возникло событие.</dd> + <dt>{{domxref("KeyboardEvent.isComposing")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если событие возникло между "после-<code>compositionstart</code>" и "до-<code>compositionend</code>".</dd> + <dt>{{domxref("KeyboardEvent.key")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{domxref("DOMString")}}, представлающее значение клавиши, на которой возникло событие.</dd> + <dt>{{domxref("KeyboardEvent.keyCode")}} {{deprecated_inline}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Number")}}, представляющее системный и зависящий от конкретной реализации числовой код, идентифицирущий немодифицированное значение нажатой клавиши. + <div class="warning"><strong>Предупреждение:</strong> Это нерекомендуемый к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.</div> + </dd> + <dt>{{domxref("KeyboardEvent.keyIdentifier")}} {{Non-standard_inline}}{{deprecated_inline}}{{Readonlyinline}}</dt> + <dd>Это свойство нестандартное, и его использование не рекомендуется в пользу {{domxref("KeyboardEvent.key")}}. Это часть устаревшего "DOM Level 3 Events".</dd> + <dt>{{domxref("KeyboardEvent.keyLocation")}} {{Non-standard_inline}}{{deprecated_inline}}{{Readonlyinline}}</dt> + <dd>Это нестандартный нерекомендуемый синоним для {{domxref("KeyboardEvent.location")}}. Это часть устаревшего "DOM Level 3 Events".</dd> + <dt>{{domxref("KeyboardEvent.locale")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{domxref("DOMString")}}, представляет строку-локаль, которая показывает текущую конфигурацию локали клавиатуры. Это может быть пустая строка, если браузер или устройство не имеют понятия о локали клавиатуры. + <div class="note"><strong>Заметьте:</strong> Это не описание языка ввода текста. Пользователь может использовать одну раскладку клавиатуры для ввода на разных языках.</div> + </dd> + <dt>{{domxref("KeyboardEvent.location")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Number")}}, представляющее расположение клавиши на клавиатуре или другом устройстве ввода.</dd> + <dt>{{domxref("KeyboardEvent.metaKey")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если клавиша <kbd>Meta</kbd> (на клавиатуре Mac - клавиша <kbd>⌘ Command</kbd>; на Windows-клавиатуре - клавиша "Windows" <kbd>⊞</kbd>) была активна, когда возникло событие.</dd> + <dt>{{domxref("KeyboardEvent.repeat")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если клавиша была нажата до тех пор, пока её ввод не начал автоматически повторяться.</dd> + <dt>{{domxref("KeyboardEvent.shiftKey")}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если клавиша <kbd>Shift</kbd> была активна, когда возникло событие.</dd> + <dt>{{domxref("KeyboardEvent.which")}} {{deprecated_inline}} {{Readonlyinline}}</dt> + <dd>Возвращает {{jsxref("Number")}}, представляющее зависящее от конкретной реализации значение системного кода нажатой клавиши, который представляет собой немодифицируемое значение; это обычно то же, что свойство <code>keyCode</code>. + <div class="warning"><strong>Предупреждение:</strong> Это нерекомендуемый к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.</div> + </dd> +</dl> + +<h2 id="Примечания">Примечания</h2> + +<p>Особенности событий <code>keydown</code>, <code>keypress</code> и <code>keyup</code>. Для большинства клавиш Gecko обрабатывает последовательность событий так:</p> + +<ol> + <li>Когда клавиша сначала нажата, то отправляется событие <code>keydown</code>.</li> + <li>Если клавиша не является <a href="#getModifierState">модификатором</a>, то отправляется событие <code>keypress</code>.</li> + <li>Когда пользователь отпускает клавишу, то отправляется событие <code>keyup</code>.</li> +</ol> + +<h3 id="Особые_случаи">Особые случаи</h3> + +<p>Некоторые клавиши переключают подсветку индикаторов, такие как <kbd>Caps Lock</kbd>, <kbd>Num Lock</kbd> и <kbd>Scroll Lock</kbd>. На Windows и Linux эти клавиши создают только лишь события <code>keydown</code> и <code>keyup</code>.</p> + +<div class="note"> +<p>В Linux Firefox 12 и более ранних также обрабатывается событие <code>keypress</code>.</p> +</div> + +<p>Но в связи с ограничениями Mac OS X модель событий клавиши <kbd>Caps Lock</kbd> включает в себя только <code>keydown</code>. События <kbd>Num Lock</kbd> поддерживались на старых ноутбуках (2007 года и старше), но затем Mac OS X их перестала поддерживать, даже на внешних клавиатурах. На совсем старых MacBooks клавиша <kbd>Num Lock</kbd> вообще не генерирует никаких событий. Движок Gecko не поддерживает клавишу <kbd>Scroll Lock</kbd>, если это внешняя клавиатура с клавишей <kbd>F14</kbd>. В некоторых старых версиях Firefox эта клавиша генерирует событие <code>keypress</code>; это являлось нестабильным поведением и описано в {{bug(602812)}}.</p> + +<h3 id="Обработка_автоповтора_нажатой_клавиши">Обработка автоповтора нажатой клавиши</h3> + +<p>Когда клавиша нажата и удерживается, то начинается автоповтор. Результатом этого будет последовательность событий аналогичная следующей:</p> + +<ol> + <li><code>keydown</code></li> + <li><code>keypress</code></li> + <li><code>keydown</code></li> + <li><code>keypress</code></li> + <li><<повтор до тех пор, пока пользователь не отпустит клавишу>></li> + <li><code>keyup</code></li> +</ol> + +<p>Это то, что должно произойти в соответствии со спецификацией DOM Level 3. Однако, есть несколько предостережений относительно этого, описанных ниже.</p> + +<h4 id="Автоповтор_на_некоторых_GTK-средах_таких_как_Ubuntu_9.4">Автоповтор на некоторых GTK-средах, таких как Ubuntu 9.4</h4> + +<p>В некоторых GTK-средах автоповтор обрабатывается автоматически нативными функциями как событие key-up, и у Gecko нет способа отличить серию одиночных нажатий от автоповтора. На таких платформах автоповтор генерирует следующую последовательность событий:</p> + +<ol> + <li><code>keydown</code></li> + <li><code>keypress</code></li> + <li><code>keyup</code></li> + <li><code>keydown</code></li> + <li><code>keypress</code></li> + <li><code>keyup</code></li> + <li><<повтор, пока пользователь не отпустит клавишу>></li> + <li><code>keyup</code></li> +</ol> + +<p>В этих средах, к сожалению, нет возмодности сказать вэб-контенту, произошел автоповтор или клавиша быал нажата несколько раз.</p> + +<h4 id="Обработка_автоповтора_на_системах_до_Gecko_5.0">Обработка автоповтора на системах до Gecko 5.0</h4> + +<p>До Gecko 5.0 {{geckoRelease('5.0')}} обработка событий клавиатуры была различна на разных платформах.</p> + +<dl> + <dt>Windows</dt> + <dd>Поведение автоповтора такое же как в Gecko 4.0 и более поздних.</dd> + <dt>Mac</dt> + <dd>После первого события <code>keydown </code>только отправляются события <code>keypress </code>до тех пор, пока не произойдёт событие <code>keyup</code>; внутриинтервальные события <code>keydown </code>не отправляются.</dd> + <dt>Linux</dt> + <dd>Поведение событий зависит от конкретной платформы. Они могут иметь как Windows-тип и Mac-тип, так и свои собственные модели поведения.</dd> +</dl> + +<p class="note"><strong>Замечание: </strong>при вызове события вручную <em>не </em>происходит никакого действия по умолчанию, связанного с данным событием. Например, если вызвать вручную событие нажатия клавиши, то никакая буква на поле вводимого текста не появится. В случае событий пользовательского интерфейса, что важно по соображениям безопасности, это предотвращает работу скриптов в браузере, которые эмулируют работу пользователя.</p> + +<h2 id="Пример">Пример</h2> + +<pre class="brush: js"><!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> +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName('DOM3 Events', '#interface-keyboardevent', 'KeyboardEvent')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Первоначальное определение</td> + </tr> + </tbody> +</table> + +<p>Спецификация интерфейса <code>KeyboardEvent</code> прошла многочисленные черновые варианты, сперва в 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()")}}.</p> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td>constructor</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoDesktop("31.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.char</code></td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>9</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.charCode</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>.isComposing</code></td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoDesktop("31.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.keyCode</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>.locale</code></td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.location</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoDesktop("15.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.repeat</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoDesktop("28.0")}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.which</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td><code>.initKeyboardEvent()</code></td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}<sup>[2]</sup></td> + <td>{{CompatIE("9.0")}}<sup>[3]</sup></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}<sup>[1]</sup></td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Возможность</th> + <th>Android</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Базовая поддержка</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td>constructor</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("31.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.char</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.charCode</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.isComposing</code></td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("31.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + <tr> + <td><code>.keyCode</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.locale</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.location</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("15.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.repeat</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("28.0")}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.which</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td><code>.initKeyboardEvent()</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Аргументы функции <code>initKeyboardEvent()</code> в WebKit и в Blink отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: <code>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)</code></p> + +<p>[2] Gecko-движок не будет поддерживать <code>initKeyboardEvent()</code>, потому что её поддержка полностью ломает определение фич вэб-приложений. Смотрите {{Bug(999645)}}.</p> + +<p>[3] Аргументы <code>initKeyboardEvent()</code> в IE отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: <code>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)</code>. Смотрите <a href="http://msdn.microsoft.com/en-us/library/ie/ff975297%28v=vs.85%29.aspx">документ о <code>initKeyboardEvent()</code> на сайте MSDN</a>.</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>{{domxref("KeyboardEvent.code")}}.</li> + <li>{{domxref("KeyboardEvent.key")}}.</li> + <li>{{domxref("KeyboardEvent.getModifierState")}}</li> +</ul> 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 +--- +<p>{{APIRef("События DOM")}}</p> + +<p><span class="seoSummary">Ключ события {{domxref("KeyboardEvent")}} <code><strong>key</strong></code> доступен только для чтения, возвращает значение клавиши, нажатой пользователем, принимая во внимание состояние клавиш-модификаторов, таких как </span><span class="seoSummary"><kbd>Shift</kbd> , а также локаль и раскладку клавиатуры.</span> Его значение определяется следующим образом:</p> + +<div class="moreinfo pull-aside"> +<h4 id="Key_values">Key values</h4> + +<p>See a full list of <a href="/docs/Web/API/KeyboardEvent/key/Key_Values">key values</a>.</p> +</div> + +<ul> + <li>If the pressed key has a printed representation, the returned value is a non-empty Unicode character string containing the printable representation of the key.</li> + <li>If the pressed key is a control or special character, the returned value is one of the <a href="/docs/Web/API/KeyboardEvent/key/Key_Values">pre-defined key values</a>.</li> + <li>If the <code>KeyboardEvent</code> represents the press of a dead key, the key value must be "<code>Dead</code>".</li> + <li>Some specialty keyboard keys (such as the extended keys for controlling media on multimedia keyboards) don't generate key codes on Windows; instead, they trigger <code>WM_APPCOMMAND</code> events. These events get mapped to DOM keyboard events, and are listed among the "Virtual key codes" for Windows, even though they aren't actually key codes.</li> + <li>If the key cannot be identified, the returned value is <code>"Unidentified"</code>.</li> +</ul> + +<h2 id="KeyboardEvent_sequence">KeyboardEvent sequence</h2> + +<p>Every <code>KeyboardEvent</code> is fired in a pre-determined sequence. For a given key press, the sequence of <code>KeyboardEvent</code>s fired is as follows assuming that {{domxref("Event.preventDefault")}} is not called:</p> + +<ol> + <li>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 <code>true</code>.</li> + <li>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.</li> + <li>A {{event("keyup")}} event is fired once the key is released. This completes the process.</li> +</ol> + +<p>In sequence 1 & 3, the <code>KeyboardEvent.key</code> attribute is defined and is set appropriately to a value according to the rules defined ealier.</p> + +<h2 id="KeyboardEvent_sequence_example">KeyboardEvent sequence example</h2> + +<p>Consider the event sequence generated when we interact with the <kbd>Shift</kbd> and the <kbd>2</kbd> key using a U.S keyboard layout as compared to when we do so using a UK keyboard layout.</p> + +<p>Try experimenting using the following two test cases:</p> + +<ol> + <li>Press and hold the <kbd>Shift</kbd> key, then press <kbd>2</kbd> and release it. Next, release the <kbd>Shift</kbd> key.</li> + <li>Press and hold the <kbd>Shift</kbd> key, then press and hold <kbd>2</kbd>. Release the <kbd>Shift</kbd> key. Finally, release <kbd>2</kbd>.</li> +</ol> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: 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> +</pre> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: 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; +} +</pre> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">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; + } +});</pre> + +<h3 id="Result">Result</h3> + +<p>{{EmbedLiveSample('KeyboardEvent_sequence_example')}}</p> + +<div class="blockIndicator note"> +<p><strong>Note:</strong> 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.</p> +</div> + +<h3 id="Case_1">Case 1</h3> + +<p>When the shift key is pressed, a {{event("keydown")}} event is first fired, and the <code>key</code> property value is set to the string <code>"Shift"</code>. As we keep holding this key, the {{event("keydown")}} event does not continue to fire repeatedly because it does not produce a character key.</p> + +<p>When <code>key 2</code> is pressed, another {{event("keydown")}} event is fired for this new key press, and the <code>key</code> property value for the event is set to the string <code>"@"</code> for the U.S keyboard type and <code>"""</code> for the UK keyboard type, because of the active modifier <code>shift</code> key. The {{event("beforeinput")}} and {{event("input")}} events are fired next because a character key has been produced.</p> + +<p>As we release the <code>key 2</code>, a {{event("keyup")}} event is fired and the <code>key</code> property will maintain the string values <code>"@"</code> and <code>"""</code> for the different keyboard layouts respectively.</p> + +<p>As we finally release the <code>shift</code> key, another {{event("keyup")}} event is fired for it, and the key attribute value remains <code>"Shift"</code>.</p> + +<h3 id="Case_2">Case 2</h3> + +<p>When the shift key is pressed, a {{event("keydown")}} event is first fired, and the <code>key</code> property value is set to be the string <code>"Shift"</code>. As we keep holding this key, the keydown event does not continue to fire repeatedly because it produced no character key.</p> + +<p>When <code>key 2</code> is pressed, another {{event("keydown")}} event is fired for this new key press, and the <code>key</code> property value for the event is set to be the string <code>"@"</code> for the U.S keyboard type and <code>"""</code> for the UK keyboard type, because of the active modifier <code>shift</code> 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 <code>true</code>. The {{event("beforeinput")}} and {{event("input")}} events are fired repeatedly as well.</p> + +<p>As we release the <code>shift</code> key, a {{event("keyup")}} event is fired for it, and the key attribute value remains <code>"Shift"</code>. At this point, notice that the <code>key</code> property value for the repeating keydown event of the <code>key 2</code> key press is now "2" because the modifier <code>shift</code> key is no longer active. The same goes for the {{domxref("InputEvent.data")}} property of the {{event("beforeinput")}} and {{event("input")}} events.</p> + +<p>As we finally release the <code>key 2</code>, a {{event("keyup")}} event is fired but the <code>key</code> property will be set to the string value <code>"2"</code> for both keyboard layouts because the modifier <code>shift</code> key is no longer active.</p> + +<h2 id="Example">Example</h2> + +<p>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).</p> + +<pre class="brush: js">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); +</pre> + +<h2 id="Specification">Specification</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('DOM3 Events', '#widl-KeyboardEvent-key', 'KeyboardEvent.key')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Initial definition, included key values.</td> + </tr> + <tr> + <td>{{SpecName('UI Events', '#dom-keyboardevent-key', 'KeyboardEvent.key')}}</td> + <td>{{Spec2('UI Events')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + + + +<p>{{Compat("api.KeyboardEvent.key")}}</p> 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 +--- +<p>В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этота клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространенных платформ включены там, где они доступны.</p> + +<div class="pull-aside"> +<div class="moreinfo">Узнайте, как использовать эти пары "ключ-значение" в JavaScript с помощью <a href="/docs/Web/API/KeyboardEvent/key">KeyboardEvent.key</a></div> +</div> + +<p><a href="#Special_values">Special Values </a>| <a href="#Modifier_keys">Modifier Keys</a> | <a href="#Whitespace_keys">Whitespace Keys</a> | <a href="#Navigation_keys">Navigation Keys</a> | <a href="#Editing_keys">Editing Keys</a> | <a href="#UI_keys">UI Keys</a> | <a href="#Device_keys">Device Keys</a> | <a href="#IME_and_composition_keys">IME and Composition Keys</a> | <a href="#Function_keys">Function Keys</a> | <a href="#Phone_keys">Phone Keys</a> | <a href="#Multimedia_keys">Multimedia Keys</a> | <a href="#Audio_control_keys">Audio Control Keys</a> | <a href="#TV_control_keys">TV Control Keys</a> | <a href="#Media_controller_keys">Media Controller Keys</a> | <a href="#Speech_recognition_keys">Speech Recognition Keys</a> | <a href="#Document_keys">Document Keys</a> | <a href="#Application_selector_keys">Application Selector Keys</a> | <a href="#Browser_control_keys">Browser Control Keys</a> | <a href="#Numeric_keypad_keys">Numeric Keypad Keys</a></p> + +<h2 id="Специальные_значения">Специальные значения</h2> + +<p>Значения клавиш имеющих особое значение, кроме идентификации определенной клавиши или символа.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"Unidentified"</code></td> + <td> + <p>Пользовательский агент не смог сопоставить виртуальный клавиатурный код события с определенным значением клавиши.</p> + + <p>Это может произойти из-за аппаратных или программных ограничений или из-за ограничений платформы, на которой работает пользовательский агент.</p> + </td> + <td><em>разное</em></td> + <td><em>разное</em></td> + <td><em>разное</em></td> + <td><em>разное</em></td> + </tr> + </tbody> +</table> + +<h2 id="Клавиши-модификаторы">Клавиши-модификаторы</h2> + +<p>Специальные клавиши-модификаторы, которые используются для генерации специальных символов или вызывают особые действия при использовании в сочетании с другими клавишами. Например: <kbd>Shift</kbd> и <kbd>Control</kbd> , или lock-клавиши, такие как <kbd>Caps Lock</kbd> и <kbd>NumLock</kbd>.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"Alt"</code> [5]</td> + <td><kbd><font face="Arial, x-locale-body, sans-serif"><span style="background-color: rgba(212, 221, 228, 0.25); font-size: 16px; font-weight: 400; white-space: normal;">Клавиша </span></font>Alt</kbd> (Alternative) .</td> + <td><code>VK_MENU</code> (0x12)<br> + <code>VK_LMENU</code> (0xA4)<br> + <code>VK_RMENU</code> (0xA5)</td> + <td><code>kVK_Option</code> (0x3A)<br> + <code>kVK_RightOption</code> (0x3D)</td> + <td><code>GDK_KEY_Alt_L</code> (0xFFE9)<br> + <code>GDK_KEY_Alt_R</code> (0xFFEA)<br> + <code>Qt::Key_Alt</code> (0x01000023)</td> + <td><code>KEYCODE_ALT_LEFT</code> (57)<br> + <code>KEYCODE_ALT_RIGHT</code> (58)</td> + </tr> + <tr> + <td><code>"AltGraph"</code> [5]</td> + <td>Клавиша<kbd>AltGr</kbd> или <kbd>AltGraph</kbd> (Альтернативная графика). Enables the ISO Level 3 shift modifier (where <kbd>Shift</kbd> is the level 2 modifier).</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Mode_switch</code> (0xFF7E)<br> + <code>GDK_KEY_ISO_Level3_Shift</code> (0xFE03)<br> + <code>GDK_KEY_ISO_Level3_Latch</code> (0xFE04)<br> + <code>GDK_KEY_ISO_Level3_Lock</code> (0xFE05)<br> + <code>GDK_KEY_ISO_Level5_Shift</code> (0xFE11)<br> + <code>GDK_KEY_ISO_Level5_Latch</code> (0xFE12)<br> + <code>GDK_KEY_ISO_Level5_Lock</code> (0xFE13)<br> + <code>Qt::Key_AltGr</code> (0x01001103<br> + <code>Qt::Key_Mode_switch</code> (0x0100117E)</td> + <td></td> + </tr> + <tr> + <td><code>"CapsLock"</code></td> + <td>Клавиша <kbd>Caps Lock</kbd> . Включает и выключает блокировку заглавных букв для последующего ввода.</td> + <td><code>VK_CAPITAL</code> (0x14)</td> + <td><code>kVK_CapsLock</code> (0x39)</td> + <td><code>GDK_KEY_Caps_Lock</code> (0xFFE5)<br> + <code>Qt::Key_CapsLock</code> (0x01000024)</td> + <td><code>KEYCODE_CAPS_LOCK</code> (115)</td> + </tr> + <tr> + <td><code>"Control"</code></td> + <td>Клавиша <kbd>Control</kbd>, <kbd>Ctrl</kbd>, или <kbd>Ctl</kbd> . Позволяет вводить управляющие символы.</td> + <td><code>VK_CONTROL</code> (0x11)<br> + <code>VK_LCONTROL</code> (0xA2)<br> + <code>VK_RCONTROL</code> (0xA3)</td> + <td><code>kVK_Control</code> (0x3B)<br> + <code>kVK_RightControl</code> (0x3E)</td> + <td><code>GDK_KEY_Control_L</code> (0xFFE3)<br> + <code>GDK_KEY_Control_R</code> (0xFFE4)<br> + <code>Qt::Key_Control</code> (0x01000021)</td> + <td><code>KEYCODE_CTRL_LEFT</code> (113)<br> + <code>KEYCODE_CTRL_RIGHT</code> (114)</td> + </tr> + <tr> + <td><code>"Fn"</code></td> + <td> <kbd>Fn</kbd> (Function modifier) key. Используется для создания функциональной клавиши (<kbd>F1</kbd>–<kbd>F15</kbd>, например) символы на клавиатуре без выделенной области функциональных клавиш.Часто обрабатывается аппаратно, поэтому для этой клавиши не создаются события.</td> + <td></td> + <td><code>kVK_Function</code> (0x3F)</td> + <td></td> + <td><code>KEYCODE_FUNCTION</code> (119)</td> + </tr> + <tr> + <td><code>"FnLock"</code></td> + <td>Клавиша <kbd>FnLock</kbd> или <kbd>F-Lock</kbd> (Function Lock) .Переключает режим функциональных клавиш, описанный<code>"Fn"</code> вкл. и выкл. Часто обрабатывается аппаратно, поэтому для этой клавиши не создаются события.</td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Hyper"</code> [4]</td> + <td>Клавиша <kbd>Hyper</kbd> .</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Hyper_L</code> (0xFFED)<br> + <code>GDK_KEY_Hyper_R</code> (0xFFEE)<br> + <code>Qt::Key_Hyper_L</code> (0x01000056)<br> + <code>Qt::Key_Hyper_R</code> (0x01000057)</td> + <td></td> + </tr> + <tr> + <td><code>"Meta"</code> [1]</td> + <td>Клавиша <kbd>Meta</kbd> . Позволяет вводить специальные команды. Это клавиши с лого <kbd>Windows</kbd> , или<kbd>Command</kbd> или <kbd>⌘</kbd> на клавиатуре Mac .</td> + <td><code>VK_LWIN</code> (0x5B)<br> + <code>VK_RWIN</code> (0x5C)</td> + <td><code>kVK_Command</code> (0x37)<br> + <code>kVK_RightCommand</code> (0x36)</td> + <td><code>GDK_KEY_Meta_L</code> (0xFFE7)<br> + <code>GDK_KEY_Meta_R</code> (0xFFE8)<br> + <code>Qt::Key_Meta</code> (0x01000022)</td> + <td><code>KEYCODE_META_LEFT</code> (117)<br> + <code>KEYCODE_META_RIGHT</code> (118)</td> + </tr> + <tr> + <td><code>"NumLock"</code></td> + <td>Клавиша <kbd>NumLock</kbd> (Number Lock). Переключает цифровую клавиатуру между вводом номера и другим режимом (часто стрелки направления).</td> + <td><code>VK_NUMLOCK</code> (0x90)</td> + <td></td> + <td><code>GDK_KEY_Num_Lock</code> (0xFF7F)<br> + <code>Qt::Key_NumLock</code> (0x01000025)</td> + <td><code>KEYCODE_NUM_LOCK</code> (143)</td> + </tr> + <tr> + <td><code>"ScrollLock"</code> [2]</td> + <td>Клавиша<kbd>Scroll Lock</kbd> Перекключает между режимами прокрутки и перемещения курсора.</td> + <td><code>VK_SCROLL</code> (0x91)</td> + <td></td> + <td><code>GDK_KEY_Scroll_Lock</code> (0xFF14)<br> + <code>Qt::Key_ScrollLock</code> (0x01000026)</td> + <td><code>KEYCODE_SCROLL_LOCK</code> (116)</td> + </tr> + <tr> + <td><code>"Shift"</code></td> + <td>Клавиша <kbd>Shift</kbd>. <span class="tlid-translation translation" lang="ru"><span title="">Изменяет нажатия клавиш, чтобы разрешить ввод букв в верхнем (или другом) регистре, а также для поддержки ввода знаков препинания и других специальных символов.</span></span></td> + <td><code>VK_SHIFT</code> (0x10)<br> + <code>VK_LSHIFT</code> (0xA0)<br> + <code>VK_RSHIFT</code> (0xA1)</td> + <td><code>kVK_Shift</code> (0x38)<br> + <code>kVK_RightShift</code> (0x3C)</td> + <td><code>GDK_KEY_Shift_L</code> (0xFFE1)<br> + <code>GDK_KEY_Shift_R</code> (0xFFE2)<br> + <code>Qt::Key_Shift</code> (0x01000020)</td> + <td><code>KEYCODE_SHIFT_LEFT</code> (59)<br> + <code>KEYCODE_SHIFT_RIGHT</code> (60)</td> + </tr> + <tr> + <td><code>"Super"</code> [4]</td> + <td>Клавиша <kbd>Super</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Super_L</code> (0xFFEB)<br> + <code>GDK_KEY_Super_R</code> (0xFFEC)<br> + <code>Qt::Key_Super_L</code> (0x01000053)<br> + <code>Qt::Key_Super_R</code> (0x01000054)</td> + <td></td> + </tr> + <tr> + <td><code>"Symbol"</code></td> + <td>Клавиша-модификатор <kbd>Symbol</kbd> <span class="tlid-translation translation" lang="ru"><span title="">(есть на некоторых виртуальных клавиатурах).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_SYM</code> (63) [3]</td> + </tr> + <tr> + <td><code>"SymbolLock"</code></td> + <td>Клавиша <kbd>Symbol Lock</kbd></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] В Internet Explorer (проверено на релизах 9 и 11), а также во всех версиях Firefox, клавиша <kbd>Windows</kbd> сообщается как <code>"OS"</code> а не <code>"Meta"</code>. Это будет изменено в Firefox в {{bug(1232918)}}. Пока это не будет исправлено, эти ключи возвращаются как <code>"OS"</code> в Firefox: <code>VK_LWIN</code> (0x5B) и <code>VK_RWIN</code> (0x5C) в Windows, и <code><code>GDK_KEY_Super_L</code> (0xFFEB)</code>, <code><code>GDK_KEY_Super_R</code> (0xFFEC)</code>, <code><code>GDK_KEY_Hyper_L</code> (0xFFED)</code>, и <code><code>GDK_KEY_Hyper_R</code> (0xFFEE)</code> в Linux.</p> + +<p>[2] Internet Explorer (проверено на релизах 9 и 11) сообщает <code>"Scroll"</code> вместо<code> "ScrollLock"</code> для клавиши <kbd>Scroll Lock</kbd>.</p> + +<p>[3] Firefox не поддерживает клавишу <kbd>Symbol</kbd> до версии Firefox 37.</p> + +<p>[4] <span class="tlid-translation translation" lang="ru"><span title="">Firefox генерирует значение ключа</span></span> <code>"OS</code>" для клавиш <kbd>Super</kbd> и <kbd>Hyper</kbd> вместо <code>"Super"</code> и <code>"Hyper"</code>.</p> + +<p>[5] Chrome 67 и Firefox 63 <span class="tlid-translation translation" lang="ru"><span title="">теперь правильно интерпретируют правую клавишу</span></span> <kbd>Alt</kbd> <span class="tlid-translation translation" lang="ru"><span title="">для раскладок клавиатуры, которые сопоставляют эту клавишу с</span></span> <kbd>AltGr</kbd>. <span class="tlid-translation translation" lang="ru"><span title="">См. Дополнительные сведения об ошибке</span></span> {{bug(900750)}} и <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=25503">Chrome bug 25503</a> для подробных деталей.</p> + +<h2 id="Пробельные_клавиши">Пробельные клавиши</h2> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"Enter"</code></td> + <td>Клавиша <kbd>Enter</kbd> или<kbd>↵</kbd> (иногда помечается как <kbd>Return</kbd>).</td> + <td><code>VK_RETURN</code> (0x0D)</td> + <td><code>kVK_Return</code> (0x24)<br> + <code>kVK_ANSI_KeypadEnter</code> (0x4C)<br> + <code>kVK_Powerbook_KeypadEnter</code> (0x34)</td> + <td><code><code>GDK_KEY_Return</code> (0xFF0D)</code><br> + <code><code>GDK_KEY_KP_Enter</code> (0xFF8D)</code><br> + <code><code>GDK_KEY_ISO_Enter</code> (0xFE34)</code><br> + <code><code>GDK_KEY_3270_Enter</code> (0xFD1E)</code><br> + <code>Qt::Key_Return</code> (0x01000004)<br> + <code>Qt::Key_Enter</code> (0x01000005)</td> + <td><code>KEYCODE_ENTER</code> (66)<br> + <code>KEYCODE_NUMPAD_ENTER</code> (160)<br> + <code>KEYCODE_DPAD_CENTER</code> (23)</td> + </tr> + <tr> + <td><code>"Tab"</code></td> + <td>Горизонтальная табуляция, <kbd>Tab</kbd>.</td> + <td><code>VK_TAB</code> (0x09)</td> + <td><code>kVK_Tab</code> (0x30)</td> + <td><code><code>GDK_KEY_Tab</code> (0xFF09)</code><br> + <code><code>GDK_KEY_KP_Tab</code> (0xFF89)<br> + GDK_KEY_ISO_Left_Tab</code> (0xFE20)<br> + <code>Qt::Key_Tab</code> (0x01000001)</td> + <td><code>KEYCODE_TAB</code> (61)</td> + </tr> + <tr> + <td><code>" "</code> [1]</td> + <td>Пробел, <kbd>Space Bar</kbd>.</td> + <td><code>VK_SPACE</code> (0x20)</td> + <td><code>kVK_Space</code> (0x31)</td> + <td> + <p><code>GDK_KEY_space</code> (0x20)<br> + <code>GDK_KEY_KP_Space</code> (0xFF80)<br> + <code>Qt::Key_Space</code> (0x20)</p> + </td> + <td><code>KEYCODE_SPACE</code> (62)</td> + </tr> + </tbody> +</table> + +<p>[1] Старые браузеры могут вернуть <code>"Spacebar"</code> вместо <code>" "</code> для клавиши <kbd>Space Bar</kbd> . Firefox делал это до версии 37, как в Internet Explorer 9, 10, и 11.</p> + +<h2 id="Навигационные_клавиши">Навигационные клавиши</h2> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"ArrowDown"</code> [1]</td> + <td>Клавиша со стрелкой "вниз".</td> + <td><code>VK_DOWN</code> (0x28)</td> + <td><code>kVK_DownArrow</code> (0x7D)</td> + <td><code>GDK_KEY_Down</code> (0xFF54)<br> + <code>GDK_KEY_KP_Down</code> (0xFF99)<br> + <code>Qt::Key_Down</code> (0x01000015)</td> + <td><code>KEYCODE_DPAD_DOWN</code> (20)</td> + </tr> + <tr> + <td><code>"ArrowLeft"</code> [1]</td> + <td>Клавиша со стрелкой "влево" .</td> + <td><code>VK_LEFT</code> (0x25)</td> + <td><code>kVK_LeftArrow</code> (0x7B)</td> + <td><code>GDK_KEY_Left</code> (0xFF51)<br> + <code>GDK_KEY_KP_Left</code> (0xFF96)<br> + <code>Qt::Key_Left</code> (0x01000012)</td> + <td><code>KEYCODE_DPAD_LEFT</code> (21)</td> + </tr> + <tr> + <td><code>"ArrowRight"</code> [1]</td> + <td>Клавиша со стрелкой "вправо".</td> + <td><code>VK_RIGHT</code> (0x27)</td> + <td><code>kVK_RightArrow</code> (0x7C)</td> + <td><code>GDK_KEY_Right</code> (0xFF53)<br> + <code>GDK_KEY_KP_Right</code> (0xFF98)<br> + <code>Qt::Key_Right</code> (0x01000014)</td> + <td><code>KEYCODE_DPAD_RIGHT</code> (22)</td> + </tr> + <tr> + <td><code>"ArrowUp"</code> [1]</td> + <td>Клавиша со стрелкой "вверх".</td> + <td><code>VK_UP</code><code> (0x26)</code></td> + <td><code>kVK_UpArrow</code> (0x7E)</td> + <td><code>GDK_KEY_Up</code> (0xFF52)<br> + <code>GDK_KEY_KP_Up</code> (0xFF97)<br> + <code>Qt::Key_Up</code> (0x01000013)</td> + <td><code>KEYCODE_DPAD_UP</code> (19)</td> + </tr> + <tr> + <td><code>"End"</code></td> + <td>Клавиша <kbd>End</kbd> . Перемещает в конец контента.</td> + <td><code>VK_END</code> (0x23)</td> + <td><code>kVK_End</code> (0x77)</td> + <td><code>GDK_KEY_End</code> (0xFF57)<br> + <code>GDK_KEY_KP_End</code> (0xFF9C)<br> + <code>Qt::Key_End</code> (0x01000011)</td> + <td><code>KEYCODE_MOVE_END</code> (123)</td> + </tr> + <tr> + <td><code>"Home"</code></td> + <td>Клавиша <kbd>Home</kbd> . В начало контента.</td> + <td><code>VK_HOME</code> (0x24)</td> + <td><code>kVK_Home</code> (0x73)</td> + <td><code>GDK_KEY_Home</code> (0xFF50)<br> + <code>GDK_KEY_KP_Home</code> (0xFF95)<br> + <code>Qt::Key_Home</code> (0x01000010)</td> + <td><code>KEYCODE_MOVE_HOME</code> (122)</td> + </tr> + <tr> + <td><code>"PageDown"</code></td> + <td>Клавиша <kbd>Page Down</kbd> (или <kbd>PgDn</kbd>). <span class="tlid-translation translation" lang="ru"><span title="">Прокручивает вниз или отображает следующую страницу содержимого.</span></span></td> + <td><code>VK_NEXT</code> (0x22)</td> + <td><code>kVK_PageDown</code><code> (0x79)</code></td> + <td><code>GDK_KEY_Page_Down</code> (0xFF56)<br> + <code>GDK_KEY_KP_Page_Down</code> (0xFF9B)<br> + <code>Qt::Key_PageDown</code> (0x01000017)</td> + <td><code>KEYCODE_PAGE_DOWN</code> (93)</td> + </tr> + <tr> + <td><code>"PageUp"</code></td> + <td>Клавиша <kbd>Page Up</kbd> (или <kbd>PgUp</kbd>). <span class="tlid-translation translation" lang="ru"><span title="">Прокручивает вверх или отображает предыдущую страницу содержимого.</span></span></td> + <td><code>VK_PRIOR</code> (0x21)</td> + <td><code>kVK_PageUp</code> (0x74)</td> + <td><code>GDK_KEY_Page_Up</code> (0xFF55)<br> + <code>GDK_KEY_KP_Page_Up</code> (0xFF9A)<br> + <code>Qt::Key_PageUp</code> (0x01000016)</td> + <td><code>KEYCODE_PAGE_UP</code> (92)</td> + </tr> + </tbody> +</table> + +<p>[1] Internet Explorer, Edge (16 и ранее), и Firefox (36 и ранее) используют <code>"Left"</code>, <code>"Right"</code>, <code>"Up"</code>, и <code>"Down"</code> вместо <code>"ArrowLeft"</code>, <code>"ArrowRight"</code>, <code>"ArrowUp"</code>, и <code>"ArrowDown"</code>.</p> + +<h2 id="Клавиши_редактирования">Клавиши редактирования</h2> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"Backspace"</code></td> + <td>The <kbd>Backspace</kbd> key. This key is labeled <kbd>Delete</kbd> on Mac keyboards.</td> + <td><code>VK_BACK</code> (0x08)</td> + <td><code>kVK_Delete</code> (0x33)</td> + <td><code>GDK_KEY_BackSpace</code> (0xFF08)<br> + <code>Qt::Key_Backspace</code> (0x01000003)</td> + <td><code>KEYCODE_DEL</code> (67)</td> + </tr> + <tr> + <td><code>"Clear"</code></td> + <td>The <kbd>Clear</kbd> key. Removes the currently selected input.</td> + <td><code>VK_CLEAR</code> (0x0C)<br> + <code>VK_OEM_CLEAR</code> (0xFE)</td> + <td><code>kVK_ANSI_KeypadClear</code> (0x47)</td> + <td><code>GDK_KEY_Clear</code> (0xFF0B)<br> + <code>Qt::Key_Clear</code> (0x0100000B)</td> + <td><code>KEYCODE_CLEAR</code> (28)</td> + </tr> + <tr> + <td><code>"Copy"</code></td> + <td>The <kbd>Copy</kbd> key (on certain extended keyboards).</td> + <td><code>APPCOMMAND_COPY</code></td> + <td></td> + <td><code>GDK_KEY_Copy</code> (0x1008FF57)<br> + <code>Qt::Key_Copy</code> (0x010000CF)</td> + <td></td> + </tr> + <tr> + <td><code>"CrSel"</code> [3]</td> + <td>The Cursor Select key, <kbd>CrSel</kbd>.</td> + <td><code>VK_CRSEL</code> (0xF7)</td> + <td></td> + <td><code>GDK_KEY_3270_CursorSelect</code> (0xFD1C)</td> + <td></td> + </tr> + <tr> + <td><code>"Cut"</code></td> + <td>The <kbd>Cut</kbd> key (on certain extended keyboards).</td> + <td><code>APPCOMMAND_CUT</code></td> + <td></td> + <td><code>GDK_KEY_Cut</code> (0x1008FF58)<br> + <code>Qt::Key_Cut</code> (0x010000D0)</td> + <td></td> + </tr> + <tr> + <td><code>"Delete"</code> [2]</td> + <td>Клавиша Delete, <kbd>Del</kbd>.</td> + <td><code>VK_DELETE</code> (0x2E)</td> + <td><code>kVK_ForwardDelete</code> (0x75) [1]</td> + <td><code>GDK_KEY_Delete</code> (0xFFFF)<br> + <code>GDK_KEY_KP_Delete</code> (0xFF9F)<br> + <code>Qt::Key_Delete</code> (0x01000007)</td> + <td><code>KEYCODE_FORWARD_DEL</code> (112)</td> + </tr> + <tr> + <td><code>"EraseEof"</code></td> + <td>Erase to End of Field. Deletes all characters from the current cursor position to the end of the current field.</td> + <td><code>VK_EREOF</code> (0xF9)</td> + <td></td> + <td><code>GDK_KEY_3270_ExSelect</code> (0xFD1B)</td> + <td></td> + </tr> + <tr> + <td><code>"ExSel"</code> [4]</td> + <td>The <kbd>ExSel</kbd> (Extend Selection) key.</td> + <td><code>VK_EXSEL</code> (0xF8)</td> + <td></td> + <td><code>GDK_KEY_3270_ExSelect</code> (0xFD1B)</td> + <td></td> + </tr> + <tr> + <td><code>"Insert"</code></td> + <td>The Insert key, <kbd>Ins</kbd>. Toggles between inserting and overwriting text.</td> + <td><code>VK_INSERT</code> (0x2D)</td> + <td></td> + <td><code>GDK_KEY_Insert</code> (0xFF63)<br> + <code>GDK_KEY_KP_Insert</code> (0xFF9E)<br> + <code>Qt::Key_Insert</code> (0x01000006)</td> + <td><code>KEYCODE_INSERT</code> (124)</td> + </tr> + <tr> + <td><code>"Paste"</code></td> + <td>Paste from the clipboard.</td> + <td><code>APPCOMMAND_PASTE</code></td> + <td></td> + <td><code>GDK_KEY_Paste</code> (0x1008FF6D)<br> + <code>Qt::Key_Paste</code> (0x010000E2)</td> + <td></td> + </tr> + <tr> + <td><code>"Redo"</code></td> + <td>Redo the last action.</td> + <td><code>APPCOMMAND_REDO</code></td> + <td></td> + <td><code>GDK_KEY_Redo</code> (0xFF66)</td> + <td></td> + </tr> + <tr> + <td><code>"Undo"</code></td> + <td>Undo the last action.</td> + <td><code>APPCOMMAND_UNDO</code></td> + <td></td> + <td><code>GDK_KEY_Undo</code> (0xFF65)</td> + <td></td> + </tr> + </tbody> +</table> + +<p>[1] On keyboards without a dedicated <kbd>Del</kbd> key, the Mac generates the <code>"Delete"</code> value when <kbd>Fn</kbd> is pressed in tandem with <kbd>Delete</kbd> (which is <kbd>Backspace</kbd> on other platforms).</p> + +<p>[2] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier use <code>"Del"</code> instead of <code>"Delete"</code> for the <kbd>Del</kbd> key.</p> + +<p>[3] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier generate the value <code>"Crsel"</code> instead of <code>"CrSel"</code> when the <kbd>CrSel</kbd> key is pressed.</p> + +<p>[4] Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier generate the value <code>"Exsel"</code> instead of <code>"ExSel"</code> when the <kbd>ExSel</kbd> key is pressed.</p> + +<h2 id="Клавиши_интерфейса_пользователя_UI">Клавиши интерфейса пользователя (UI)</h2> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"Accept"</code></td> + <td>Клавиша или кнопка <kbd>Accept</kbd>, <kbd>Commit</kbd>, или <kbd>OK</kbd>. Accepts the currently selected option or input method sequence conversion.</td> + <td><code>VK_ACCEPT</code> (0x1E)</td> + <td></td> + <td></td> + <td><code>KEYCODE_DPAD_CENTER</code> (23)</td> + </tr> + <tr> + <td><code>"Again"</code></td> + <td>The <kbd>Again</kbd> key. Перевыполняет или повторяет предыдущее действие.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Redo</code> (0xFF66)</td> + <td></td> + </tr> + <tr> + <td><code>"Attn"</code> [4]</td> + <td>Клавиша "Внимание" <kbd>Attn</kbd>.</td> + <td><code>VK_OEM_ATTN</code> (0xF0)</td> + <td></td> + <td><code>GDK_KEY_3270_Attn</code> (0xFD0E)</td> + <td></td> + </tr> + <tr> + <td><code>"Cancel"</code> [1]</td> + <td>Клавиша отмены <kbd>Cancel</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Cancel</code> (0xFF69)</td> + <td></td> + </tr> + <tr> + <td><code>"ContextMenu"</code> [3]</td> + <td>Отображает контекстное меню. Обычно находится между клавишами <kbd>Windows</kbd> (или <kbd>OS</kbd>) и <kbd>Control</kbd> на правой стороне клавиатуры.</td> + <td><code>VK_APPS</code> (0x5D)</td> + <td><code>kVK_PC_ContextMenu</code> (0x6E)</td> + <td><code>GDK_KEY_Menu</code> (0xFF67)<br> + <code>Qt::Key_Menu</code> (0x01000055)</td> + <td><code>KEYCODE_MENU</code> (82)</td> + </tr> + <tr> + <td><code>"Escape"</code> [2]</td> + <td>Клавиша отмены <kbd>Esc</kbd>. Обычно используется для выходы, отмены, ил выхода из текущей операции. Исторически Escape-символ использовался для подачи сигнала о начале специальной управляющей последовательности символов, называемой "escape-последовательностью".</td> + <td><code>VK_ESCAPE</code> (0x1B)</td> + <td><code>kVK_Escape</code> (0x35)</td> + <td><code>GDK_KEY_Escape</code> (0xFF1B)<br> + <code>Qt::Key_Escape</code> (0x01000000)</td> + <td><code>KEYCODE_ESCAPE</code> (111)</td> + </tr> + <tr> + <td><code>"Execute"</code></td> + <td>Клавиша "Выполнить" <kbd>Execute</kbd>.</td> + <td><code>VK_EXECUTE</code> (0x2B)</td> + <td></td> + <td><code>Qt::Key_Execute</code> (0x01020003)</td> + <td></td> + </tr> + <tr> + <td><code>"Find"</code></td> + <td>Клавиша "Найти" <kbd>Find</kbd>. Открывает интерфейс (обычно диалоговое окно) для выполнения операции поиска.</td> + <td><code>APPCOMMAND_FIND</code></td> + <td></td> + <td><code>GDK_KEY_Find</code> (0xFF68)</td> + <td></td> + </tr> + <tr> + <td><code>"Finish"</code> [5]</td> + <td>Клавиша завершения <kbd>Finish</kbd>.</td> + <td><code>VK_OEM_FINISH</code> (0xF1)</td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Help"</code></td> + <td>Клавиша помощи <kbd>Help</kbd>. Открывает или переключает отображение справочной информации.</td> + <td><code>VK_HELP</code> (0x2F)<br> + <code>APPCOMMAND_HELP</code></td> + <td><code>kVK_Help</code> (0x72)</td> + <td><code>GDK_KEY_Help</code> (0xFF6A)<br> + <code>Qt::Key_Help</code> (0x01000058)</td> + <td><code>KEYCODE_HELP</code> (259)</td> + </tr> + <tr> + <td><code>"Pause"</code></td> + <td>Клавиша паузы <kbd>Pause</kbd>. Приостанавливает текущее приложение или состояние, если это применимо. + <div class="note"><strong>Заметка:</strong> Не следует путать с клавишей <code>"MediaPause"</code> , которая используется для медиа-контроллеров, а не для управления приложениями и процессами.</div> + </td> + <td><code>VK_PAUSE</code> (0x13)</td> + <td></td> + <td><code>GDK_KEY_Pause</code> (0xFF13)<br> + <code>GDK_KEY_Break</code> (0xFF6B)<br> + <code>Qt::Key_Pause</code> (0x01000008)</td> + <td><code>KEYCODE_BREAK</code> (121)</td> + </tr> + <tr> + <td><code>"Play"</code></td> + <td>Клавиша <kbd>Play</kbd> . Если применимо, возобновляет ранее приостановленное приложение. + <div class="note"><strong>Заметка:</strong> Не следует путать с клавишей<code>"MediaPlay"</code> которая используется для медиа-контроллеров, а не для управления приложениями и процессами.</div> + </td> + <td><code>VK_PLAY</code> (0xFA)</td> + <td></td> + <td><code>GDK_KEY_3270_Play</code> (0xFD16)<br> + <code>Qt::Key_Play</code> (0x01020005)</td> + <td></td> + </tr> + <tr> + <td><code>"Props"</code></td> + <td>Клавиша "Свойства" <kbd>Props</kbd>.</td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Select"</code></td> + <td>Клавиша выбора/выделения <kbd>Select</kbd>.</td> + <td><code>VK_SELECT</code> (0x29)</td> + <td></td> + <td><code>GDK_KEY_Select</code> (0xFF60)</td> + <td><code>KEYCODE_BUTTON_SELECT</code> (109)</td> + </tr> + <tr> + <td><code>"ZoomIn"</code> [6]</td> + <td>Клавиша увеличения масштаба <kbd>ZoomIn</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ZoomIn</code> (0x1008FF8B)<br> + <code>Qt::Key_ZoomIn</code> (0x010000F6)</td> + <td><code>KEYCODE_ZOOM_IN</code> (168)</td> + </tr> + <tr> + <td><code>"ZoomOut"</code> [6]</td> + <td>Клавиша уменьшения масштаба <kbd>ZoomOut</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ZoomOut</code> (0x1008FF8C)<br> + <code>Qt::Key_ZoomOut</code> (0x010000F7)</td> + <td><code>KEYCODE_ZOOM_OUT</code> (169)</td> + </tr> + </tbody> +</table> + +<p>[1] В Google Chrome 52, клавиша <kbd>Cancel</kbd> ошибочно возвращает значение <code>"Pause"</code>. Исправлено в Chrome 53. (Смотри подробно в <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612749">Chrome bug 612749</a>.)</p> + +<p>[2] В Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, клавиша <kbd>Esc</kbd> возвращает значение <code>"Esc"</code> вместо <code>"Escape"</code>.</p> + +<p>[3] Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, клавиша контекстного меню возвращает значение <code>"Apps"</code> вместо <code>"ContextMenu"</code>.</p> + +<p>[4] Клавиша <kbd>Attn</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox и Google Chrome происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее <code>"KanaMode"</code>.</p> + +<p>[5] Клавиша <kbd>Finish</kbd> генерирует значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). В Firefox происходит то же, если только не действует японская раскладка клавиатуры, то в этом случае она генерирует вместо нее <code>"Katakana"</code>.</p> + +<p>[6] Firefox не поддерживал клавиши <code>"ZoomIn"</code> и <code>"ZoomOut"</code> до Firefox 37.</p> + +<h2 id="Клавиши_устройства">Клавиши устройства</h2> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"BrightnessDown"</code></td> + <td>Клавиша уменьшения яркости. Обычно используется для уменьшения яркости дисплея.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_MonBrightnessDown</code> (0x1008FF03)<br> + <code>Qt::Key_MonBrightnessDown</code> (0x010000B3)</td> + <td><code>KEYCODE_BRIGHTNESS_DOWN</code> (220)</td> + </tr> + <tr> + <td><code>"BrightnessUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Клавиша увеличения яркости.</span> <span title="">Обычно увеличивает яркость дисплея.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_MonBrightnessUp</code> (0x1008FF02)<br> + <code>Qt::Key_MonBrightnessUp</code> (0x010000B2)</td> + <td><code>KEYCODE_BRIGHTNESS_UP</code> (221)</td> + </tr> + <tr> + <td><code>"Eject"</code></td> + <td>Клавиша извлечения <kbd>Eject</kbd>. Извлекает съемный носитель (или переключает лоток оптического дисковода, открывая и закрывая его).</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Eject</code> (0x1008FF2C)<br> + <code>Qt::Key_Eject</code> (0x010000B9)</td> + <td><code>KEYCODE_MEDIA_EJECT</code> (129)</td> + </tr> + <tr> + <td><code>"LogOff"</code> [2]</td> + <td>Клавиша выход из системы <kbd>LogOff</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_LogOff</code> (0x1008FF61)<br> + <code>Qt::Key_LogOff</code> (0x010000D9)</td> + <td></td> + </tr> + <tr> + <td><code>"Power"</code></td> + <td>Кнопка или клавиша питания <kbd>Power</kbd> для включения и выключения питания. + <div class="note"><strong>Заметка:</strong> Не все системы передают этот ключ агенту пользователя.</div> + </td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_POWER</code> (26)</td> + </tr> + <tr> + <td><code>"PowerOff"</code></td> + <td>Кнопка выключения компьютера <kbd>PowerOff</kbd> или <kbd>PowerDown</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_PowerDown</code> (0x1008FF21)<br> + <code>GDK_KEY_PowerOff</code> (0x1008FF2A)<br> + <code>Qt::Key_PowerDown</code> (0x0100010B)<br> + <code>Qt::Key_PowerOff</code> (0x010000B7)</td> + <td></td> + </tr> + <tr> + <td><code>"PrintScreen"</code></td> + <td>Клавиша <kbd>PrintScreen</kbd> или <kbd>PrtScr</kbd>. Иногда <kbd>SnapShot</kbd>. Делает снимок экрана.</td> + <td><code>VK_SNAPSHOT</code> (0x2C)</td> + <td></td> + <td><code>GDK_KEY_3270_PrintScreen</code> (0xFD1D)<br> + <code>GDK_KEY_Print</code> (0xFF61)<br> + <code>GDK_KEY_Sys_Req</code> (0xFF15)<br> + <code>Qt::Key_Print</code> (0x01000009)<br> + <code>Qt::Key_SysReq</code> (0x0100000A)</td> + <td><code>KEYCODE_SYSRQ</code> (120)</td> + </tr> + <tr> + <td><code>"Hibernate"</code> [2]</td> + <td>Клавиша гибернации <kbd>Hibernate</kbd>. Состояние компьютера сохраняется на диске, а затем выключается; компьютер может быть возвращен в предыдущее состояние путем восстановления сохраненной информации о состоянии.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Hibernate</code> (0x1008FFA8)<br> + <code>Qt::Key_Hibernate</code> (0x01000108)</td> + <td></td> + </tr> + <tr> + <td><code>"Standby"</code> [1]</td> + <td>Клавиша сна <kbd>Standby</kbd>. (Также известна как <kbd>Suspend</kbd> или <kbd>Sleep</kbd>.) Выключает дисплей и переводит компьютер в режим низкого энергопотребления, не выключая его полностью.</td> + <td><code>VK_SLEEP</code> (0x5F)</td> + <td></td> + <td><code>GDK_KEY_Standby</code> (0x1008FF10)<br> + <code>GDK_KEY_Suspend</code> (0x1008FFA7)<br> + <code>GDK_KEY_Sleep</code> (0x1008FF2F)<br> + <code>Qt::Key_Standby</code> (0x01000093)<br> + <code>Qt::Key_Suspend</code> (0x0100010C)<br> + <code>Qt::Key_Sleep</code> (0x01020004)</td> + <td><code>KEYCODE_SLEEP</code> (223)</td> + </tr> + <tr> + <td><code>"WakeUp"</code> [2]</td> + <td>Клавиша пробуждения <kbd>WakeUp</kbd>. Используется для вывода компьютера из режима гибернации или ожидания.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_WakeUp</code> (0x1008FF2B)<br> + <code>Qt::Key_WakeUp</code> (0x010000B8)</td> + <td><code>KEYCODE_WAKEUP</code> (224)</td> + </tr> + </tbody> +</table> + +<p>[1] Клавиша <kbd>Standby</kbd> не поддерживается Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранних, поэтому возвращала <code>"Unidentified"</code>.</p> + +<p>[2] До Firefox 37, эта клавиша генерировала значение <code>"Unidentified"</code>.</p> + +<h2 id="IME_и_клавиши_композиции">IME и клавиши композиции</h2> + +<p>Клавиши, используемые при использовании редактора метода ввода (<a href="https://ru.wikipedia.org/wiki/IME">IME</a>) для ввода текста, который не может быть легко введен с помощью простых нажатий клавиш, например текста на языках, которые имеют больше графем, чем клавиш ввода символов на клавиатуре. Общие примеры включают китайский, японский, корейский и хинди.</p> + +<p>Некоторые клавиши являются общими для нескольких языков, в то время как другие существуют только на клавиатурах, ориентированных на определенные языки. Кроме того, не все клавиатуры имеют все эти клавиши.</p> + +<h4 id="Обычные_IME_клавиши">Обычные IME клавиши</h4> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>"AllCandidates"</code></td> + <td>The <kbd>All Candidates</kbd> key, which starts multi-candidate mode, in which multiple candidates are displayed for the ongoing input.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_MultipleCandidate</code> (0xFF3D<br> + <code>Qt::Key_MultipleCandidate</code> (0x0100113D)</td> + <td></td> + </tr> + <tr> + <td><code>"Alphanumeric"</code></td> + <td>The <kbd>Alphanumeric</kbd> key.</td> + <td><code>VK_OEM_ATTN</code> (0xF0)</td> + <td></td> + <td><code>GDK_KEY_Eisu_Shift</code> (0xFF2F)<br> + <code>GDK_KEY_Eisu_toggle</code> (0xFF30)<br> + <code>Qt::Key_Eisu_Shift</code> (0x0100112f)<br> + <code>Qt::Key_Eisu_toggle</code> (0x01001130)</td> + <td></td> + </tr> + <tr> + <td><code>"CodeInput"</code></td> + <td>The <kbd>Code Input</kbd> key, which enables code input mode, which lets the user enter characters by typing their code points (their Unicode character numbers, typically).</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Codeinput</code> (0xFF37)<br> + <code>Qt::Key_Codeinput</code> (0x01001137)</td> + <td></td> + </tr> + <tr> + <td><code>"Compose"</code></td> + <td>The <kbd>Compose</kbd> key.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Multi_key</code> (0xFF20) [1]<br> + <code>Qt::Key_Multi_key</code> (0x01001120)</td> + <td></td> + </tr> + <tr> + <td><code>"Convert"</code> [4]</td> + <td>The <kbd>Convert</kbd> key, which instructs the IME to convert the current input method sequence into the resulting character.</td> + <td><code>VK_CONVERT</code> (0x1C)</td> + <td></td> + <td><code>GDK_KEY_Henkan</code> (0xFF23)<br> + <code>Qt::Key_Henkan</code> (0x01001123)</td> + <td><code>KEYCODE_HENKAN</code> (214)</td> + </tr> + <tr> + <td><code>"Dead"</code></td> + <td> + <p>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.</p> + + <p>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.</p> + </td> + <td></td> + <td></td> + <td>See {{anch("Dead keycodes for Linux")}} below</td> + <td></td> + </tr> + <tr> + <td><code>"FinalMode"</code></td> + <td>The <kbd>Final</kbd> (Final Mode) key is used on some Asian keyboards to enter final mode when using IMEs.</td> + <td><code>VK_FINAL</code> (0x18)</td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"GroupFirst"</code></td> + <td>Switches to the first character group on an <a href="https://en.wikipedia.org/wiki/ISO/IEC_9995">ISO/IEC 9995 keyboard</a>. 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.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ISO_First_Group</code> (0xFE0C)</td> + <td></td> + </tr> + <tr> + <td><code>"GroupLast"</code></td> + <td>Switches to the last character group on an <a href="https://en.wikipedia.org/wiki/ISO/IEC_9995">ISO/IEC 9995 keyboard</a>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ISO_Last_Group</code> (0xFE0E)</td> + <td></td> + </tr> + <tr> + <td><code>"GroupNext"</code> [4]</td> + <td>Switches to the next character group on an <a href="https://en.wikipedia.org/wiki/ISO/IEC_9995">ISO/IEC 9995 keyboard</a>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ISO_Next_Group</code> (0xFE08)</td> + <td><code>KEYCODE_LANGUAGE_SWITCH</code> (204)</td> + </tr> + <tr> + <td><code>"GroupPrevious"</code></td> + <td>Switches to the previous character group on an <a href="https://en.wikipedia.org/wiki/ISO/IEC_9995">ISO/IEC 9995 keyboard</a>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ISO_Prev_Group</code> (0xFE0A)</td> + <td></td> + </tr> + <tr> + <td><code>"ModeChange"</code> [5]</td> + <td>The Mode Change key. Toggles or cycles among input modes of IMEs.</td> + <td><code>VK_MODECHANGE</code> (0x1F)</td> + <td></td> + <td><code>GDK_KEY_Mode_switch</code> (0xFF7E)<br> + <code>GDK_KEY_script_switch</code> (0xFF7E)<br> + <code>Qt::Key_Mode_switch</code> (0x0100117E)</td> + <td><code>KEYCODE_SWITCH_CHARSET</code> (95)</td> + </tr> + <tr> + <td><code>"NextCandidate"</code></td> + <td>The Next Candidate function key. Selects the next possible match for the ongoing input.</td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"NonConvert"</code> [2]</td> + <td>The <kbd>NonConvert</kbd> ("Don't convert") key. This accepts the current input method sequence without running conversion when using an IME.</td> + <td><code>VK_NONCONVERT</code> (0x1D)</td> + <td></td> + <td><code>GDK_KEY_Muhenkan</code> (0xFF22)<br> + <code>Qt::Key_Muhenkan</code> (0x01001122)<br> + </td> + <td><code>KEYCODE_MUHENKAN</code> (213)</td> + </tr> + <tr> + <td><code>"PreviousCandidate"</code></td> + <td>The Previous Candidate key. Selects the previous possible match for the ongoing input.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_PreviousCandidate</code> (0xFF3E)<br> + <code>Qt::Key_PreviousCandidate</code> (0x0100113E)</td> + <td></td> + </tr> + <tr> + <td><code>"Process"</code> [3]</td> + <td>The <kbd>Process</kbd> key. Instructs the IME to process the conversion.</td> + <td><code>VK_PROCESSKEY</code> (0xE5)</td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"SingleCandidate"</code> [4]</td> + <td>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.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_SingleCandidate</code> (0xFF3C)<br> + <code>Qt::Key_SingleCandidate</code> (0x0100113C)</td> + <td></td> + </tr> + </tbody> +</table> + +<p>[1] В <em>X Window System</em>, клавиша <kbd>Compose</kbd> называется <kbd>Multi</kbd>.</p> + +<p>[2] Клавиша <kbd>NonConvert</kbd> возвращает значение <code>"Nonconvert"</code> вместо корректного<code> "NonConvert"</code> в Internet Explorer (проверено в версиях 9 и 11) и Firefox версии 36 и более ранних.</p> + +<p>[3] Клавиша <kbd>Process</kbd> в настоящее время возвращает <code>"Unidentified"</code> в Firefox и Internet Explorer. Google Chrome возвращает значение клавиши так, как если бы IME не использовался.</p> + +<p>[4] До Firefox 37, эта клавиша возвращала <code>"Unidentified"</code>.</p> + +<p>[5] Firefox генерирует значение <code>"AltGraph"</code> вместо <code>"ModeChange"</code>.</p> + +<h3 id="Только_корейские_клавиатуры">Только корейские клавиатуры</h3> + +<p>Эти клавиши доступны только на корейских клавиатурах. Существуют и другие клавиши, определенные различными платформами для корейских клавиатур, но они являются наиболее распространенными и идентифицируются спецификацией событий пользовательского интерфейса.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"HangulMode"</code></td> + <td>The <kbd>Hangul</kbd> (Korean character set) mode key, which toggles between Hangul and English entry modes.</td> + <td><code>VK_HANGUL</code> (0x15) [1]</td> + <td></td> + <td><code>GDK_KEY_Hangul</code> (0xFF31)<br> + <code>Qt::Key_Hangul</code> (0x01001131)</td> + <td></td> + </tr> + <tr> + <td><code>"HanjaMode"</code></td> + <td>Selects the Hanja mode, for converting Hangul characters to the more specific Hanja characters.</td> + <td><code>VK_HANJA</code> (0x19) [1]</td> + <td></td> + <td><code>GDK_KEY_Hangul_Hanja</code> (0xFF34)<br> + <code>Qt::Key_Hangul_Hanja</code> (0x01001134)</td> + <td></td> + </tr> + <tr> + <td><code>"JunjaMode"</code></td> + <td>Selects the Junja mode, in which Korean is represented using single-byte Latin characters.</td> + <td><code>VK_JUNJA</code> (0x17)</td> + <td></td> + <td><code>GDK_KEY_Hangul_Jeonja</code> (0xFF38)<br> + <code>Qt::Key_Hangul_Jeonja</code> (0x01001138)</td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] <code>VK_HANGUL</code> и <code>VK_KANA</code> <span class="tlid-translation translation" lang="ru"><span title="">используют один и тот же числовой код клавиши</span></span> в Windows, также как <code>VK_HANJA</code> и <code>VK_KANJI</code>.</p> + +<h3 id="Только_японские_клавиатуры">Только японские клавиатуры</h3> + +<p>Эти клавиши достуны только на японских клавиатурах.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"Eisu"</code> [1]</td> + <td>The <kbd>Eisu</kbd> key. This key's purpose is defined by the IME, but may be used to close the IME.</td> + <td></td> + <td><code>kVK_JIS_Eisu</code> (0x66)</td> + <td><code>GDK_KEY_Eisu_toggle</code> (0xFF2F)<br> + <code>Qt::Key_Eisu_toggle</code> (0x01001130)</td> + <td><code>KEYCODE_EISU</code> (212)</td> + </tr> + <tr> + <td><code>"Hankaku"</code> [3]</td> + <td>The <kbd>Hankaku</kbd> (half-width characters) key.</td> + <td><code>VK_OEM_AUTO</code> (0xF3)</td> + <td></td> + <td><code>GDK_KEY_Hankaku</code> (0xFF29)<br> + <code>Qt::Key_Hankaku</code> (0x01001129)</td> + <td></td> + </tr> + <tr> + <td><code>"Hiragana"</code></td> + <td>The <kbd>Hiragana</kbd> key; selects Kana characters mode.</td> + <td><code>VK_OEM_COPY</code> (0xF2)</td> + <td></td> + <td><code>GDK_KEY_Hiragana</code> (0xFF25)<br> + <code>Qt::Key_Hiragana</code> (0x01001125)</td> + <td></td> + </tr> + <tr> + <td><code>"HiraganaKatakana"</code> [6]</td> + <td>Toggles between the Hiragana and Katakana writing systems.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Hiragana_Katakana</code> (0xFF27)<br> + <code>Qt::Key_Hiragana_Katakana</code> (0x01001127)</td> + <td><code>KEYCODE_KATAKANA_HIRAGANA</code> (215)</td> + </tr> + <tr> + <td><code>"KanaMode"</code></td> + <td>The <kbd>Kana Mode</kbd> (Kana Lock) key.</td> + <td><code>VK_KANA</code> (0x15) [2]<br> + <code>VK_ATTN</code> (0xF6)</td> + <td></td> + <td><code>GDK_KEY_Kana_Lock</code> (0xFF2D)<br> + <code>GDK_KEY_Kana_Shift</code> (0xFF2E)<br> + <code>Qt::Key_Kana_Lock</code> (0x0100112D)<br> + <code>Qt::Key_Kana_Shift</code> (0x0100112E)</td> + <td></td> + </tr> + <tr> + <td><code>"KanjiMode"</code></td> + <td>The <kbd>Kanji Mode</kbd> key. Enables entering Japanese text using the ideographic characters of Chinese origin.</td> + <td><code>VK_KANJI</code>(0x19) [2]</td> + <td><code>kVK_JIS_Kana</code> (0x68)</td> + <td><code>GDK_KEY_Kanji</code> (0xFF21)<br> + <code>Qt::Key_Kanji</code> (0x01001121)</td> + <td><code>KEYCODE_KANA</code> (218)</td> + </tr> + <tr> + <td><code>"Katakana"</code></td> + <td>The <kbd>Katakana</kbd> key.</td> + <td><code>VK_OEM_FINISH</code> (0xF1)</td> + <td></td> + <td><code>GDK_KEY_Katakana</code> (0xFF26)<br> + <code>Qt::Key_Katakana</code> (0x01001126)</td> + <td></td> + </tr> + <tr> + <td><code>"Romaji"</code> [5]</td> + <td>The <kbd>Romaji</kbd> key; selects the Roman character set.</td> + <td><code>VK_OEM_BACKTAB</code> (0xF5)</td> + <td></td> + <td><code>GDK_KEY_Romaji</code> (0xFF24)<br> + <code>Qt::Key_Romaji</code> (0x01001124)</td> + <td></td> + </tr> + <tr> + <td><code>"Zenkaku"</code> [4]</td> + <td>The <kbd>Zenkaku</kbd> (full width) characters key.</td> + <td><code>VK_OEM_ENLW</code> (0xF4)</td> + <td></td> + <td><code>GDK_KEY_Zenkaku</code> (0xFF28)<br> + <code>Qt::Key_Zenkaku</code> (0x01001128)</td> + <td></td> + </tr> + <tr> + <td><code>"ZenkakuHanaku"</code> [6]</td> + <td>The <kbd>Zenkaku/Hankaku</kbd> (full width/half width) toggle key.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Zenkaku_Hankaku</code> (0xFF2A)<br> + <code>Qt::Zenkaku_Hankaku</code> (0x0100112A)</td> + <td> + <p><code>KEYCODE_ZENKAKU_HANKAKU</code> (211)</p> + </td> + </tr> + </thead> +</table> + +<p>[1] До Firefox 37, клавиша <kbd>Eisu</kbd> ошибочно сопоставлялась <code>"RomanCharacters"</code>.</p> + +<p>[2] <code>VK_HANGUL</code> и <code>VK_KANA</code> <span class="tlid-translation translation" lang="ru"><span title="">используют один и тот же числовой код клавиши</span></span> в Windows, также как <code>VK_HANJA</code> и <code>VK_KANJI</code>.</p> + +<p>[3] До Firefox 37, клавиша <kbd>Hankaku</kbd> (half-width) генерировала значание <code>"HalfWidth"</code> в Firefox. Такжк, этак клавиша генерировала значаение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11).</p> + +<p>[4] Internet Explorer (проверено в версиях 9 и 11) возвращал <code>"Unidentified"</code> для клавиши <kbd>Zenkaku</kbd>; Firefox 36 и более ранние определяли эту клавишу как <code>"FullWidth"</code> <span class="tlid-translation translation" lang="ru"><span title="">на японских раскладках клавиатуры</span></span> и <code>"Unidentified"</code> на всех остальных <span class="tlid-translation translation" lang="ru"><span title="">раскладках клавиатуры</span></span>. Firefox 37 и выше, а также все версии Google Chrome, корректно возвращают <code>"Zenkaku"</code>.</p> + +<p>[5] <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11). Firefox 36 и более ранние определяли клавишу <kbd>Romaji</kbd> как <code>"RomanCharacters"</code> на японских клавиатурах и <code>"Unidentified"</code> для остальных клавиатур; исправлено на значение <code>"Romaji"</code> в Firefox 37 и выше.</p> + +<p>[6] Эта клавиша возвращала <code>"Unidentified"</code> до Firefox 37.</p> + +<h3 id="Dead_keycodes_for_Linux">Dead keycodes for Linux</h3> + +<p>Linux generates accented characters using special <strong>dead keys</strong>. <em>Dead keys</em> 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.</p> + +<p>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.</p> + +<p>The value of {{domxref("CompositionEvent.data", "data")}} will be one of the following:</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col"><strong>Значение<code> CompositionEvent.data</code></strong></th> + <th scope="col">Символ</th> + <th scope="col">Комментарии</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>GDK_KEY_dead_grave</code> (0xFE50)<br> + <code>Qt::Key_Dead_Grave</code> (0x01001250)</td> + <td>`</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_acute</code> (0xFE51)<br> + <code>Qt::Key_Dead_Acute</code> (0x01001251)</td> + <td>´</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_circumflex</code> (0xFE52)<br> + <code>Qt::Key_Dead_Circumflex</code> (0x01001252)</td> + <td>ˆ</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_tilde</code> (0xFE53)<br> + <code>Qt::Key_Dead_Tilde</code> (0x01001253)</td> + <td>˜</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_perispomeni</code> (0xFE53)</td> + <td> ͂</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_macron</code> (0xFE54)<br> + <code>Qt::Key_Dead_Macron</code> (0x01001254)</td> + <td>¯</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_breve</code> (0xFE55)<br> + <code>Qt::Key_Dead_Breve</code> (0x01001255)</td> + <td>˘</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_abovedot</code> (0xFE56)<br> + <code>Qt::Key_Dead_Abovedot</code> (0x01001256)</td> + <td>˙</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_diaeresis</code> (0xFE57)<br> + <code>Qt::Key_Dead_Diaeresis</code> (0x01001257)</td> + <td>¨</td> + <td>Also called an umlaut.</td> + </tr> + <tr> + <td><code>GDK_KEY_dead_abovering</code> (0xFE58)<br> + <code>Qt::Key_Dead_Abovering</code> (0x01001258)</td> + <td>˚</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_doubleacute</code> (0xFE59)<br> + <code>Qt::Key_Dead_Doubleacute</code> (0x01001259)</td> + <td>˝</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_caron</code> (0xFE5A)<br> + <code>Qt::Key_Dead_Caron</code> (0x0100125A)</td> + <td>ˇ</td> + <td>Also called a háček; used in Czech among other languages.</td> + </tr> + <tr> + <td><code>GDK_KEY_dead_cedilla</code> (0xFE5B)<br> + <code>Qt::Key_Dead_Cedilla</code> (0x0100125B)</td> + <td>¸</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_ogonek</code> (0xFE5C)<br> + <code>Qt::Key_Dead_Ogonek</code> (0x0100125C)</td> + <td>˛</td> + <td>Also called a nosinė; used in Polish and Old Irish.</td> + </tr> + <tr> + <td><code>GDK_KEY_dead_iota</code> (0xFE5D)<br> + <code>Qt::Key_Dead_Iota</code> (0x0100125D)</td> + <td> ͅ</td> + <td>Iota subscript.</td> + </tr> + <tr> + <td><code>GDK_KEY_dead_voiced_sound</code> (0xFE5E)<br> + <code>Qt::Key_Dead_Voiced_Sound</code> (0x0100125E)</td> + <td>゙</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_semivoiced_sound</code> (0xFE5F)<br> + <code>Qt::Key_Dead_Semivoiced_Sound</code> (0x0100125F)</td> + <td>゚</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowdot</code> (0xFE60)<br> + <code>Qt::Key_Dead_Belowdot</code> (0x01001260)</td> + <td>̣̣</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_hook</code> (0xFE61)<br> + <code>Qt::Key_Dead_Hook</code> (0x01001261)</td> + <td> ̡</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_horn</code> (0xFE62)<br> + <code>Qt::Key_Dead_Horn</code> (0x01001262)</td> + <td> ̛</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_stroke</code> (0xFE63)</td> + <td> ̶̶</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_abovecomma</code> (0xFE64)</td> + <td> ̓̓</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_psili</code> (0xFE64)</td> + <td> ᾿</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_abovereversedcomma</code> (0xFE65)</td> + <td>ʽ</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_dasia</code> (0xFE65)</td> + <td>῾</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_doublegrave</code> (0xFE66)</td> + <td> ̏</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowring</code> (0xFE67)</td> + <td>˳</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowmacron</code> (0xFE68)</td> + <td> ̱</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowcircumflex</code> (0xFE69)</td> + <td>ꞈ</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowtilde</code> (0xFE6A)</td> + <td>̰</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowbreve</code> (0xFE6B)</td> + <td>̮</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowdiaeresis</code> (0xFE6C)</td> + <td> ̤</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_invertedbreve</code> (0xFE6D)</td> + <td>̯</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_belowcomma</code> (0xFE6E)</td> + <td>̦</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_currency</code> (0xFE6F)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_a</code> (0xFE80)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_A</code> (0xFE81)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_e</code> (0xFE82)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_E</code> (0xFE83)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_i</code> (0xFE84)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_I</code> (0xFE85)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_o</code> (0xFE86)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_O</code> (0xFE87)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_u</code> (0xFE88)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_U</code> (0xFE89)</td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_small_schwa</code> (0xFE8A)</td> + <td>ə</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_capital_schwa</code> (0xFE8B)</td> + <td>Ə</td> + <td></td> + </tr> + <tr> + <td><code>GDK_KEY_dead_greek</code> (0xFE8C)</td> + <td></td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Функциональные_клавиши">Функциональные клавиши</h2> + +<p>Хотя разные платформы поддерживают разное количество функциональных клавиш общего назначения, таких как <kbd>F1</kbd>–<kbd>F12</kbd> (or <kbd>F1</kbd>–<kbd>F10</kbd>, or <kbd>F1</kbd>–<kbd>F15</kbd>, etc.), первые несколько конкретно определены следующим образом.</p> + +<p>Если доступно больше функциональных клавиш, их имена продолжают представленный шаблон, продолжая увеличивать числовую часть имени каждой клавиши, так что, например, <code>"F24"</code> это валидное значение клавиши.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"F1"</code></td> + <td>Клавиша <kbd>F1</kbd>.</td> + <td><code>VK_F1</code> (0x70)</td> + <td><code>kVK_F1</code> (0x7A)</td> + <td><code>GDK_KEY_F1</code> (0xFFBE)<br> + <code>GDK_KEY_KP_F1</code> (0xFF91)<br> + <code>Qt::Key_F1</code> (0x01000030)</td> + <td><code>KEYCODE_F1</code> (131)</td> + </tr> + <tr> + <td><code>"F2"</code></td> + <td>Клавиша <kbd>F2</kbd>.</td> + <td><code>VK_F2</code> (0x71)</td> + <td><code>kVK_F2</code> (0x78)</td> + <td><code>GDK_KEY_F2</code> (0xFFBF)<br> + <code>GDK_KEY_KP_F2</code> (0xFF92)<br> + <code>Qt::Key_F2</code> (0x01000031)</td> + <td><code>KEYCODE_F2</code> (132)</td> + </tr> + <tr> + <td><code>"F3"</code></td> + <td>Клавиша <kbd>F3</kbd>.</td> + <td><code>VK_F3</code> (0x72)</td> + <td><code>kVK_F3</code> (0x63)</td> + <td><code>GDK_KEY_F3</code> (0xFFC0)<br> + <code>GDK_KEY_KP_F3</code> (0xFF93)<br> + <code>Qt::Key_F3</code> (0x01000032)</td> + <td><code>KEYCODE_F3</code> (133)</td> + </tr> + <tr> + <td><code>"F4"</code></td> + <td>Клавиша <kbd>F4</kbd>.</td> + <td><code>VK_F4</code> (0x73)</td> + <td><code>kVK_F4</code> (0x76)</td> + <td><code>GDK_KEY_F4</code> (0xFFC1)<br> + <code>GDK_KEY_KP_F4</code> (0xFF94)<br> + <code>Qt::Key_F4</code> (0x01000033)</td> + <td><code>KEYCODE_F4</code> (134)</td> + </tr> + <tr> + <td><code>"F5"</code></td> + <td>Клавиша <kbd>F5</kbd>.</td> + <td><code>VK_F5</code> (0x74)</td> + <td><code>kVK_F5</code> (0x60)</td> + <td><code>GDK_KEY_F5</code> (0xFFC2)<br> + <code>Qt::Key_F5</code> (0x01000034)</td> + <td><code>KEYCODE_F5</code> (135)</td> + </tr> + <tr> + <td><code>"F6"</code></td> + <td>Клавиша <kbd>F6</kbd>.</td> + <td><code>VK_F6</code> (0x75)</td> + <td><code>kVK_F6</code> (0x61)</td> + <td><code>GDK_KEY_F6</code> (0xFFC3)<br> + <code>Qt::Key_F6</code> (0x01000035)</td> + <td><code>KEYCODE_F6</code> (136)</td> + </tr> + <tr> + <td><code>"F7"</code></td> + <td>Клавиша <kbd>F7</kbd>.</td> + <td><code>VK_F7</code> (0x76)</td> + <td><code>kVK_F7</code> (0x62)</td> + <td><code>GDK_KEY_F7</code> (0xFFC4)<br> + <code>Qt::Key_F7</code> (0x01000036)</td> + <td><code>KEYCODE_F7</code> (137)</td> + </tr> + <tr> + <td><code>"F8"</code></td> + <td>Клавиша <kbd>F8</kbd>.</td> + <td><code>VK_F8</code> (0x77)</td> + <td><code>kVK_F8</code> (0x64)</td> + <td><code>GDK_KEY_F8</code> (0xFFC5)<br> + <code>Qt::Key_F8</code> (0x01000037)</td> + <td><code>KEYCODE_F8</code> (138)</td> + </tr> + <tr> + <td><code>"F9"</code></td> + <td>Клавиша <kbd>F9</kbd>.</td> + <td><code>VK_F9</code> (0x78)</td> + <td><code>kVK_F9</code> (0x65)</td> + <td><code>GDK_KEY_F9</code> (0xFFC6)<br> + <code>Qt::Key_F9</code> (0x01000038)</td> + <td><code>KEYCODE_F9</code> (139)</td> + </tr> + <tr> + <td><code>"F10"</code></td> + <td>Клавиша <kbd>F10</kbd>.</td> + <td><code>VK_F10</code> (0x79)</td> + <td><code>kVK_F10</code> (0x6D)</td> + <td><code>GDK_KEY_F10</code> (0xFFC7)<br> + <code>Qt::Key_F10</code> (0x01000039)</td> + <td><code>KEYCODE_F10</code> (140)</td> + </tr> + <tr> + <td><code>"F11"</code></td> + <td>Клавиша <kbd>F11</kbd>.</td> + <td><code>VK_F11</code> (0x7A)</td> + <td><code>kVK_F11</code> (0x67)</td> + <td><code>GDK_KEY_F11</code> (0xFFC8)<br> + <code>Qt::Key_F11</code> (0x0100003A)</td> + <td><code>KEYCODE_F11</code> (141)</td> + </tr> + <tr> + <td><code>"F12"</code></td> + <td>Клавиша <kbd>F12</kbd>.</td> + <td><code>VK_F12</code> (0x7B)</td> + <td><code>kVK_F12</code> (0x6F)</td> + <td><code>GDK_KEY_F12</code> (0xFFC9)<br> + <code>Qt::Key_F12</code> (0x0100003B)</td> + <td><code>KEYCODE_F12</code> (142)</td> + </tr> + <tr> + <td><code>"F13"</code></td> + <td>Клавиша <kbd>F13</kbd>.</td> + <td><code>VK_F13</code> (0x7C)</td> + <td><code>kVK_F13</code> (0x69)</td> + <td><code>GDK_KEY_F13</code> (0xFFCA)<br> + <code>Qt::Key_F13</code> (0x0100003C)</td> + <td><code>KEYCODE_F13</code></td> + </tr> + <tr> + <td><code>"F14"</code></td> + <td>Клавиша <kbd>F14</kbd>.</td> + <td><code>VK_F14</code> (0x7D)</td> + <td><code>kVK_F14</code> (0x6B)</td> + <td><code>GDK_KEY_F14</code> (0xFFCB)<br> + <code>Qt::Key_F1</code>4 (0x0100003D)</td> + <td><code>KEYCODE_F14</code></td> + </tr> + <tr> + <td><code>"F15"</code></td> + <td>Клавиша <kbd>F15</kbd>.</td> + <td><code>VK_F15</code> (0x7E)</td> + <td><code>kVK_F15</code> (0x71)</td> + <td><code>GDK_KEY_F15</code> (0xFFCC)<br> + <code>Qt::Key_F1</code>5 (0x0100003E)</td> + <td><code>KEYCODE_F15</code></td> + </tr> + <tr> + <td><code>"F16"</code></td> + <td>Клавиша <kbd>F16</kbd>.</td> + <td><code>VK_F16</code> (0x7F)</td> + <td><code>kVK_F16</code> (0x6A)</td> + <td><code>GDK_KEY_F16</code> (0xFFCD)<br> + <code>Qt::Key_F1</code>6 (0x0100003F)</td> + <td><code>KEYCODE_F16</code></td> + </tr> + <tr> + <td><code>"F17"</code></td> + <td>Клавиша <kbd>F17</kbd>.</td> + <td><code>VK_F17</code> (0x80)</td> + <td><code>kVK_F17</code> (0x40)</td> + <td><code>GDK_KEY_F17</code> (0xFFCE)<br> + <code>Qt::Key_F1</code>7 (0x01000040)</td> + <td><code>KEYCODE_F17</code></td> + </tr> + <tr> + <td><code>"F18"</code></td> + <td>Клавиша <kbd>F18</kbd>.</td> + <td><code>VK_F18</code> (0x81)</td> + <td><code>kVK_F18</code> (0x4F)</td> + <td><code>GDK_KEY_F18</code> (0xFFCF)<br> + <code>Qt::Key_F1</code>8 (0x01000041)</td> + <td><code>KEYCODE_F18</code></td> + </tr> + <tr> + <td><code>"F19"</code></td> + <td>Клавиша <kbd>F19</kbd>.</td> + <td><code>VK_F19</code> (0x82)</td> + <td><code>kVK_F19</code> (0x50)</td> + <td><code>GDK_KEY_F19</code> (0xFFD0)<br> + <code>Qt::Key_F1</code>9 (0x01000042)</td> + <td><code>KEYCODE_F19</code></td> + </tr> + <tr> + <td><code>"F20"</code></td> + <td>Клавиша <kbd>F20</kbd>.</td> + <td><code>VK_F20</code> (0x83)</td> + <td><code>kVK_F20</code> (0x5A)</td> + <td><code>GDK_KEY_F20</code> (0xFFD1)<br> + <code>Qt::Key_F20</code> (0x01000043)</td> + <td><code>KEYCODE_F20</code></td> + </tr> + <tr> + <td><code>"Soft1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Первая функциональная клавиша общего назначения.</span></span></td> + <td></td> + <td></td> + <td><code>Qt::Key_Context1</code> (0x01100000)</td> + <td></td> + </tr> + <tr> + <td><code>"Soft2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Вторая функциональная клавиша общего назначения.</span></span></td> + <td></td> + <td></td> + <td><code>Qt::Key_Context2</code> (0x01100001)</td> + <td></td> + </tr> + <tr> + <td><code>"Soft3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Третья функциональная клавиша общего назначения.</span></span></td> + <td></td> + <td></td> + <td><code>Qt::Key_Context3</code> (0x01100002)</td> + <td></td> + </tr> + <tr> + <td><code>"Soft4"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Четвертая функциональная клавиша общего назначения.</span></span></td> + <td></td> + <td></td> + <td><code>Qt::Key_Context4</code> (0x01100003)</td> + <td></td> + </tr> + </thead> +</table> + +<h2 id="Телефонные_клавиши">Телефонные клавиши</h2> + +<p>Эти клавиши представляют собой кнопки, которые обычно существуют на современных смартфонах.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"AppSwitch"</code></td> + <td>Представляет список недавно использованных приложений, который позволяет пользователю быстро переключаться между приложениями.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_APP_SWITCH</code> (181)</td> + </tr> + <tr> + <td><code>"Call"</code></td> + <td>Кнопка вызова <kbd>Call</kbd>. Набирает номер, который был введен.</td> + <td></td> + <td></td> + <td><code>Qt::Key_Call</code> (0x01100004)</td> + <td><code>KEYCODE_CALL</code> (5)</td> + </tr> + <tr> + <td><code>"Camera"</code></td> + <td>Кнопка камеры <kbd>Camera</kbd>. Включает камеру.</td> + <td></td> + <td></td> + <td><code>Qt::Key_Camera</code> (0x01100020)</td> + <td><code>KEYCODE_CAMERA</code> (27)</td> + </tr> + <tr> + <td><code>"CameraFocus"</code></td> + <td>Кнопка фокусировки <kbd>Focus</kbd>. Фокусирует камеру.</td> + <td></td> + <td></td> + <td><code>Qt::Key_CameraFocus</code> (0x01100021)</td> + <td><code>KEYCODE_FOCUS</code> (80)</td> + </tr> + <tr> + <td><code>"EndCall"</code></td> + <td>Кнопка завершения вызова <kbd>End Call</kbd> или <kbd>Hang Up</kbd>.</td> + <td></td> + <td></td> + <td><code>Qt::Key_Hangup</code> (0x01100005)</td> + <td><code>KEYCODE_ENDCALL</code> (6)</td> + </tr> + <tr> + <td><code>"GoBack"</code></td> + <td>Кнопка "Назад" <kbd>Back</kbd>.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_BACK</code> (4)</td> + </tr> + <tr> + <td><code>"GoHome"</code> [1]</td> + <td>Кнопка <kbd>Home</kbd>. <span class="tlid-translation translation" lang="ru"><span title="">Возвращает пользователя на главный экран телефона (обычно это средство запуска приложений).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_HOME</code> (3)</td> + </tr> + <tr> + <td><code>"HeadsetHook"</code></td> + <td>Клавиша гарнитуры<kbd>Headset Hook</kbd>. Обычно это кнопка на гарнитуре, которая используется для отбоя вызовов и воспроизведения или приостановки мультимедиа.</td> + <td></td> + <td></td> + <td><code>Qt::Key_ToggleCallHangup</code> (0x01100007)</td> + <td><code>KEYCODE_HEADSETHOOK</code> (79)</td> + </tr> + <tr> + <td><code>"LastNumberRedial"</code></td> + <td>Клавиша перенабора номера <kbd>Redial</kbd>. Набирает последний набранный номер.</td> + <td></td> + <td></td> + <td><code>Qt::Key_LastNumberRedial</code> (0x01100009)</td> + <td></td> + </tr> + <tr> + <td><code>"Notification"</code></td> + <td>Клавиша уведомления<kbd>Notification</kbd>.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_NOTIFICATION</code> (83)</td> + </tr> + <tr> + <td><code>"MannerMode"</code></td> + <td>Кнопка, которая циклически переключается между режимами уведомлений: бесшумный, вибрировать, звонить и так далее.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_MANNER_MODE</code> (205)</td> + </tr> + <tr> + <td><code>"VoiceDial"</code></td> + <td>Клавиша<kbd>Voice Dial</kbd>. <span class="tlid-translation translation" lang="ru"><span title="">Запускает голосовой набор.</span></span></td> + <td></td> + <td></td> + <td><code>Qt::Key_VoiceDial</code> (0x01100008)</td> + <td><code>KEYCODE_VOICE_ASSIST</code> (231)</td> + </tr> + </thead> +</table> + +<p>[1] До Firefox 37, кнопка Home генерирует значение <code>"Exit"</code>. Начиная с Firefox 37, генерирует <code>"MozHomeScreen"</code>.</p> + +<h2 id="Мультимедийные_клавиши"><span class="tlid-translation translation" lang="ru"><span title="">Мультимедийные клавиши</span></span></h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">Мультимедийные клавиши - это дополнительные кнопки или клавиши для управления мультимедийными устройствами, которые есть на некоторых клавиатурах.</span></span></p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"ChannelDown"</code></td> + <td>Переключается на предыдущий канал.</td> + <td><code>APPCOMMAND_MEDIA_CHANNEL_DOWN</code></td> + <td></td> + <td><code>Qt::Key_ChannelDown</code> (0x01000119)</td> + <td><code>KEYCODE_CHANNEL_DOWN</code> (167)</td> + </tr> + <tr> + <td><code>"ChannelUp"</code></td> + <td>Переключается на следующий канал.</td> + <td><code>APPCOMMAND_MEDIA_CHANNEL_UP</code></td> + <td></td> + <td><code>Qt::Key_ChannelUp</code> (0x01000118)</td> + <td><code>KEYCODE_CHANNEL_UP</code> (166)</td> + </tr> + <tr> + <td><code>"MediaFastForward"</code> [2]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Запускает, продолжает или увеличивает скорость быстрой перемотки мультимедиа вперед.</span></span></td> + <td><code>APPCOMMAND_MEDIA_FAST_FORWARD</code></td> + <td></td> + <td><code>GDK_KEY_AudioForward (0x1008FF97)<br> + Qt:Key_AudioForward</code> (0x01000102)</td> + <td><code>KEYCODE_MEDIA_FAST_FORWARD</code> (90)</td> + </tr> + <tr> + <td><code>"MediaPause"</code></td> + <td> + <p>Приостанавливает воспроизведение текущего медиафайла.</p> + + <div class="blockIndicator note"> + <p><strong>Заметка:</strong> Некоторые старые приложения используют просто "паузу", но это неверно.</p> + </div> + </td> + <td><code>APPCOMMAND_MEDIA_PAUSE</code></td> + <td></td> + <td><code>GDK_KEY_AudioPause</code> (0x1008FF31)<br> + <code>Qt::Key_MediaPause</code> (0x1000085)</td> + <td><code>KEYCODE_MEDIA_PAUSE</code> (127)</td> + </tr> + <tr> + <td><code>"MediaPlay"</code></td> + <td>Запускает или продолжает воспроизведение мультимедиа с нормальной скоростью, если еще не делает этого. В противном случае не имеет эффекта.</td> + <td><code>APPCOMMAND_MEDIA_PLAY</code></td> + <td></td> + <td><code>GDK_KEY_AudioPlay</code> (0x1008FF14)</td> + <td><code>KEYCODE_MEDIA_PLAY</code><code> (126)</code></td> + </tr> + <tr> + <td><code>"MediaPlayPause"</code></td> + <td>Переключение между воспроизведением и приостановкой текущего медиафайла.</td> + <td><code>VK_MEDIA_PLAY_PAUSE</code> (0xB3)<br> + <code>APPCOMMAND_MEDIA_PLAY_PAUSE</code></td> + <td></td> + <td><code>Qt::Key_MediaTogglePlayPause</code> (0x1000086)</td> + <td><code>KEYCODE_MEDIA_PLAY_PAUSE</code> (85)</td> + </tr> + <tr> + <td><code>"MediaRecord"</code></td> + <td>Запуск или возобновление записи медиафайла.</td> + <td><code>APPCOMMAND_MEDIA_RECORD</code></td> + <td></td> + <td><code>GDK_KEY_AudioRecord</code> (0x1008FF1C)<br> + <code>Qt::Key_MediaRecord</code> (0x01000084)</td> + <td><code>KEYCODE_MEDIA_RECORD</code><code> (130)</code></td> + </tr> + <tr> + <td><code>"MediaRewind"</code></td> + <td>Запуск, продолжение или увеличение скорости перемотки медиафайла.</td> + <td><code>APPCOMMAND_MEDIA_REWIND</code></td> + <td></td> + <td><code>GDK_KEY_AudioRewind</code> (0x1008FF3E)<br> + <code>Qt::Key_AudioRewind</code> (0x010000C5)</td> + <td><code>KEYCODE_MEDIA_REWIND</code><code> (89)</code></td> + </tr> + <tr> + <td><code>"MediaStop"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Останавливает текущую медиа-активность (такую как воспроизведение, запись, пауза, перемотка вперед или назад).</span> <span title="">Не действует, если медиафайл уже остановлен.</span></span></td> + <td><code>VK_MEDIA_STOP</code> (0xB2)<br> + <code>APPCOMMAND_MEDIA_STOP</code></td> + <td></td> + <td><code>GDK_KEY_AudioStop</code> (0x1008FF15)<br> + <code>Qt::Key_MediaStop</code> (0x01000081)</td> + <td><code>KEYCODE_MEDIA_STOP</code> (86)</td> + </tr> + <tr> + <td><code>"MediaTrackNext"</code> [1]</td> + <td>Seeks to the next media or program track.</td> + <td><code>VK_MEDIA_NEXT_TRACK</code> (0xB0)<br> + <code>APPCOMMAND_MEDIA_NEXTTRACK</code></td> + <td></td> + <td><code>GDK_KEY_AudioNext</code> (0x1008FF17)<br> + <code>Qt::Key_MediaNext</code> (0x01000083)</td> + <td><code>KEYCODE_MEDIA_NEXT</code> (87)</td> + </tr> + <tr> + <td><code>"MediaTrackPrevious"</code> [1]</td> + <td>Seeks to the previous media or program track.</td> + <td><code>VK_MEDIA_PREV_TRACK</code> (0xB1)<br> + <code>APPCOMMAND_MEDIA_PREVIOUSTRACK</code></td> + <td></td> + <td><code>GDK_KEY_AudioPrev</code> (0x1008FF16)<br> + <code>Qt::Key_MediaPrevious</code> (0x01000082)</td> + <td><code>KEYCODE_MEDIA_PREVIOUS</code> (88)</td> + </tr> + </thead> +</table> + +<p>[1] Internet Explorer, Edge, и Firefox (36 и более ранние) используют <code>"MediaNextTrack"</code> и <code>"MediaPreviousTrack"</code> вместо <code>"MediaTrackNext"</code> и <code>"MediaTrackPrevious"</code>.</p> + +<p>[2] До Firefox 37, Firefox генерировал значение <code>"FastFwd"</code> <span class="tlid-translation translation" lang="ru"><span title="">на некоторых платформах и</span></span> <code>"Unidentified"</code> на других вместо <code>"MediaFastForward"</code>.</p> + +<h2 id="Клавиши_управления_звуком"><span class="tlid-translation translation" lang="ru"><span title="">Клавиши управления звуком</span></span></h2> + +<p>Эти мультимедийные клавиши используются специально для управления звуком.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"AudioBalanceLeft"</code></td> + <td>Регулирует баланс звука влево.</td> + <td><code>VK_AUDIO_BALANCE_LEFT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBalanceRight"</code></td> + <td>Регулирует баланс звука вправо.</td> + <td><code>VK_AUDIO_BALANCE_RIGHT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBassDown"</code></td> + <td>Уменьшает количество басов.</td> + <td><code>APPCOMMAND_BASS_DOWN</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBassBoostDown"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Уменьшает степень усиления басов или циклически перемещается вниз по набору режимов или состояний усиления басов.</span></span></td> + <td><code>VK_BASS_BOOST_DOWN</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBassBoostToggle"</code></td> + <td>Включает и выключает усиление басов.</td> + <td><code>APPCOMMAND_BASS_BOOST</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBassBoostUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Увеличивает степень усиления басов или циклически перемещается вверх по набору режимов или состояний усиления басов.</span></span></td> + <td><code>VK_BASS_BOOST_UP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioBassUp"</code></td> + <td>Увеличивает количество басов.</td> + <td><code>APPCOMMAND_BASS_UP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioFaderFront"</code></td> + <td>Смещает регулятор уровня сигнала вперед.</td> + <td><code>VK_FADER_FRONT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioFaderRear"</code></td> + <td>Смещает регулятор уровня сигнала назад.</td> + <td><code>VK_FADER_REAR</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioSurroundModeNext"</code></td> + <td>Выбор следующего доступного режима объемного звучания.</td> + <td><code>VK_SURROUND_MODE_NEXT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioTrebleDown"</code></td> + <td>Уменьшает количество высоких частот.</td> + <td><code>APPCOMMAND_TREBLE_DOWN</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioTrebleUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Отключает звук.</span></span></td> + <td><code>APPCOMMAND_TREBLE_UP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"AudioVolumeDown" [1]</code></td> + <td>Уменьшает громкость звука.</td> + <td><code>VK_VOLUME_DOWN</code> (0xAE)<br> + <code>APPCOMMAND_VOLUME_DOWN</code></td> + <td><code>kVK_VolumeDown</code> (0x49)</td> + <td><code>GDK_KEY_AudioLowerVolume</code> (0x1008FF11)<br> + <code>Qt::Key_VolumeDown</code> (0x01000070)</td> + <td><code>KEYCODE_VOLUME_DOWN</code> (25)</td> + </tr> + <tr> + <td><code>"AudioVolumeMute" [1]</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Отключает звук.</span></span></td> + <td><code>VK_VOLUME_MUTE</code> (0xAD)<br> + <code>APPCOMMAND_VOLUME_MUTE</code></td> + <td><code>kVK_Mute</code> (0x4A)</td> + <td><code>GDK_KEY_AudioMute</code> (0x1008FF12)<br> + <code>Qt::Key_VolumeMute</code> (0x01000071)</td> + <td><code>KEYCODE_VOLUME_MUTE</code> (164)</td> + </tr> + <tr> + <td><code>"AudioVolumeUp" [1]</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Увеличивает громкость звука.</span></span></td> + <td><code>VK_VOLUME_UP</code> (0xAF)<br> + <code>APPCOMMAND_VOLUME_UP</code></td> + <td><code>kVK_VolumeUp</code> (0x48)</td> + <td><code>GDK_KEY_AudioRaiseVolume</code> (0x1008FF13)<br> + <code>Qt::Key_VolumeUp</code> (0x01000072)</td> + <td><code>KEYCODE_VOLUME_UP</code> (24)</td> + </tr> + <tr> + <td><code>"MicrophoneToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает микрофон.</span></span></td> + <td><code>APPCOMMAND_MIC_ON_OFF_TOGGLE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"MicrophoneVolumeDown"</code></td> + <td>Уменьшает громкость входного сигнала микрофона.</td> + <td><code>APPCOMMAND_MICROPHONE_VOLUME_DOWN</code></td> + <td></td> + <td><code>Qt::Key_MicVolumeDown</code> (0x0100011E)</td> + <td></td> + </tr> + <tr> + <td><code>"MicrophoneVolumeMute"</code></td> + <td>Отключает микрофонный вход.</td> + <td><code>APPCOMMAND_MICROPHONE_VOLUME_MUTE</code></td> + <td></td> + <td><code>GDK_KEY_AudioMicMute</code> (0x1008FFB2)<br> + <code>Qt::Key_MicMute</code> (0x01000113)</td> + <td><code>KEYCODE_MUTE</code> (91)</td> + </tr> + <tr> + <td><code>"MicrophoneVolumeUp"</code></td> + <td>Увеличивает громкость входного сигнала микрофона.</td> + <td><code>APPCOMMAND_MICROPHONE_VOLUME_UP</code></td> + <td></td> + <td><code>Qt::Key_MicVolumeUp</code> (0x0100011D)</td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] Internet Explorer, Edge, и Firefox (48 и более ранние) используют <code>"VolumeUp"</code>, <code>"VolumeDown"</code>, и <code>"VolumeMute"</code> вместо <code>"AudioVolumeUp"</code>, <code>"AudioVolumeDown"</code>, и <code>"AudioVolumeMute"</code>. В Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">они были обновлены в соответствии с последней спецификацией.</span> <span title="">Старые имена все еще используются в </span></span><a href="/en-US/docs/Mozilla/B2G_OS">Boot to Gecko</a>.</p> + +<h2 id="Клавиши_управления_ТВ"><span class="tlid-translation translation" lang="ru"><span title="">Клавиши управления ТВ</span></span></h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">Эти ключевые значения представляют собой кнопки или клавиши на телевизионных устройствах, компьютерах или телефонах с поддержкой телевидения.</span></span></p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"TV"</code> [1]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает в режим просмотра ТВ.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV</code> (170)</td> + </tr> + <tr> + <td><code>"TV3DMode"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим 3D TV.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_3D_MODE</code> (206)</td> + </tr> + <tr> + <td><code>"TVAntennaCable"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключение между антенным и кабельным входами.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_ANTENNA_CABLE</code> (242)</td> + </tr> + <tr> + <td><code>"TVAudioDescription"</code></td> + <td>Включает и выключает режим описания звука.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_AUDIO_DESCRIPTION</code> (252)</td> + </tr> + <tr> + <td><code>"TVAudioDescriptionMixDown"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Уменьшает громкость микширования аудиоописаний;</span> <span title="">уменьшает громкость аудиоописаний относительно звука программы.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</code> (254)</td> + </tr> + <tr> + <td><code>"TVAudioDescriptionMixUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Увеличивает громкость микширования аудиоописаний;</span> <span title="">увеличивает громкость аудиоописаний относительно звука программы.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</code> (253)</td> + </tr> + <tr> + <td><code>"TVContentsMenu"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Отображает или скрывает мультимедийное содержимое, доступное для воспроизведения (это может быть руководство по каналам, показывающее программы, транслируемые в данный момент, или список мультимедийных файлов для воспроизведения).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_CONTENTS_MENU</code> (256)</td> + </tr> + <tr> + <td><code>"TVDataService"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Отображает или скрывает сервисное меню данных телевизора.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_DATA_SERVICE</code> (230)</td> + </tr> + <tr> + <td><code>"TVInput"</code> [2]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает источник сигнала на внешнем телевизоре.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT</code> (178)</td> + </tr> + <tr> + <td><code>"TVInputComponent1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход «Компонент 1».</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_COMPONENT_1</code> (249)</td> + </tr> + <tr> + <td><code>"TVInputComponent2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход «Компонент</span></span> 2."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_COMPONENT_2</code> (250)</td> + </tr> + <tr> + <td><code>"TVInputComposite1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход «Композитный 1».</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_COMPOSITE_1</code> (247)</td> + </tr> + <tr> + <td><code>"TVInputComposite2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход «Композитный</span></span> 2."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_COMPOSITE_2</code> (248)</td> + </tr> + <tr> + <td><code>"TVInputHDMI1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход «HDMI 1».</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_HDMI_1</code> (243)</td> + </tr> + <tr> + <td><code>"TVInputHDMI2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход</span></span> "HDMI 2."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_HDMI_2</code> (244)</td> + </tr> + <tr> + <td><code>"TVInputHDMI3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход</span></span> "HDMI 3."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_HDMI_3</code> (245)</td> + </tr> + <tr> + <td><code>"TVInputHDMI4"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход</span></span> "HDMI 4."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_HDMI_4</code> (246)</td> + </tr> + <tr> + <td><code>"TVInputVGA1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает на вход</span></span> "VGA 1."</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_INPUT_VGA_1</code> (251)</td> + </tr> + <tr> + <td><code>"TVMediaContext"</code></td> + <td>Клавиша контекстного меню мультимедиа.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_MEDIA_CONTEXT_MENU</code> (257)</td> + </tr> + <tr> + <td><code>"TVNetwork"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включение и выключение сетевого подключения телевизора.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_NETWORK</code> (241)</td> + </tr> + <tr> + <td><code>"TVNumberEntry"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переведите телевизор в режим ввода номера.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_NUMBER_ENTRY</code> (234)</td> + </tr> + <tr> + <td><code>"TVPower"</code> [2]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка питания устройства.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_POWER</code> (177)</td> + </tr> + <tr> + <td><code>"TVRadioService"</code></td> + <td>Кнопка радио</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_RADIO_SERVICE</code> (232)</td> + </tr> + <tr> + <td><code>"TVSatellite"</code></td> + <td>Кнопка спутника</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_SATELLITE</code> (237)</td> + </tr> + <tr> + <td><code>"TVSatelliteBS"</code></td> + <td>Broadcast Satellite button.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_SATELLITE_BS</code> (238)</td> + </tr> + <tr> + <td><code>"TVSatelliteCS"</code></td> + <td>Communication Satellite button.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_SATELLITE_CS</code> (239)</td> + </tr> + <tr> + <td><code>"TVSatelliteToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключение между доступными спутниками.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_SATELLITE_SERVICE</code> (240)</td> + </tr> + <tr> + <td><code>"TVTerrestrialAnalog"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает услугу аналогового наземного телевидения (аналоговый кабельный или антенный прием).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_TERRESTRIAL_ANALOG</code> (235)</td> + </tr> + <tr> + <td><code>"TVTerrestrialDigital"</code></td> + <td>Выбирает услугу цифрового наземного телевидения (цифровой кабельный или антенный прием).</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_TERRESTRIAL_DIGITAL</code> (236)</td> + </tr> + <tr> + <td><code>"TVTimer"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка программирования таймера.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_TIMER_PROGRAMMING</code> (258)</td> + </tr> + </thead> +</table> + +<p>[1] В Firefox добавлена надлежащая поддержка для клавиши <code>"TV"</code> в Firefox 37; до этого, эта клавиша генерировала значение <code>"Live"</code>.</p> + +<p>[2] Эти клавиши возвращали <code>"Unidentified"</code> до Firefox 37.</p> + +<h2 id="Клавиши_медиа-контроллера"><span class="tlid-translation translation" lang="ru"><span title="">Клавиши медиа-контроллера</span></span></h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">Поскольку современные пульты дистанционного управления для мультимедийных устройств часто включают кнопки, помимо базовых элементов управления, описанных в другом месте в этом документе, ключевые значения определены для широкого набора этих дополнительных кнопок.</span></span></p> + +<p><span class="tlid-translation translation" lang="ru"><span title="">Приведенные ниже значения частично получены из ряда технических характеристик бытовой электроники:</span></span></p> + +<ul> + <li><a href="http://atsc.org/standard/a100-dtv-application-software-environment-level-1-dase-1/">DTV Application Software Environment</a> (часть спецификации {{interwiki("wikipedia", "ATSC")}})</li> + <li><a href="http://www.cablelabs.com/specifications/OC-SP-OCAP1.1.3-100603.pdf">Open Cable Application Platform 1.1.3</a></li> + <li><a href="http://www.ce.org/Standards/Standard-Listings/R7-Home-Network-Committee/CEA-2014-B-(ANSI%29.aspx">ANSI/CEA-2014-B</a>: Веб-протокол и фреймворк для удаленного пользовательского интерфейса в сетях UPnP ™ и Интернете</li> + <li><a href="http://developer.android.com/reference/android/view/KeyEvent.html">Android KeyEvent key code values</a></li> +</ul> + +<div class="note"> +<p><strong>Заметка:</strong> <span class="tlid-translation translation" lang="ru"><span title="">Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то еще, например</span></span> <em><span class="tlid-translation translation" lang="ru"><span title="">Мультимедийные клавиши</span></span></em> или <em>Клавиши управления звуком</em>. <span class="tlid-translation translation" lang="ru"><span title="">Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.</span></span></p> +</div> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"AVRInput"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Изменяет источник сигнала на внешнем аудио / видео ресивере (AVR).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_AVR_INPUT</code> (182)</td> + </tr> + <tr> + <td><code>"AVRPower"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает питание внешнего блока AVR.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_AVR_POWER</code> (181)</td> + </tr> + <tr> + <td><code>"ColorF0Red"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа красного цвета.</span> <span title="">Она имеет индекс 0 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_0</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_RED</code> (183)</td> + </tr> + <tr> + <td><code>"ColorF1Green"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа зелёного цвета.</span> <span title="">Она имеет индекс 1 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_1</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_GREEN</code> (184)</td> + </tr> + <tr> + <td><code>"ColorF2Yellow"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа жёлтого цвета.</span> <span title="">Она имеет индекс 2 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_2</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_YELLOW</code> (185)</td> + </tr> + <tr> + <td><code>"ColorF3Blue"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа синего цвет.</span> <span title="">Она имеет индекс 3 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_3</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_BLUE</code> (186)</td> + </tr> + <tr> + <td><code>"ColorF4Grey"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа серого цвета.</span> <span title="">Она имеет индекс 4 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_4</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_GREY</code></td> + </tr> + <tr> + <td><code>"ColorF5Brown"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Универсальная функциональная клавиша мультимедиа коричневого цвета.</span> <span title="">Она имеет индекс 5 среди цветных клавиш.</span></span></td> + <td><code>VK_COLORED_KEY_5</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_PROG_BROWN</code></td> + </tr> + <tr> + <td><code>"ClosedCaptionToggle"</code></td> + <td>Включает и выключает скрытые субтитры.</td> + <td><code>VK_CC</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_CAPTIONS</code> (175)</td> + </tr> + <tr> + <td><code>"Dimmer"</code></td> + <td>Регулирует яркость устройства, переключаясь между двумя уровнями яркости или переключаясь между несколькими уровнями яркости.</td> + <td><code>VK_DIMMER</code></td> + <td></td> + <td><code>GDK_KEY_BrightnessAdjust</code> (0x1008FF3B)</td> + <td></td> + </tr> + <tr> + <td><code>"DisplaySwap"</code></td> + <td>Циклически переключает источники видео</td> + <td><code>VK_DISPLAY_SWAP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"DVR"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает источник входного сигнала на цифровой видеорегистратор (DVR).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_DVR</code> (173)</td> + </tr> + <tr> + <td><code>"Exit"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка «Выход» для выхода из текущего приложения или меню.</span></span></td> + <td><code>VK_EXIT</code></td> + <td></td> + <td><code>Qt::Key_Exit</code> (0x0102000a)</td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteClear0"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает первый слот списка избранного.</span></span></td> + <td><code>VK_CLEAR_FAVORITE_0</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteClear1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает второй слот списка избранного.</span></span></td> + <td><code>VK_CLEAR_FAVORITE_1</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteClear2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает третий слот списка избранного.</span></span></td> + <td><code>VK_CLEAR_FAVORITE_2</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteClear3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Очищает четвертый слот списка избранного.</span></span></td> + <td><code>VK_CLEAR_FAVORITE_3</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteRecall0"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся в первом слоте списка избранного.</span></span></td> + <td><code>VK_RECALL_FAVORITE_0</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteRecall1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся во втором слоте списка избранного.</span></span></td> + <td><code>VK_RECALL_FAVORITE_1</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteRecall2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся в третьем слоте списка избранного.</span></span></td> + <td><code>VK_RECALL_FAVORITE_2</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteRecall3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Выбирает (вызывает) программу или содержимое, хранящееся в четвертом слоте списка избранного.</span></span></td> + <td><code>VK_RECALL_FAVORITE_3</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteStore0"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент в первый слот списка избранного.</span></span></td> + <td><code>VK_STORE_FAVORITE_0</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteStore1"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент во второй слот списка избранного.</span></span></td> + <td><code>VK_STORE_FAVORITE_1</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteStore2"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент в третий слот списка избранного.</span></span></td> + <td><code>VK_STORE_FAVORITE_2</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"FavoriteStore3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Сохраняет текущую программу или контент в четвертый слот списка избранного.</span></span></td> + <td><code>VK_STORE_FAVORITE_3</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Guide"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает отображение программы или содержимого, содержащего руководство.</span></span></td> + <td><code>VK_GUIDE</code></td> + <td></td> + <td><code>Qt::Key_Guide</code> (0x0100011A)</td> + <td><code>KEYCODE_GUIDE</code> (172)</td> + </tr> + <tr> + <td><code>"GuideNextDay"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Если руководство отображается в данный момент, эта кнопка указывает руководству отобразить содержимое на следующий день.</span></span></td> + <td><code>VK_NEXT_DAY</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"GuidePreviousDay"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Если руководство отображается в данный момент, эта кнопка указывает руководству отобразить содержимое предыдущего дня.</span></span></td> + <td><code>VK_PREV_DAY</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Info"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает отображение информации о текущем выбранном содержимом, программе или медиа.</span></span></td> + <td><code>VK_INFO</code></td> + <td></td> + <td><code>Qt::Key_Info</code> (0x0100011B)</td> + <td><code>KEYCODE_INFO</code> (165)</td> + </tr> + <tr> + <td><code>"InstantReplay"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Указывает устройству выполнить мгновенное перевоспроизведение (обычно это некоторая форма возврата на короткий промежуток времени с последующим воспроизведением, возможно, но обычно не в замедленном режиме).</span></span></td> + <td><code>VK_INSTANT_REPLAY</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Link"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Открывает содержимое, связанное с текущей программой, если это возможно и доступно.</span></span></td> + <td><code>VK_LINK</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"ListProgram"</code></td> + <td>Список текущей программы.</td> + <td><code>VK_LIST</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"LiveContent"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключает отображение списка доступного в данный момент live-содержимого или программ.</span></span></td> + <td><code>VK_LIVE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Lock"</code></td> + <td>Блокирует и разблокирует текущее выбранное содержимое или программу.</td> + <td><code>VK_LOCK</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"MediaApps"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Представляет список мультимедийных приложений, таких как программы просмотра фотографий, аудио- и видеоплееры, а также игры.</span></span> [1]</td> + <td><code>VK_APPS</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"MediaAudioTrack"</code></td> + <td>Клавиша звуковой дорожки.</td> + <td></td> + <td></td> + <td>GDK_KEY_AudioCycleTrack (0x1008FF9B)<br> + <code>Qt::Key_AudioCycleTrack</code> (0x01000106)</td> + <td><code>KEYCODE_MEDIA_AUDIO_TRACK</code> (222)</td> + </tr> + <tr> + <td><code>"MediaLast"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Возврат к последнему просмотренному содержимому, программе или другому медиафайлу.</span></span></td> + <td><code>VK_LAST</code></td> + <td></td> + <td><code>Qt::Key_MediaLast</code> (0x0100FFFF)</td> + <td><code>KEYCODE_LAST_CHANNEL</code> (229)</td> + </tr> + <tr> + <td><code>"MediaSkipBackward"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход назад к предыдущему содержимому или программе.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_MEDIA_SKIP_BACKWARD</code></td> + </tr> + <tr> + <td><code>"MediaSkipForward"</code></td> + <td>Переход к следующему содержимому или программе.</td> + <td><code>VK_SKIP</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_MEDIA_SKIP_FORWARD</code></td> + </tr> + <tr> + <td><code>"MediaStepBackward"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход назад к предыдущему содержимому или программе.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_MEDIA_STEP_BACKWARD</code></td> + </tr> + <tr> + <td><code>"MediaStepForward"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход к следующему содержимому или программе.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_MEDIA_SKIP_FORWARD</code></td> + </tr> + <tr> + <td><code>"MediaTopMenu"</code></td> + <td>Кнопка верхнего меню. Открывает главное меню носителя (например, для диска DVD или Blu-Ray).</td> + <td></td> + <td></td> + <td><code>Qt::Key_TopMenu</code> (0x0100010A)</td> + <td><code>KEYCODE_MEDIA_TOP_MENU</code></td> + </tr> + <tr> + <td><code>"NavigateIn"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход в подменю или параметр.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_NAVIGATE_IN</code></td> + </tr> + <tr> + <td><code>"NavigateNext"</code></td> + <td>Переход к следующему элементу.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_NAVIGATE_NEXT</code></td> + </tr> + <tr> + <td><code>"NavigateOut"</code></td> + <td>Переход из текущего экрана или меню.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_NAVIGATE_OUT</code></td> + </tr> + <tr> + <td><code>"NavigatePrevious"</code></td> + <td>Переход к предыдущему элементу.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_NAVIGATE_PREVIOUS</code></td> + </tr> + <tr> + <td><code>"NextFavoriteChannel"</code></td> + <td>Циклически переходит на следующий канал в списке избранного.</td> + <td><code>VK_NEXT_FAVORITE_CHANNEL</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"NextUserProfile"</code></td> + <td>Циклически переходит к следующему сохраненному профилю пользователя, если эта функция поддерживается и существует несколько профилей.</td> + <td><code>VK_USER</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"OnDemand"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Открывает пользовательский интерфейс для выбора содержимого или программ по запросу для просмотра.</span></span></td> + <td><code>VK_ON_DEMAND</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Pairing"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Запускает процесс сопряжения пульта дистанционного управления с управляемым устройством.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_PAIRING</code> (225)</td> + </tr> + <tr> + <td><code>"PinPDown"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка для перемещения изображения «картинка в картинке» вниз.</span></span></td> + <td><code>VK_PINP_DOWN</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PinPMove"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка для управления перемещением изображения «картинка в картинке».</span></span></td> + <td><code>VK_PINP_MOVE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PinPToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает отображение изображения в «картинка в картинке».</span></span></td> + <td><code>VK_PINP_TOGGLE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PinPUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Кнопка для перемещения изображения «картинка в картинке» вверх.</span></span></td> + <td><code>VK_PINP_UP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PlaySpeedDown"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Уменьшает скорость воспроизведения мультимедиа.</span></span></td> + <td><code>VK_PLAY_SPEED_DOWN</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PlaySpeedReset"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Возвращает нормальную скорость воспроизведения мультимедиа.</span></span></td> + <td><code>VK_PLAY_SPEED_RESET</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"PlaySpeedUp"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Увеличивает скорость воспроизведения мультимедиа.</span></span></td> + <td><code>VK_PLAY_SPEED_UP</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"RandomToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает случайные медиафайлы (также известно как «режим случайного воспроизведения»).</span></span></td> + <td><code>VK_RANDOM_TOGGLE</code></td> + <td></td> + <td><code>GDK_KEY_AudioRandomPlay</code> (0x1008FF99)</td> + <td></td> + </tr> + <tr> + <td><code>"RcLowBattery"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Код, отправляемый при низком заряде батареи пульта ДУ.</span> <span title="">Это вообще не соответствует физической кнопке/клавише.</span></span></td> + <td><code>VK_RC_LOW_BATTERY</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"RecordSpeedNext"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Циклически переключает доступные скорости записи на носитель.</span></span></td> + <td><code>VK_RECORD_SPEED_NEXT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"RfBypass"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим пропуска радиочастотного (RF) входа.</span> <span title="">В режиме пропуска РЧ входной сигнал передается непосредственно на выход РЧ без какой-либо обработки или фильтрации.</span></span></td> + <td><code>VK_RF_BYPASS</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"ScanChannelsToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим сканирования каналов.</span> <span title="">Это режим, который автоматически переключает каналы, пока пользователь не остановит сканирование.</span></span></td> + <td><code>VK_SCAN_CHANNELS_TOGGLE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"ScreenModeNext"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Циклически переключает доступные режимы отображения экрана.</span></span></td> + <td><code>VK_SCREEN_MODE_NEXT</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Settings"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает отображение экрана настроек устройства.</span></span></td> + <td><code>VK_SETTINGS</code></td> + <td></td> + <td><code>Qt::Key_Settings</code> (0x0100011C)</td> + <td><code>KEYCODE_SETTINGS</code></td> + </tr> + <tr> + <td><code>"SplitScreenToggle"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает режим разделения экрана.</span></span></td> + <td><code>VK_SPLIT_SCREEN_TOGGLE</code></td> + <td></td> + <td><code>GDK_KEY_SplitScreen (</code>0x1008FF7D)<br> + <code>Qt::Key_SplitScreen</code> (0x010000ED)</td> + <td></td> + </tr> + <tr> + <td><code>"STBInput"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключение между источниками сигнала на внешней приставке (STB).</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_STB_INPUT</code> (180)</td> + </tr> + <tr> + <td><code>"STBPower"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Включает и выключает внешний STB.</span></span></td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_STB_POWER</code> (179)</td> + </tr> + <tr> + <td><code>"Subtitle"</code></td> + <td>Включает и выключает отображение субтитров, если они доступны.</td> + <td><code>VK_SUBTITLE</code></td> + <td></td> + <td><code>GDK_KEY_Subtitle</code> (0x1008FF9A)</td> + <td><code>KEYCODE_CAPTIONS</code> (175)</td> + </tr> + <tr> + <td><code>"Teletext"</code></td> + <td>Включает и выключает отображение {{interwiki("wikipedia", "телетекст")}}а,если доступно.</td> + <td><code>VK_TELETEXT</code></td> + <td></td> + <td></td> + <td><code>KEYCODE_TV_TELETEXT</code> (233)</td> + </tr> + <tr> + <td><code>"VideoModeNext"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Перебирает доступные видеорежимы.</span></span></td> + <td><code>VK_VIDEO_MODE_NEXT</code></td> + <td></td> + <td><code>GDK_KEY_Next_VMode</code> (0x1008FE22)</td> + <td></td> + </tr> + <tr> + <td><code>"Wink"</code></td> + <td>Заставляет устройство идентифицировать себя каким-либо образом, например, мигает светом, на короткое время меняет яркость световых индикаторов или издает звуковой сигнал.</td> + <td><code>VK_WINK</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"ZoomToggle"</code> [2]</td> + <td>Переключает между полноэкранным и масштабированным отображением содержимого или иным образом изменяет уровень увеличения.</td> + <td><code>VK_ZOOM</code> (0xFB)</td> + <td></td> + <td><code>Qt::Key_Zoom</code> (0x01020006)</td> + <td><code>KEYCODE_TV_ZOOM_MODE</code> (255)</td> + </tr> + </thead> +</table> + +<p>[1] Не путайте клавишу медиа-контроллера <code>VK_APPS</code> с клавишей Windows <code>VK_APPS</code>, которая также известна как <code>VK_CONTEXT_MENU</code>. Эта клавиша возвращает значение <code>"ContextMenu"</code>.</p> + +<p>[2] Internet Explorer (проверено в версиях 9 и 11) и Firefox 36 и более ранние определяли кнопку переключения масштаба как <code>"Zoom"</code>. В Firefox 37 исправлено на <code>"ZoomToggle"</code>.</p> + +<p>[3] Эти клавиши возвращали <code>"Unidentified"</code> до Firefox 37.</p> + +<h2 id="Клавиши_распознавания_речи"><span class="tlid-translation translation" lang="ru"><span title="">Клавиши распознавания речи</span></span></h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">Эти специальные мультимедийные клавиши используются для управления функциями распознавания речи.</span></span></p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"SpeechCorrectionList"</code> [1]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Представляет список возможных исправлений неверно определенного слова.</span></span></td> + <td><code>APPCOMMAND_CORRECTION_LIST</code></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"SpeechInputToggle"</code> [2]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переключение между режимом диктовки и режимом команд/управления.</span> <span title="">Это позволяет механизму обработки речи знать, интерпретировать ли произносимые слова как вводимый текст или как команды.</span></span></td> + <td><code>APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE</code></td> + <td></td> + <td></td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] В Windows команда <code>APPCOMMAND_CORRECTION_LIST</code> генерирует значение <code>"Unidentified"</code> в Firefox.</p> + +<p>[2] В Windows команда <code>APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE</code> генерирует значение <code>"Unidentified"</code> в Firefox.</p> + +<h2 id="Клавиши_документа">Клавиши документа</h2> + +<p>Эти клавиши управляют документами. В спецификации они включены в другие наборы клавиш(например, мультимедийные), но разумнее выделять их в собственную категорию.</p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"Close"</code> [1]</td> + <td>Закрывает текущий документ или сообщение. Не должен выходить из приложения.</td> + <td><code>APPCOMMAND_CLOSE</code></td> + <td></td> + <td><code>GDK_KEY_Close</code> (0x1008FF56)<br> + <code>Qt::Key_Close</code> (0x010000CE)</td> + <td><code>KEYCODE_MEDIA_CLOSE</code> (128)</td> + </tr> + <tr> + <td><code>"New"</code> [1]</td> + <td>Создает новый документ или сообщение.</td> + <td><code>APPCOMMAND_NEW</code></td> + <td></td> + <td><code>GDK_KEY_New</code> (0x1008FF68)<br> + <code>Qt::Key_New</code> (0x01000120)</td> + <td></td> + </tr> + <tr> + <td><code>"Open"</code> [1]</td> + <td>Открывает существующий документ или сообщение.</td> + <td><code>APPCOMMAND_OPEN</code></td> + <td></td> + <td><code>GDK_KEY_Open</code> (0x1008FF6B)<br> + <code>Qt::Key_Open</code> (0x01000121)</td> + <td></td> + </tr> + <tr> + <td><code>"Print"</code></td> + <td>Печатает текущий документ или сообщение.</td> + <td><code>APPCOMMAND_PRINT</code></td> + <td></td> + <td><code>GDK_KEY_Print</code> (0xFF61)<br> + <code>Qt::Print</code> (0x01000009)</td> + <td></td> + </tr> + <tr> + <td><code>"Save"</code> [1]</td> + <td>Сохраняет текущий документ или сообщение.</td> + <td><code>APPCOMMAND_SAVE</code></td> + <td></td> + <td><code>GDK_KEY_Save</code> (0x1008FF77)<br> + <code>Qt::Key_Save</code> (0x010000EA)</td> + <td></td> + </tr> + <tr> + <td><code>"SpellCheck"</code> [1]</td> + <td>Запускает проверку орфографии в текущем документе.</td> + <td><code>APPCOMMAND_SPELL_CHECK</code></td> + <td></td> + <td><code>GDK_KEY_Spell</code> (0x1008FF7C)<br> + <code>Qt::Key_Spell</code> (0x010000EC)</td> + <td></td> + </tr> + <tr> + <td><code>"MailForward"</code> [1]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Открывает пользовательский интерфейс для пересылки сообщения.</span></span></td> + <td><code>APPCOMMAND_FORWARD_MAIL</code></td> + <td></td> + <td><code>GDK_KEY_MailForward</code> (0x1008FF90)<br> + <code>Qt::Key_MailForward</code> (0x010000FB)</td> + <td></td> + </tr> + <tr> + <td><code>"MailReply"</code> [1]</td> + <td>Открывает пользовательский интерфейс для ответа на сообщение.</td> + <td><code>APPCOMMAND_REPLY_TO_MAIL</code></td> + <td></td> + <td><code>GDK_KEY_Reply</code> (0x1008FF72)<br> + <code>Qt::Key_Reply</code> (0x010000E5)</td> + <td></td> + </tr> + <tr> + <td><code>"MailSend"</code> [1]</td> + <td>Отправляет текущее сообщение.</td> + <td><code>APPCOMMAND_SEND_MAIL</code></td> + <td></td> + <td><code>GDK_KEY_Send</code> (0x1008FF7B)<br> + <code>Qt::Key_Send</code> (0x010000EB)</td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] До Firefox 37, эта клавиша генерировала значение <code>"Unidentified"</code>.</p> + +<h2 id="Клавиши_приложений">Клавиши приложений</h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">На некоторых клавиатурах есть специальные клавиши для запуска определенных распространенных приложений или переключения на них.</span> <span title="">Значения клавиш для них перечислены здесь.</span></span></p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"LaunchCalculator"</code> [5]</td> + <td>Клавиша запуска калькулятора <kbd>Calculator</kbd>, часто помечается значком. Часто используется в качестве общей клавиши запуска приложений (<code>APPCOMMAND_LAUNCH_APP2</code>).</td> + <td><code>APPCOMMAND_LAUNCH_APP2</code></td> + <td></td> + <td><code>GDK_KEY_Calculator</code> (0x1008FF1D)<br> + <code>Qt::Key_Calculator</code> (0x010000CB)</td> + <td><code>KEYCODE_CALCULATOR</code> (210)</td> + </tr> + <tr> + <td><code>"LaunchCalendar"</code> [5]</td> + <td>Клавиша календаря <kbd>Calendar</kbd>. Часто помечается значком.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Calendar</code> (0x1008FF20)<br> + <code>Qt::Key_Calendar</code> (0x010000E4)</td> + <td><code>KEYCODE_CALENDAR</code> (208)</td> + </tr> + <tr> + <td><code>"LaunchContacts"</code></td> + <td>Клавиша "Контакты" <kbd>Contacts</kbd>.</td> + <td></td> + <td></td> + <td></td> + <td><code>KEYCODE_CONTACTS</code> (207)</td> + </tr> + <tr> + <td><code>"LaunchMail"</code></td> + <td>Клавиша электронной почты <kbd>Mail</kbd>. Часто помечается значком.</td> + <td><code>VK_LAUNCH_MAIL</code> (0xB4)<br> + <code>APPCOMMAND_LAUNCH_MAIL</code></td> + <td></td> + <td><code>GDK_KEY_Mail</code> (0x1008FF19)<br> + <code>Qt::Key_LaunchMail</code> (0x010000A0)</td> + <td><code>KEYCODE_ENVELOPE</code> (65)</td> + </tr> + <tr> + <td><code>"LaunchMediaPlayer"</code> [1]</td> + <td>Клавиша медиаплеера <kbd>Media Player</kbd>. Часто помечается значком.</td> + <td><code>VK_LAUNCH_MEDIA_SELECT</code> (0xB5)<br> + <code>APPCOMMAND_LAUNCH_MEDIA_SELECT</code></td> + <td></td> + <td><code>GDK_KEY_CD</code> (0x1008FF53)<br> + <code>GDK_KEY_Video</code> (0x1008FF87)<br> + <code>GDK_KEY_AudioMedia</code> (0x1008FF32)<br> + <code>Qt::Key_LaunchMedia</code> (0x010000A1)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchMusicPlayer"</code> [5]</td> + <td>Клавиша музыкального проигрывателя <kbd>Music Player</kbd>. Часто помечается значком.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Music</code> (0x1008FF92)<br> + <code>Qt::Key_Music</code> (0x010000FD)</td> + <td><code>KEYCODE_MUSIC</code> (209)</td> + </tr> + <tr> + <td><code>"LaunchMyComputer"</code> [5]</td> + <td>Клавиша "Мой компьютер" <kbd>My Computer</kbd> на клавиатурах Windows. Часто используется в качестве общей клавиши запуска приложений (<code>APPCOMMAND_LAUNCH_APP1</code>).</td> + <td><code>APPCOMMAND_LAUNCH_APP1</code></td> + <td></td> + <td><code>GDK_KEY_MyComputer</code> (0x1008FF33)<br> + <code>GDK_KEY_Explorer</code> (0x1008FF5D)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchPhone"</code></td> + <td>Клавиша телефонии <kbd>Phone</kbd>. Открывает приложение для набора номера телефона (если таковое имеется).</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Phone</code> (0x1008FF6E)<br> + <code>Qt::Key_Phone</code> (0x010000E3)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchScreenSaver"</code> [5]</td> + <td>Клавиша заставки <kbd>Screen Saver</kbd>.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_ScreenSaver</code> (0x1008FF2D)<br> + <code>Qt::Key_ScreenSaver</code> (0x010000BA)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchSpreadsheet"</code> [4]</td> + <td>Клавиша табличного процессора <kbd>Spreadsheet</kbd>. Эта клавиша часто помечается значком.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Excel</code> (0x1008FF5C)<br> + <code>Qt::Key_Excel</code> (0x010000D4)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchWebBrowser"</code> [4]</td> + <td>Клавиша веб-браузера <kbd>Web Browser</kbd>. Эта клавиша часто помечается значком.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_WWW</code> (0x1008FF2E)<br> + <code>Qt::Key_WWW</code> (0x010000BB)</td> + <td><code>KEYCODE_EXPLORER</code> (64)</td> + </tr> + <tr> + <td><code>"LaunchWebCam"</code> [5]</td> + <td>Клавиша <kbd>WebCam</kbd>. Открывает приложение веб-камеры.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_WebCam</code> (0x1008FF8F)<br> + <code>Qt::Key_WebCam</code> (0x010000FA)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchWordProcessor"</code> [5]</td> + <td>Клавиша текстового процессора <kbd>Word Processor</kbd>. Это может быть значок конкретного приложения текстового процессора или общий значок документа.</td> + <td></td> + <td></td> + <td><code>GDK_KEY_Word</code> (0x1008FF89)<br> + <code>Qt::Key_Word</code> (0x010000F4)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication1"</code> [2]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">1-я общая кнопка запуска приложений.</span></span></td> + <td><code>VK_LAUNCH_APP1</code> (0xB6)<br> + <code>APPCOMMAND_LAUNCH_APP1</code></td> + <td></td> + <td><code>GDK_KEY_Launch0</code> (0x1008FF40)<br> + <code>Qt::Key_Launch0</code> (0x010000A2)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication2"</code> [3]</td> + <td><span class="tlid-translation translation" lang="ru"><span title="">2-я общая кнопка запуска приложений.</span></span></td> + <td><code>VK_LAUNCH_APP2</code> (0xB7)<br> + <code>APPCOMMAND_LAUNCH_APP2</code></td> + <td></td> + <td><code>GDK_KEY_Launch1</code> (0x1008FF41)<br> + <code>Qt::Key_Launch1</code> (0x010000A3)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication3"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">3-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch2</code> (0x1008FF42)<br> + <code>Qt::Key_Launch2</code> (0x010000A4)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication4"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">4-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch3</code> (0x1008FF43)<br> + <code>Qt::Key_Launch3</code> (0x010000A5)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication5"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">5-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch4</code> (0x1008FF44)<br> + <code>Qt::Key_Launch4</code> (0x010000A6)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication6"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">6-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch5</code> (0x1008FF45)<br> + <code>Qt::Key_Launch5</code> (0x010000A7)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication7"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">7-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch6</code> (0x1008FF46)<br> + <code>Qt::Key_Launch6</code> (0x010000A8)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication8"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">8-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch7</code> (0x1008FF47)<br> + <code>Qt::Key_Launch7</code> (0x010000A9)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication9"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">9-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch8</code> (0x1008FF48)<br> + <code>Qt::Key_Launch8</code> (0x010000AA)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication10"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">10-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_Launch9</code> (0x1008FF49)<br> + <code>Qt::Key_Launch9</code> (0x010000AB)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication11"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">11-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchA</code> (0x1008FF4A)<br> + <code>Qt::Key_LaunchA</code> (0x010000AC)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication12"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">12-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchB</code> (0x1008FF4B)<br> + <code>Qt::Key_LaunchB</code> (0x010000AD)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication13"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">13-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchC</code> (0x1008FF4C)<br> + <code>Qt::Key_LaunchC</code> (0x010000AE)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication14"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">14-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchD</code> (0x1008FF4D)<br> + <code>Qt::Key_LaunchD</code> (0x010000AF)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication15"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">15-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchE</code> (0x1008FF4E)<br> + <code>Qt::Key_LaunchE</code> (0x010000B0)</td> + <td></td> + </tr> + <tr> + <td><code>"LaunchApplication16"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">16-я общая кнопка запуска приложений.</span></span></td> + <td></td> + <td></td> + <td><code>GDK_KEY_LaunchF</code> (0x1008FF4F)<br> + <code>Qt::Key_LaunchF</code> (0x010000B1)</td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] Internet Explorer, Edge, и Firefox (36 и ранее) используют <code>"SelectMedia"</code> вместо <code>"LaunchMediaPlayer"</code>. Firefox 37 и Firefox 48 используют <code>"MediaSelect"</code>. Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">был обновлен в соответствии с последней спецификацией и теперь возвращает</span></span> <code>"LaunchMediaPlayer"</code>.</p> + +<p>[2] Google Chrome 57 и ранние возращают <code>"LaunchMyComputer"</code> вместо <code>"LaunchApplication1"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p> + +<p>[3] Google Chrome 57 и ранние возвращают <code>"LaunchCalculator"</code> вместо <code>"LaunchApplication2"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p> + +<p>[4] До Firefox 37, Firefox возвращал the key code <code>"LaunchApplication1"</code> вместо "<code>LaunchWebBrowser"</code>для клавиши Веб-браузера.</p> + +<p>[5] Firefox ввёл поддержку этой клавиши в Firefox 37. До этого, эта клавиша возвращала значение <code>"Unidentified"</code>.</p> + +<h2 id="Клавиши_управления_браузером">Клавиши управления браузером</h2> + +<p><span class="tlid-translation translation" lang="ru"><span title="">На некоторых клавиатурах есть специальные клавиши для управления веб-браузерами.</span> <span title="">Это следующие клавиши.</span></span></p> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"BrowserBack"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход к предыдущему содержимому или странице в истории текущего веб-представления.</span></span></td> + <td><code>VK_BROWSER_BACK</code> (0xA6)<br> + <code>APPCOMMAND_BROWSER_BACKWARD</code></td> + <td></td> + <td><code>GDK_KEY_Back</code> (0x1008FF26)<br> + <code>Qt::Key_Back</code> (0x01000061)</td> + <td><code>KEYCODE_BACK</code> (4)</td> + </tr> + <tr> + <td><code>"BrowserFavorites"</code> [1]</td> + <td>Открывает список закладок/избранного пользователя.</td> + <td><code>VK_BROWSER_FAVORITES</code> (0xAB)<br> + <code>APPCOMMAND_BROWSER_FAVORITES</code></td> + <td></td> + <td><code>GDK_KEY_Favorites</code> (0x1008FF30)<br> + <code>GDK_KEY_MySites</code> (0x1008FF67)<br> + <code>Qt::Favorites</code> (0x01000091)</td> + <td><code>KEYCODE_BOOKMARK</code> (174)</td> + </tr> + <tr> + <td><code>"BrowserForward"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход к следующему содержимому или странице в истории текущего веб-представления.</span></span></td> + <td><code>VK_BROWSER_FORWARD</code> (0xA7)<br> + <code>APPCOMMAND_BROWSER_FORWARD</code></td> + <td></td> + <td><code>GDK_KEY_Forward</code> (0x1008FF27)<br> + <code>Qt::Key_Forward</code> (0x01000062)</td> + <td><code>KEYCODE_FORWARD</code> (125)</td> + </tr> + <tr> + <td><code>"BrowserHome"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Переход к домашней странице, установленной пользователем.</span></span></td> + <td><code>VK_BROWSER_HOME</code> (0xAC)<br> + <code>APPCOMMAND_BROWSER_HOME</code></td> + <td></td> + <td><code>GDK_KEY_HomePage</code> (0x1008FF18)<br> + <code>Qt::Key_HomePage</code> (0x01000090)</td> + <td><code>KEYCODE_HOME</code> (3)</td> + </tr> + <tr> + <td><code>"BrowserRefresh"</code></td> + <td>Обновление текущей страницы или содержимого.</td> + <td><code>VK_BROWSER_REFRESH</code> (0xA8)<br> + <code>APPCOMMAND_BROWSER_REFRESH</code></td> + <td></td> + <td><code>GDK_KEY_Refresh</code> (0x1008FF29)<br> + <code>GDK_KEY_Reload</code> (0x1008FF73)</td> + <td></td> + </tr> + <tr> + <td><code>"BrowserSearch"</code></td> + <td>Активирует предпочтительную поисковую систему пользователя или интерфейс поиска в его браузере.</td> + <td><code>VK_BROWSER_SEARCH</code> (0xAA)<br> + <code>APPCOMMAND_BROWSER_SEARCH</code></td> + <td></td> + <td><code>GDK_KEY_Search</code> (0x1008FF1B)<br> + <code>Qt::Key_Search</code> (0x01000092)</td> + <td><code>KEYCODE_SEARCH</code> (84)</td> + </tr> + <tr> + <td><code>"BrowserStop"</code></td> + <td>Останавливает загрузку текущего веб-представления или содержимого.</td> + <td><code>VK_BROWSER_STOP</code> (0xA9)<br> + <code>APPCOMMAND_BROWSER_STOP</code></td> + <td></td> + <td><code>GDK_KEY_Stop</code> (0x1008FF28)<br> + <code>Qt::Key_Search</code> (0x01000063)</td> + <td></td> + </tr> + </thead> +</table> + +<p>[1] До Firefox 37, эта клавиша возвращала значение <code>"Unidentified"</code>.</p> + +<h2 id="Клавиши_цифрового_блока">Клавиши цифрового блока</h2> + +<p>Эти клавиши находятся на цифровой панели клавиатуры. Однако не все они присутствуют на каждой клавиатуре. Хотя типичные цифровые панели имеют цифровые клавиши от <kbd>0</kbd> до <kbd>9</kbd> (кодируются как <code>"0"</code> - <code>"9"</code>), некоторые мультимедийные клавиатуры включают дополнительные цифровые клавиши для более высоких чисел.</p> + +<div class="note"> +<p>Клавиша <kbd>10</kbd>, <span class="tlid-translation translation" lang="ru"><span title="">если она присутствует, генерирует события</span></span> <span class="tlid-translation translation" lang="ru"><span title="">со значением ключа</span></span> <code>"0"</code>.</p> +</div> + +<table class="standard-table"> + <thead> + <tr> + <th rowspan="2" scope="col" style="text-align: left;">Значение <code>KeyboardEvent.key</code></th> + <th rowspan="2" scope="col" style="text-align: left;">Описание</th> + <th colspan="4" scope="col" style="text-align: center;">Виртуальный код клавиши</th> + </tr> + <tr> + <th scope="col" style="text-align: left;">Windows</th> + <th scope="col" style="text-align: left;">Mac</th> + <th scope="col" style="text-align: left;">Linux</th> + <th scope="col" style="text-align: left;">Android</th> + </tr> + <tr> + <td><code>"Decimal"</code> [1] {{obsolete_inline}}</td> + <td> + <p><span class="tlid-translation translation" lang="ru"><span title="">Клавиша десятичной точки</span></span> (обычно <kbd>.</kbd> или <kbd>,</kbd> в зависимости от региона).</p> + + <p><span class="tlid-translation translation" lang="ru"><span title="">В новых браузерах это значение должно быть просто символом, сгенерированным клавишей десятичной точки (одним из этих двух символов).</span> <span title="">[1]</span></span></p> + </td> + <td><code>VK_DECIMAL</code> (0x6E)</td> + <td><code>kVK_ANSI_KeypadDecimal</code> (0x41)</td> + <td><code>GDK_KEY_KP_Decimal</code> (0xFFAE)<br> + </td> + <td><code>KEYCODE_NUMPAD_DOT</code> (158)</td> + </tr> + <tr> + <td><code>"Key11"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Клавиша</span></span> <kbd>11</kbd> <span class="tlid-translation translation" lang="ru"><span title=""> встречается на некоторых цифровых мультимедиа клавиатурах.</span></span></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Key12"</code></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Клавиша</span></span> <kbd>12</kbd> <span class="tlid-translation translation" lang="ru"><span title="">встречается на некоторых цифровых мультимедиа клавиатурах.</span></span>.</td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><code>"Multiply"</code> [1] {{obsolete_inline}}</td> + <td>Клавиша умножения на цифровой панели, <kbd>*</kbd>.</td> + <td><code>VK_MULTIPLY</code> (0x6A)</td> + <td><code>kVK_ANSI_KeypadMultiply</code> (0x43)</td> + <td><code>GDK_KEY_KP_Multiply</code> (0xFFAA)<br> + <code>Qt::Key_Multiply</code> (0x0D7)</td> + <td><code>KEYCODE_NUMPAD_MULTIPLY</code> (155)</td> + </tr> + <tr> + <td><code>"Add"</code> [1] {{obsolete_inline}}</td> + <td>Клавиша сложения на цифровой панели, <kbd>+</kbd>.</td> + <td><code>VK_ADD</code> (0x6B)</td> + <td><code>kVK_ANSI_KeypadPlus</code> (0x45)</td> + <td><code>GDK_KEY_KP_Add</code> (0xFFAB)</td> + <td><code>KEYCODE_NUMPAD_ADD</code> (157)</td> + </tr> + <tr> + <td><code>"Clear"</code></td> + <td>Клавиша очистки на цифровой панели, <kbd>Clear</kbd>.</td> + <td></td> + <td><code>kVK_ANSI_KeypadClear</code> (0x47)</td> + <td><code>GDK_KEY_Clear</code> (0xFF0B)<br> + <code>Qt::Key_Clear</code> (0x0100000B)</td> + <td><code>KEYCODE_CLEAR</code> (28)</td> + </tr> + <tr> + <td><code>"Divide"</code> [1] {{obsolete_inline}}</td> + <td>Клавиша деления на цифровой панели, <kbd>/</kbd>.</td> + <td><code>VK_DIVIDE</code> (0x6F)</td> + <td><code>kVK_ANSI_KeypadDivide</code> (0x4B)</td> + <td><code>GDK_KEY_KP_Divide</code> (0xFFAF)<br> + <code>Qt::Key_Slash</code> (0x2F)</td> + <td><code>KEYCODE_NUMPAD_DIVIDE</code> (154)</td> + </tr> + <tr> + <td><code>"Subtract"</code> [1] {{obsolete_inline}}</td> + <td>Клавиша вычитания на цифровой панели, <kbd>-</kbd>.</td> + <td><code>VK_SUBTRACT</code> (0x6D)</td> + <td><code>kVK_ANSI_KeypadMinus</code> (0x4E)</td> + <td><code>GDK_KEY_KP_Subtract</code> (0xFFAD)</td> + <td><code>KEYCODE_NUMPAD_SUBTRACT</code> (156)</td> + </tr> + <tr> + <td><code>"Separator"</code> [1]</td> + <td> + <p><span class="tlid-translation translation" lang="ru"><span title="">Символ разделителя позиций на цифровой клавиатуре.</span></span></p> + + <p><span class="tlid-translation translation" lang="ru"><span title="">(В США это запятая, но в других странах это часто точка.)</span></span></p> + </td> + <td><code>VK_SEPARATOR</code> (0x6C)</td> + <td><code>kVK_JIS_KeypadComma</code> (0x5F)</td> + <td><code>GDK_KEY_KP_Separator</code> (0xFFAC)<br> + </td> + <td><code>KEYCODE_NUMPAD_COMMA</code> (159)</td> + </tr> + <tr> + <td><code>От "0"</code> до <code>"9"</code></td> + <td>Фактические цифровые клавиши на цифровой панели.</td> + <td><code>VK_NUMPAD0</code> (0x60) - <code>VK_NUMPAD9</code> (0x69)</td> + <td><code>kVK_Keypad0</code> (0x52) - <code>kVK_Keypad9</code> (0x5C)</td> + <td><code>GDK_KEY_KP_0</code> (0xFFB0) - <code>GDK_KEY_KP_9</code> (0xFFB9)</td> + <td><code>KEYCODE_NUMPAD_0</code> (144) - <code>KEYCODE_NUMPAD_9</code> (153)</td> + </tr> + </thead> +</table> + +<p><span class="tlid-translation translation" lang="ru"><span title="">[1] В то время как старые браузеры использовали такие слова, как «Добавить», «Десятичное число», «Умножить» и т. д., современные браузеры идентифицируют их по фактическому символу («+», «.», «*» и т. д.).</span></span></p> 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 +--- +<div>{{APIRef ("События DOM")}} {{Deprecated_header}}<br> +Свойство which только для чтения интерфейса {{domxref ("KeyboardEvent")}} возвращает числовой код клавиши нажатой клавиши или код символа (charCode) для нажатой буквенно-цифровой клавиши.</div> + + + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">var <em>keyResult</em> = <em>event</em>.which; +</pre> + +<h3 id="Параметры">Параметры</h3> + +<ul> + <li><code>keyResult содержит числовой код для конкретной нажатой клавиши, в зависимости от того, была ли нажата буквенно-цифровая или не буквенно-цифровая клавиша. Пожалуйста, смотрите {{domxref ("KeyboardEvent.charCode")}} и {{domxref ("KeyboardEvent.keyCode")}} для получения дополнительной информации.</code></li> +</ul> + +<h2 id="Примеры">Примеры</h2> + +<pre class="brush: html"><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> +</pre> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Специфиыкация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM3 Events','#legacy-interface-KeyboardEvent','KeyboardEvent.which')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Initial definition; specified as deprecated</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + + + +<p>{{Compat("api.KeyboardEvent.which")}}</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{domxref("KeyboardEvent")}}, the interface this property belongs too.</li> +</ul> |