1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: Gamepad
slug: Web/API/Gamepad
translation_of: Web/API/Gamepad
---
<div>{{APIRef("Gamepad API")}}</div>
<p>Интерфейс <strong><code>Gamepad</code></strong> <a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a> определяет отдельный геймпад или контроллер, предоставляющий доступ к такой информации, как: нажатие кнопок, позиции осей, и id.</p>
<p>Объект <code>Gamepad</code> может быть возвращён в одном из двух случаев: как свойство <code>gamepad</code> событий {{event("gamepadconnected")}} и {{event("gamepaddisconnected")}}, или считыванием любой позиции в массиве, возвращённом методом {{domxref("Navigator.getGamepads()")}}.</p>
<h2 id="Свойства">Свойства</h2>
<dl>
<dt>{{domxref("Gamepad.displayId")}} {{readonlyInline}}</dt>
<dd><dfn>Возвращает {{domxref("VRDisplay.displayId")}} связанный с {{domxref("VRDisplay")}} (при необходимости) — <code>VRDisplay</code> отображаемая область которого управляется геймпадом.</dfn></dd>
<dt>{{domxref("Gamepad.id")}} {{readonlyInline}}</dt>
<dd>{{domxref("DOMString")}} содержит идентификационную информацию о контроллере.</dd>
<dt>{{domxref("Gamepad.index")}} {{readonlyInline}}</dt>
<dd>Целое автоинкрементируемое значение, уникальное для каждого устройства, подключённого в данный момент к системе.</dd>
<dt>{{domxref("Gamepad.mapping")}} {{readonlyInline}}</dt>
<dd>Строка, указывающая, переназначил ли браузер элементы управления устройства на уже известный шаблон.</dd>
<dt>{{domxref("Gamepad.connected")}} {{readonlyInline}}</dt>
<dd>Логическое свойство показывающее, подключён ли геймпад к системе в данный момент.</dd>
<dt>{{domxref("Gamepad.buttons")}} {{readonlyInline}}</dt>
<dd>Массив объектов {{domxref("gamepadButton")}} представляющих кнопки устройства.</dd>
<dt>{{domxref("Gamepad.axes")}} {{readonlyInline}}</dt>
<dd>Массив, представляющий элементы управления осями устройства (например, аналоговые стики).</dd>
<dt>{{domxref("Gamepad.timestamp")}} {{readonlyInline}}</dt>
<dd>{{domxref("DOMHighResTimeStamp")}} представляет время последнего обновления данных геймпада.</dd>
</dl>
<h3 id="Экспериментальные_расширения_для_Gamepad">Экспериментальные расширения для Gamepad</h3>
<p>Следующие интерфейсы определены в спецификации {{SpecName("GamepadExtensions")}}, и предоставляют доступ к экспериментальным возможностям, таким как тактильная обратная связь (haptic feedback) и информация о положении WebVR контроллера.</p>
<dl>
<dt>{{domxref("Gamepad.hand")}} {{readonlyInline}}</dt>
<dd>Перечисляемое значение, которое определяет в какой руке находится контроллер.</dd>
<dt>{{domxref("Gamepad.hapticActuators")}} {{readonlyInline}}</dt>
<dd>Массив, содержащий объекты {{domxref("GamepadHapticActuator")}}, каждый из которых представляет собой аппаратные средства тактильной обратной связи (haptic feedbac) доступные для контроллера.</dd>
<dt>{{domxref("Gamepad.pose")}} {{readonlyInline}}</dt>
<dd>Объект {{domxref("GamepadPose")}} представляет информацию о положении WebVR контроллера (например, позиция и ориентация в 3D пространстве).</dd>
</dl>
<h2 id="Пример">Пример</h2>
<pre class="brush: js">window.addEventListener("gamepadconnected", function(e) {
console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.",
e.gamepad.index, e.gamepad.id,
e.gamepad.buttons.length, e.gamepad.axes.length);
});</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("Gamepad", "#gamepad-interface", "Gamepad")}}</td>
<td>{{Spec2("Gamepad")}}</td>
<td>Первоначальное определение</td>
</tr>
<tr>
<td>{{SpecName('WebVR 1.1', '#gamepad-getvrdisplays-attribute', 'displayId')}}</td>
<td>{{Spec2("WebVR 1.1")}}</td>
<td>Определено свойство {{domxref("Gamepad.displayId")}}.</td>
</tr>
<tr>
<td>{{SpecName("GamepadExtensions", "#partial-gamepad-interface", "Gamepad extensions")}}</td>
<td>{{Spec2("GamepadExtensions")}}</td>
<td>Определены {{anch("Экспериментальные расширения для Gamepad")}}</td>
</tr>
</tbody>
</table>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<p>{{Compat("api.Gamepad")}}</p>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li><a href="/en-US/docs/Web/Guide/API/Gamepad">Using the Gamepad API</a></li>
<li><a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a></li>
</ul>
|