> For the complete documentation index, see [llms.txt](https://elektronik.gitbook.io/edgetx-ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elektronik.gitbook.io/edgetx-ua/edgetx-instrukciyi/configure-advanced-joystick-with-edgetx.md).

# Налаштування розширеного джойстика з EdgeTX

### Загальні параметри

1. Спробуйте спочатку **classic mode**. Обробка вводу від джойстика пройшла через багато різних реалізацій. Наприклад, Windows має 6 різних API для джойстиків — усі з власними особливостями.
2. **Interface mode Gamepad** зазвичай є правильним.
3. Для полегшення переходу між розширеним і класичним режимами спробуйте використовувати **канали 1 - 8 для осей** і **канали 9 - 32 для кнопок**.
4. Після зміни конфігурації джойстика, ймовірно, вам потрібно буде відключити, а потім знову під'єднати USB-кабель. Інакше системи можуть все ще використовувати старий опис джойстика для зчитування нових даних.

{% hint style="info" %}
Розширений режим джойстика недоступний для апаратур з чорно-білим дисплеєм та об'ємом флеш-пам'яті менше 1 МБ, оскільки ця функція не вміщується в доступний обсяг пам'яті.
{% endhint %}

### Аналогові осі

1. Більшість сучасних застосунків використовують **USB HID ID** для ідентифікації значення осі.
2. Застарілі застосунки часто використовують **прямий порядок**, в якому осі були налаштовані.
3. Деякі застосунки використовують **зворотний порядок**, в якому осі були налаштовані.
4. **Duplicate axis** рідко підтримуються. Деякі API підтримують два слайдери.
5. **Inverted axis**: Багато додатків очікують, що осі Y лівого та правого джойстика будуть направлені в інший бік. Напрямок можна перевернути за допомогою Weight -100% або в розширеній конфігурації джойстика.
6. **Windows** підтримує "axis" та "sim". Однак змішування обох типів не завжди підтримується.
7. **LInux** відображає наступні входи на одну вісь і використовує вхідне значення з найменшим номером каналу.
   * sim Thr + axis Slider → ABS\_THROTTLE
   * sim Rud + axis Dial → ABS\_RUDDER
   * axis Wheel + sim Steer → ABS\_WHEEL
8. **Android** розглядає sim **Acc** і sim **Brk** як половинні осі. Виходи каналу EdgeTX \[-100%, 0% і +100%] інтерпретуються Android як \[0%, 50% і 100%]. Розгляньте наступну конфігурацію, якщо ваш фізичний вхід — це один аналоговий стік:
   * sim Acc = input (axis 1: Offset -50%, Func "x>0") mixed with (Weight 200%)
   * sim Brk = input (axis 1: Offset -50%, Func "x<0") mixed with (Weight -200%)

### Загальне відображення осей

| Канал | Android   | Betaflight  | Dualsense | EdgeTX Classic | EdgeTX pre 2.9 |
| ----- | --------- | ----------- | --------- | -------------- | -------------- |
| CH1   | axis X    | axis X      | axis X    | axis X         | axis X         |
| CH2   | axis Y    | axis Y      | axis Y    | axis Y         | axis Y         |
| CH3   | axis Z    | axis Z      | axis Z    | axis Z         | axis Z         |
| CH4   | axis rotZ | axis rotX   | axis rotZ | axis rotX      | axis rotX      |
| CH5   | sim Brk   | axis rotZ   | axis rotX | axis rotY      | axis rotY      |
| CH6   | sim Acc   | axis rotY   | axis rotY | axis rotZ      | axis rotZ      |
| CH7   |           | axis Slider |           | axis Slider    | axis Slider    |
| CH8   | sim Dpad  | axis Dial   | sim Dpad  | axis Dial      | axis Slider    |

**Схожі макети:**

| Інші контролери | Використане відображення |
| --------------- | ------------------------ |
| OpenTX          | EdgeTX pre 2.9           |
| Orqa FPV.Ctrl   | EdgeTX pre 2.9           |
| Stadia          | Android                  |
| XBox            | Android                  |

#### sim Dpad

Sim Dpad емулює **навігаційну клавіатуру**, також відому як **хрестовина** або **перемикач точки огляду** (POV). Більшість додатків розпізнають 8 основних напрямків і "центр". Деякі додатки розпізнають лише 4 базові напрямки та "центр" (наприклад, північний схід розглядається як північ).

| Напрямок        | від     | до     |
| --------------- | ------- | ------ |
| Північ          | -100.0% | -88.1% |
| Північний схід  | -88.0%  | -76.4% |
| Схід            | -76.3%  | -64.6% |
| Південний схід  | -64.6%  | -52.9% |
| Південь         | -52.8%  | -41.2% |
| Південний захід | -41.1%  | -29.5% |
| Захід           | -29.4%  | -17.8% |
| Північний захід | -17.7%  | -6.1%  |
| **Центр**       | -6.0%   | 5.7%   |
| Північ          | 5.8%    | 17.4%  |
| Північний схід  | 17.5%   | 29.1%  |
| Схід            | 29.2%   | 40.8%  |
| Південний схід  | 40.9%   | 52.5%  |
| Південь         | 52.6%   | 64.3%  |
| Південний захід | 64.4%   | 76.0%  |
| Захід           | 76.1%   | 87.7%  |
| Північний захід | 87.8%   | 100.0% |

#### Осі IDs

| EdgeTX      | HID ім'я    | USB HID ID |
| ----------- | ----------- | ---------- |
| axis X      | X           | 0x00010030 |
| axis Y      | Y           | 0x00010031 |
| axis Z      | Z           | 0x00010032 |
| axis rotX   | Rx          | 0x00010033 |
| axis rotY   | Ry          | 0x00010034 |
| axis rotZ   | Rz          | 0x00010035 |
| axis Slider | Slider      | 0x00010036 |
| axis Dial   | Dial        | 0x00010037 |
| axis Wheel  | Wheel       | 0x00010038 |
| sim Ail     | Aileron     | 0x000200B0 |
| sim Ele     | Elevator    | 0x000200B8 |
| sim Rud     | Rudder      | 0x000200BA |
| sim Thr     | Throttle    | 0x000200BB |
| sim Acc     | Accelerator | 0x000200C4 |
| sim Brk     | Brake       | 0x000200C5 |
| sim Steer   | Steering    | 0x000200C8 |
| sim Dpad    | Hat switch  | 0x00010039 |

### Кнопки

1. Кнопки **ідентифікуються** за їх USB HID ID.
2. **Значення** конкретного ID кнопки не стандартизоване.
3. **Дубльовані кнопки** (*наприклад, кнопка 1, кнопка 1*) не підтримуються. Використовується кнопка з вищим номером каналу.
4. **Кнопки як осі:** деякі додатки потребують аналогової інформації про кнопку. Використовуйте мікшер, щоб перенаправити цифровий стан кнопки на аналогову вісь.
5. **Примарні кнопки:** для джойстиків і геймпадів мінімальна кількість кнопок автоматично створюється. Аналогічно, якщо налаштована лише кнопка 15, відсутні кнопки 0-14 автоматично створюються. Ці кнопки не мають вводу і завжди вимкнені.
6. **Android** зазвичай підтримує кнопки 0-14 з таким же відображенням, як і Linux. Підтримка кнопок, виділених жирним шрифтом, є [обов'язковою](https://source.android.com/docs/compatibility/14/android-14-cdd#7261_button_mappings) для всіх Android-пристроїв.
7. **Windows** зазвичай підтримує кнопки 0-9 з таким же відображенням, як і Xbox.

| EdgeTX    | **Android** / Linux         | Dualsense | **Windows** / XBox | USB HID ID |
| --------- | --------------------------- | --------- | ------------------ | ---------- |
| кнопка 0  | **BTN\_A** - 304            | квадрат   | **A**              | 0x00090001 |
| кнопка 1  | **BTN\_B** - 305            | хрестик   | **B**              | 0x00090002 |
| кнопка 2  | BTN\_C - 305                | коло      | **X**              | 0x00090003 |
| кнопка 3  | **BTN\_X** - 307            | трикутник | **Y**              | 0x00090004 |
| кнопка 4  | **BTN\_Y** - 308            | L1        | **лівий бампер**   | 0x00090005 |
| кнопка 5  | BTN\_Z - 309                | R1        | **правий бампер**  | 0x00090006 |
| кнопка 6  | **BTN\_TL** - 310           | L2        | **назад**          | 0x00090007 |
| кнопка 7  | **BTN\_TR** - 311           | R2        | **почати**         | 0x00090008 |
| кнопка 8  | BTN\_TL2 - 312              | створити  | **лівий стік**     | 0x00090009 |
| кнопка 9  | BTN\_TR2 - 313              | опції     | **правий стік**    | 0x0009000A |
| кнопка 10 | BTN\_SELECT - 314           | L3        | лівий тригер       | 0x0009000B |
| кнопка 11 | BTN\_START - 315            | R3        | правий тригер      | 0x0009000C |
| кнопка 12 | BTN\_MODE - 316             | додому    | довідка            | 0x0009000D |
| кнопка 13 | **BTN\_THUMBL** - 317       | тачпад    |                    | 0x0009000E |
| кнопка 14 | **BTN\_THUMBR** - 318       | тиша      |                    | 0x0009000F |
| кнопка 15 |                             |           |                    | 0x00090010 |
| кнопка 16 | BTN\_TRIGGER\_HAPPY1 - 704  |           |                    | 0x00090011 |
| кнопка 17 | BTN\_TRIGGER\_HAPPY2 - 705  |           |                    | 0x00090012 |
| кнопка 18 | BTN\_TRIGGER\_HAPPY3 - 706  |           |                    | 0x00090013 |
| кнопка 19 | BTN\_TRIGGER\_HAPPY4 - 708  |           |                    | 0x00090014 |
| кнопка 20 | BTN\_TRIGGER\_HAPPY5 - 709  |           |                    | 0x00090015 |
| кнопка 21 | BTN\_TRIGGER\_HAPPY6 - 710  |           |                    | 0x00090016 |
| кнопка 22 | BTN\_TRIGGER\_HAPPY7 - 711  |           |                    | 0x00090017 |
| кнопка 23 | BTN\_TRIGGER\_HAPPY8 - 712  |           |                    | 0x00090018 |
| кнопка 24 | BTN\_TRIGGER\_HAPPY9 - 713  |           |                    | 0x00090019 |
| кнопка 25 | BTN\_TRIGGER\_HAPPY10 - 714 |           |                    | 0x0009001A |
| кнопка 26 | BTN\_TRIGGER\_HAPPY11 - 715 |           |                    | 0x0009001B |
| кнопка 27 | BTN\_TRIGGER\_HAPPY12 - 716 |           |                    | 0x0009001C |
| кнопка 28 | BTN\_TRIGGER\_HAPPY13 - 717 |           |                    | 0x0009001D |
| кнопка 29 | BTN\_TRIGGER\_HAPPY14 - 718 |           |                    | 0x0009001E |
| кнопка 30 | BTN\_TRIGGER\_HAPPY15 - 719 |           |                    | 0x0009001F |
| кнопка 31 | BTN\_TRIGGER\_HAPPY16 - 720 |           |                    | 0x00090020 |
