]> git.donarmstrong.com Git - qmk_firmware.git/blob - docs/ru-ru/getting_started_introduction.md
[Docs] fix docs (#7642)
[qmk_firmware.git] / docs / ru-ru / getting_started_introduction.md
1 # Введение
2
3 Эта страница пытается объяснить основную информацию, которую вы должны знать, чтобы работать с проектом QMK. Предполагается, что вы знакомы с навигацией в оболочке Unix, но не предполагается, что вы знакомы с C или с компиляцией с использованием make.
4
5 ## Базовая структура QMK
6
7 QMK - это форк [Джуна Вако (Jun Wako)](https://github.com/tmk) проекта [tmk_keyboard](https://github.com/tmk/tmk_keyboard). Оригинальный код TMK с изменениями можно найти в папке `tmk_core`. Дополнения QMK к проекту можно найти в папке `quantum`. Проекты клавиатур можно найти в папках `handwired` и `keyboard`.
8
9 ### Структура пространства пользователя
10
11 Внутри папки `users` находится каталог для каждого пользователя. Это место для пользователей, куда они могут поместить код, чтобы использовать его с разными клавиатурами. Для получения дополнительной информации обратитесь к документации по [функциям пользовательского пространства](ru-ru/feature_userspace.md).
12
13 ### Структура проекта клавиатуры
14
15 Внутри папки `keyboards` есть подпапки `handwired` и есть подкаталоги поставщиков и производителей, для примера, `clueboard` - это каталог для каждого проекта клавиатуры, например, `qmk_firmware/keyboards/clueboard/2x1800`. В нем вы найдете следующую структуру:
16 * `keymaps/`: Различные раскладки клавиш, которые можно собрать.
17 * `rules.mk`: Файл, который устанавливает параметры по умолчанию для команды "make". Не редактируйте этот файл напрямую, вместо этого используйте `rules.mk`, относящийся к конкретной раскладке.
18 * `config.h`: Файл, который устанавливает параметры времени компиляции по умолчанию. Не редактируйте этот файл напрямую, вместо этого используйте `config.h`, относящийся к конкретной раскладке.
19 * `info.json`: Файл настройки раскладки для QMK Configurator. Посмотрите [Поддержку конфигуратора](ru-ru/reference_configurator_support.md) для дополнительной информации.
20 * `readme.md`: Краткий обзор клавиатуры.
21 * `<keyboardName>.h`: В этом файле определяется раскладка клавиатуры по матрице переключателей клавиатуры.
22 * `<keyboardName>.c`: В этом файле вы можете найти пользовательский код для клавиатуры.
23
24 Для получения дополнительной информации о структуре проекта обратитесь к [Руководству QMK по клавиатуре](ru-ru/hardware_keyboard_guidelines.md).
25
26 ### Структура раскладки клавиатуры
27
28 В каждой папке раскладки клавиатуры могут быть найдены следующие файлы. Обязательным является только файл `keymap.c`, и если остальные файлы не найдены, то будут выбраны параметры по умолчанию.
29
30 * `config.h`: настройки вашей раскладки клавиатуры.
31 * `keymap.c`: весь код вашей раскладки клавиатуры (обязателен).
32 * `rules.mk`: активированные функции QMK.
33 * `readme.md`: описание вашей раскладки клавиш, как ее могут использовать другие, и объяснения функций. Пожалуйста, загрузите изображения на сервис, такой как imgur.
34
35 # Файл `config.h`
36
37 Существует 3 возможных местоположения `config.h`:
38
39 * клавиатура (`/keyboards/<keyboard>/config.h`)
40 * пространство пользователя (`/users/<user>/config.h`)
41 * раскладка клавиш (`/keyboards/<keyboard>/keymaps/<keymap>/config.h`)
42
43 Система сборки автоматически загружает файлы конфигурации в указанном выше порядке. Если вы хотите переопределить любую настройку, заданную предыдущим `config.h`, вам сначала нужно будет включить некоторый шаблонный код для настроек, которые вы хотите изменить.
44
45 ```
46 #pragma once
47 ```
48
49 Затем, чтобы переопределить настройку из предыдущего файла `config.h`, вы должны сделать `#undef` и `#define` для неё снова.
50
51 Код и настройка шаблона вместе выглядят так:
52 ```
53 #pragma once
54
55 // Переопределения производятся здесь!
56 #undef MY_SETTING
57 #define MY_SETTING 4
58 ```