aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com>2019-11-20 12:02:56 -0800
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2019-11-20 12:02:56 -0800
commitb90edb75a3540a9efa9fb2e37a5a610163d889a4 (patch)
treed8e2490046a273a1355c15c7b7d9bf11f3b76cf7
parent3b9a139c0768069aea87aad0bea329acfe6fac67 (diff)
downloadqmk_firmware-b90edb75a3540a9efa9fb2e37a5a610163d889a4.tar.gz
qmk_firmware-b90edb75a3540a9efa9fb2e37a5a610163d889a4.zip
[Docs] Start of German translation of documentation (#6909)
* Initial commit * Fix links so that they point to the german translation * minor changes to the wording of some sentences * correctly capitalize second person pronouns * Fix links so that they point to the german translation * minor changes to the wording of some sentences * correctly capitalize second person pronouns * Translate newbs_learn_more_resources.md * Clear up some phrases * Add newbs_building_firmware.md, fix spelling * Add newbs_building_firmware.md, fix spelling * Update docs/de/_summary.md Danke * Update docs/de/README.md * Update docs/de/_summary.md Ich wollte es kuerzer halten damit die Navigationsleiste nicht zu breit wird, aber das ist halt die deutsche Sprache :) * Update docs/de/newbs.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs.md * Update docs/de/newbs.md * Update docs/de/newbs.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Apply suggestions from code review * Add translation of newbs_flashing.md * Apply suggestions from code review Danke * Add translation of Zadig-guide * Translate newbs_testing_debugging.md to german Co-Authored-By: Max Rumpf <max.rumpf1998@gmail.com> Co-Authored-By: geisterfurz007 <geisterfurz007@users.noreply.github.com>
-rw-r--r--docs/de/README.md33
-rw-r--r--docs/de/_summary.md121
-rw-r--r--docs/de/driver_installation_zadig.md47
-rw-r--r--docs/de/newbs.md22
-rw-r--r--docs/de/newbs_building_firmware.md78
-rw-r--r--docs/de/newbs_flashing.md369
-rw-r--r--docs/de/newbs_getting_started.md101
-rw-r--r--docs/de/newbs_learn_more_resources.md14
-rw-r--r--docs/de/newbs_testing_debugging.md100
9 files changed, 885 insertions, 0 deletions
diff --git a/docs/de/README.md b/docs/de/README.md
new file mode 100644
index 000000000..88239d45d
--- /dev/null
+++ b/docs/de/README.md
@@ -0,0 +1,33 @@
1# Quantum Mechanical Keyboard Firmware
2
3[![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
4[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
5[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
6[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
7[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
8[![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
9
10## Was ist QMK Firmware?
11
12QMK (*Quantum Mechanical Keyboard*) ist eine Open-Source-Community, welche die QMK-Firmware, die QMK-Toolbox, [qmk.fm](https://qmk.fm) und diese Dokumententation betreut. QMK-Firmware ist eine Weiterentwicklung der [tmk\_keyboard](http://github.com/tmk/tmk_keyboard)-Tastatur-Firmware mit vielen nützlichen Zusatzfunktionen für Atmel AVR-Prozessoren. Ursprünglich wurde sie für Produkte von [OLKB](http://olkb.com), das [ErgoDox EZ](http://www.ergodox-ez.com) und das [Clueboard](http://clueboard.co/) entwickelt. Im Laufe der Zeit wurde sie mit Hilfe von [ChibiOS](http://chibios.org) auch für die ARM-Architektur angepasst. Außerdem ist es inzwischen möglich, auch handverdrahtete Tastaturen und selbst geätzte PCBs mit QMK zu verwenden.
13
14## Bezugsquelle für QMK
15
16Wenn Du vorhast, deine Tastatur, Tastaturbelegung oder Features zu QMK beizusteuern, geht das am einfachsten, indem Du das [Repository auf Github](https://github.com/qmk/qmk_firmware#fork-destination-box) forkst, die Änderungen in deinem lokalen Repo vornimmst und anschließend einen [Pull Request](https://github.com/qmk/qmk_firmware/pulls) einreichst.
17
18Ansonsten kannst Du es als [zip](https://github.com/qmk/qmk_firmware/zipball/master) oder [tar](https://github.com/qmk/qmk_firmware/tarball/master) herunterladen, oder es direkt via git klonen (`git clone git@github.com:qmk/qmk_firmware.git` bzw. `git clone https://github.com/qmk/qmk_firmware.git`).
19
20
21## Anleitung fürs Kompilieren
22
23Bevor Du in der Lage bist, die Firmware zu kompilieren, musst Du eine [Entwicklungsumgebung](de/getting_started_build_tools.md) für AVR und/oder ARM aufsetzen. Danach kannst Du mit dem `make` Befehl eine Keymap für deine Tastatur erzeugen. Die Notation dafür ist:
24
25 make planck/rev4:default
26
27Dies generiert die Revision `rev4` für eine Tastatur vom Type `planck` mit der `default` Tastaturbelegung. Nicht alle Tastaturen haben Revisionen (auch bekannt als Subprojekt oder Unterordner) weswegen dies auch ausgelassen werden kann:
28
29 make preonic:default
30
31## Möglichkeiten der Anpassung
32
33QMK hat viele [Features](de/features.md), die es zu entdecken gibt. In der [Dokumentation](https://docs.qmk.fmk) kannst Du Dir einen Überblick verschaffen. Die meisten Features basieren darauf, die [Tastaturbelegung](de/keymap.md) anzupassen und das Verhalten der [Keycodes](de/keycodes.md) zu verändern.
diff --git a/docs/de/_summary.md b/docs/de/_summary.md
new file mode 100644
index 000000000..37768355f
--- /dev/null
+++ b/docs/de/_summary.md
@@ -0,0 +1,121 @@
1* [Anleitung für Anfänger](de/newbs.md)
2 * [Erste Schritte](de/newbs_getting_started.md)
3 * [Die erste Firmware](de/newbs_building_firmware.md)
4 * [Firmware flashen](de/newbs_flashing.md)
5 * [Testen und Debuggen](de/newbs_testing_debugging.md)
6 * [Git Tips und Tricks](de/newbs_best_practices.md)
7 * [Hilfreiche Ressourcen](de/newbs_learn_more_resources.md)
8
9* [QMK Basics](de/README.md)
10 * [QMK Einführung](de/getting_started_introduction.md)
11 * [QMK CLI](de/cli.md)
12 * [QMK CLI Konfiguration](de/cli_configuration.md)
13 * [Zu QMK beitragen](de/contributing.md)
14 * [Anleitung für Github](de/getting_started_github.md)
15 * [Nach Hilfe fragen](de/getting_started_getting_help.md)
16
17* [Breaking Changes](de/breaking_changes.md)
18 * [2019 Aug 30](de/ChangeLog/20190830.md)
19
20* [FAQ](de/faq.md)
21 * [Häufige Fragen](de/faq_general.md)
22 * [Build/Kompilieren](de/faq_build.md)
23 * [Debugging/Troubleshooting](de/faq_debug.md)
24 * [Keymap](de/faq_keymap.md)
25 * [Treiber Installation mit Zadig](de/driver_installation_zadig.md)
26
27* Detailierte Guides
28 * [Build Tools installieren](de/getting_started_build_tools.md)
29 * [Vagrant Guide](de/getting_started_vagrant.md)
30 * [Build/Compile Anleitung](de/getting_started_make_guide.md)
31 * [Firmware flashen](de/flashing.md)
32 * [Funktionalität anpassen](de/custom_quantum_functions.md)
33 * [Keymap Überblick](de/keymap.md)
34
35* [Hardware](de/hardware.md)
36 * [AVR Prozessoren](de/hardware_avr.md)
37 * [Treiber](de/hardware_drivers.md)
38
39* Referenz
40 * [Tastatur Richtlinien](de/hardware_keyboard_guidelines.md)
41 * [Konfigurations Optionen](de/config_options.md)
42 * [Keycodes](de/keycodes.md)
43 * [Coding Konventionen - C](de/coding_conventions_c.md)
44 * [Coding Konventionen - Python](de/coding_conventions_python.md)
45 * [Dokumentations Best Practices](de/documentation_best_practices.md)
46 * [Dokumentations Templates](de/documentation_templates.md)
47 * [Glossar](de/reference_glossary.md)
48 * [Unit Testing](de/unit_testing.md)
49 * [Nützliche Funktionen](de/ref_functions.md)
50 * [Configurator Support](de/reference_configurator_support.md)
51 * [info.json Format](de/reference_info_json.md)
52 * [Python CLI Development](de/cli_development.md)
53
54* [Features](de/features.md)
55 * [Basic Keycodes](de/keycodes_basic.md)
56 * [US ANSI Shifted Keys](de/keycodes_us_ansi_shifted.md)
57 * [Quantum Keycodes](de/quantum_keycodes.md)
58 * [Advanced Keycodes](de/feature_advanced_keycodes.md)
59 * [Audio](de/feature_audio.md)
60 * [Auto Shift](de/feature_auto_shift.md)
61 * [Backlight](de/feature_backlight.md)
62 * [Bluetooth](de/feature_bluetooth.md)
63 * [Bootmagic](de/feature_bootmagic.md)
64 * [Combos](de/feature_combo.md)
65 * [Command](de/feature_command.md)
66 * [Debounce API](de/feature_debounce_type.md)
67 * [DIP Switch](de/feature_dip_switch.md)
68 * [Dynamic Macros](de/feature_dynamic_macros.md)
69 * [Encoders](de/feature_encoders.md)
70 * [Grave Escape](de/feature_grave_esc.md)
71 * [Haptic Feedback](de/feature_haptic_feedback.md)
72 * [HD44780 LCD Controller](de/feature_hd44780.md)
73 * [Key Lock](de/feature_key_lock.md)
74 * [Layouts](de/feature_layouts.md)
75 * [Leader Key](de/feature_leader_key.md)
76 * [LED Matrix](de/feature_led_matrix.md)
77 * [Macros](de/feature_macros.md)
78 * [Mouse Keys](de/feature_mouse_keys.md)
79 * [OLED Driver](de/feature_oled_driver.md)
80 * [One Shot Keys](de/feature_advanced_keycodes.md#one-shot-keys)
81 * [Pointing Device](de/feature_pointing_device.md)
82 * [PS/2 Mouse](de/feature_ps2_mouse.md)
83 * [RGB Lighting](de/feature_rgblight.md)
84 * [RGB Matrix](de/feature_rgb_matrix.md)
85 * [Space Cadet](de/feature_space_cadet.md)
86 * [Split Keyboard](de/feature_split_keyboard.md)
87 * [Stenography](de/feature_stenography.md)
88 * [Swap Hands](de/feature_swap_hands.md)
89 * [Tap Dance](de/feature_tap_dance.md)
90 * [Terminal](de/feature_terminal.md)
91 * [Thermal Printer](de/feature_thermal_printer.md)
92 * [Unicode](de/feature_unicode.md)
93 * [Userspace](de/feature_userspace.md)
94 * [Velocikey](de/feature_velocikey.md)
95
96* Für Maker und Modder
97 * [Hand Wiring Guide](de/hand_wire.md)
98 * [ISP Flashing Guide](de/isp_flashing_guide.md)
99 * [ARM Debugging Guide](de/arm_debugging.md)
100 * [I2C Driver](de/i2c_driver.md)
101 * [GPIO Controls](de/internals_gpio_control.md)
102 * [Proton C Conversion](de/proton_c_conversion.md)
103
104* Für ein tieferes Verständnis
105 * [Wie Tastaturen funktionieren](de/how_keyboards_work.md)
106 * [QMK verstehen](de/understanding_qmk.md)
107
108* Andere Themen
109 * [Eclipse mit QMK](de/other_eclipse.md)
110 * [VSCode mit QMK](de/other_vscode.md)
111 * [Support](de/support.md)
112 * [Übersetzungen](de/translating.md)
113
114* QMK Internals (de/In Progress)
115 * [Defines](de/internals_defines.md)
116 * [Input Callback Reg](de/internals_input_callback_reg.md)
117 * [Midi Device](de/internals_midi_device.md)
118 * [Midi Device Setup Process](de/internals_midi_device_setup_process.md)
119 * [Midi Util](de/internals_midi_util.md)
120 * [Send Functions](de/internals_send_functions.md)
121 * [Sysex Tools](de/internals_sysex_tools.md)
diff --git a/docs/de/driver_installation_zadig.md b/docs/de/driver_installation_zadig.md
new file mode 100644
index 000000000..bd04e0543
--- /dev/null
+++ b/docs/de/driver_installation_zadig.md
@@ -0,0 +1,47 @@
1# Bootloader Treiber Installation mit Zadig
2
3QMK erscheint für den Host als normales HID Eingabegerät und benötigt deshalb keine zusätzlichen Treiber. Der Bootloader, den Du für das Flashen der Firmware benötigst, jedoch meistens schon.
4
5Hierzu gibt es zwei Ausnahmen: den Caterina Bootloader, meistens auf Pro Micros, sowie den HalfKay Bootloader auf PJRC Teensys. Diese erscheinen als serieller Port und als generisches HID Gerät und benötigen keine Treiber.
6
7Wir empfehlen deshalb [Zadig](https://zadig.akeo.ie/). Wenn Du die Entwicklungsumgebung mit MSYS2 oder WSL installiert hast, wird dich dass `qmk_install.sh` Skript gefragt haben, ob es die Treiber für dich installieren sollte.
8
9## Installation
10
11Versetze deine Tastatur in den Bootloader-Modus, entweder durch Betätigung des physischen `RESET` Schalters - meist auf der Unterseite der Platine - oder durch das Auslösen des Key-Codes `RESET` bzw. `KC_RESET` (sollte in der zur Tastatur gehörigen `keycode.c` zu entnehmen sein). Sollte deine Tastatur weder noch besitzen, versuche es damit die `Escape`-Taste oder `Leertaste + B` zu halten während Du die Tastatur mit dem PC verbindest (Siehe auch [Bootmagic](de/feature_bootmagic.md) für weitere Details). Ein paar Tastaturen benutzen das [Command](de/feature_command.md)-Feature an Stelle von Bootmagic; in diesem Fall kannst du mit den Tastenkombinationen `linkes Shift + rechtes Shift + B` oder `linkes Shift + rechtes Shift + Escape` zu jeder Zeit in den Bootloader wechseln solange die Tastatur verbunden ist.
12
13Eingie Tastaturen haben u.U. spezielle Anweisungen um in den Bootloader-Modus zu gelangen. Zum Beispiel kann die [Bootmagic-Lite](de/feature_bootmagic.md#bootmagic-lite)-Taste (default: Escape) auf eine andere Taste gemappt sein; oder die magische Kombination (default: linkes Shift+rechtes Shift) verwendet anstatt Shift die STRG-Tasten. Die zur Tastatur gehörige README sollte dir Aufschluss darüber geben wie der Bootloader-Modus ausgelöst werden kann wenn Du unsicher bist.
14
15Um ein Gerät mit USBaspLoader in den Bootloader-Modus zu versetzen, halte `BOOT` gedrückt während Du den `RESET`-Knopf drückst.
16Alternativ, halte `BOOT` gedrückt während Du das USB-Kabel einsteckst.
17
18Zadig sollte das Bootloader-Gerät automatisch erkennen. Manchmal musst Du zusätzlich noch **Options → List All Devices** auswählen.
19
20 - Tastaturen mit Atmel AVR MCUs sollten als `ATm32U4DFU` (oder ähnlich) angezeigt werden, mit der Vendor ID `03EB`.
21 - USBasp werden als `USBasp` angezeigt, mit VID/PID `16C0:05DC`.
22 - Tastaturen AVR controller und dem QMK-DFU Bootloader haben den namen `<Tastatur Name> Bootloader` und die VID `03EB`.
23 - Die meisten ARM Tastaturen werden als `STM32 BOOTLOADER` angezeigt, mit VID/PID `0483:DF11`.
24
25!> Sollte Zadig ein oder mehrere Geräte mit `HidUsb`-Treiber anzeigen, dann ist deine Tastatur wahrscheinlich nicht im Bootloader-Modus. Der Pfeil wird orange eingefärbt sein und Du wirst nach einer Bestätigung gefragt um Veränderungen am System vorzunehmen. In diesem Fall **fahre nicht fort**!
26
27Wenn der Pfeil grün angezeigt wird, wähle den Treiber aus und klicke auf **Treiber installieren**. Der `libusb-win32`-Treiber sollte gewöhnlich für AVR verwendet werden und `WinUSB` für ARM. Sollte es danach noch nicht möglich sein die Tastatur zu flashen, versuche es mit einem anderen Treiber. Für USBaspLoader Geräte, die über die Befehlszeile mit MSYS2 geflasht werden, wird der `libusbk`-Treiber empfohlen. Ansonsten sollte `libusb-win32` funktionieren wenn die QMK Toolbox verwendet wird.
28
29![Zadig mit Bootloader-Treiber korrekt installiert](https://i.imgur.com/b8VgXzx.png)
30
31Entferne nun deine Tastatur und verbinde sie erneut um sicherzugehen dass der neue Treiber erfolgreich installiert wurde. Wenn Du QMK Toolbox benutzt, starte die Anwendung zur Sicherheit einmal neu, da Veränderungen am Treiber manchmal nicht richtig erkannt werden. Wenn dies immer noch nicht erfolgreich war hilft es an dieser Stelle manchmal ein Neustart des Computers.
32
33## Wiederherstellung einer Installation für ein falsches Gerät
34
35Wenn Du feststellst dass Du anschließend auf deiner Tastatur nicht mehr tippen kannst, ist etwas bei der Installation schief gelaufen. Ein häufiger Fehler ist es dass die Tastatur nicht im Bootloader-Modus war und stattdessen der Treiber für das HID-Gerät ersetzt wurde. Dies kannst Du einfach mit Zadig überprüfen, eine funktionierende Tastatur verwendet als Treiber `HidUsb` auf allen Interfaces .
36
37![Eine funktionierende Tastatur aus Zadigs Sicht](https://i.imgur.com/Hx0E5kC.png)
38
39Öffne den Geräte-Manager und suche nach einem Gerät das wie deine Tastatur aussieht.
40
41![Die Tastatur mit dem falschen Treiber installiert, im Geräte-Manager](https://i.imgur.com/L3wvX8f.png)
42
43Rechtsklick und **Gerät deinstallieren** anklicken. Bitte gehe sicher dass in diesem Schritt auch **Treibersoftware für dieses Gerät löschen** markiert ist.
44
45![Der "Gerät deinstallieren"-Dialog, mit "Treibersoftware für dieses Gerät entfernen" markiert](https://i.imgur.com/aEs2RuA.png)
46
47Klick **Aktion → Suche nach veränderter Hardware**. Nun solltest Du wieder in der Lage sein normal zu tippen. Vergewissere dich mit Hilfe von Zadig dass die Tastatur nun `HidUsb` als Treiber verwendet. Wenn dies der Fall ist sollte wieder alles funktionieren.
diff --git a/docs/de/newbs.md b/docs/de/newbs.md
new file mode 100644
index 000000000..61139a99e
--- /dev/null
+++ b/docs/de/newbs.md
@@ -0,0 +1,22 @@
1# Anleitung für absolute Beginner
2QMK ist eine mächtige Open Source Firmware für mechanische Tastaturen. Mit QMK kannst Du deine Tastatur sowohl sehr einfach als auch sehr umfangreich anpassen. Menschen unterschiedlichen Wissensstandes - vom kompletten Anfänger bis zum erfahrenen Programmierer - haben ihre Tastaturen mit QMK erfolgreich auf ihre persönlichen Bedürfnisse angepasst. Diese Anleitung soll Dir unabhängig von deinen Vorkenntnissen dabei helfen dies ebenfalls zu bewältigen.
3
4Bist Du unsicher ob deine Tastatur QMK unterstützt? Wenn es eine mechanische Tastatur ist, die Du selbst gebaut hast, stehen deine Chancen gut. Wir unterstützen eine [Vielzahl](https://qmk.fm/keyboards/) selbst gebauter Tastaturen, sodass selbst wenn deine jetzige Tastatur nicht unterstützt wird Du keine Probleme haben solltest eine für deine Anforderungen zu finden.
5
6## Übersicht
7
8Diese Anleitung ist in 7 Abschnitte unterteilt:
9
10* [Die ersten Schritte](newbs_getting_started.md)
11* [Die erste Firmware auf der Kommandozeile erzeugen](newbs_building_firmware.md)
12* [Die erste Firmware mit der Online GUI erzeugen](newbs_building_firmware_configurator.md)
13* [Firmware flashen](newbs_flashing.md)
14* [Testen und Debuggen](newbs_testing_debugging.md)
15* [Git Leitfaden](newbs_best_practices.md)
16* [Weitere hilfreiche Ressourcen für Anfänger](newbs_learn_more_resources.md)
17
18Diese Anleitung richtet sich an Personen, die vorher noch nie Software kompiliert haben. Die Entscheidungen und Empfehlungen basieren auf dieser Grundannahme. Es gibt unterschiedliche Herangehensweisen für viele der Prozeduren und wir unterstützen die meisten Alternativen. Wenn Du mal nicht weiter weißt oder Dir nicht sicher bist, wie Du an ein Problem herangehen sollst, kannst Du uns gerne [um Hilfe bitten](getting_started_getting_help.md).
19
20## Weitere Ressourcen
21
22* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) – Ein äußerst hilfreicher Blog eines Community-Mitglieds, der einige Grundlagen der QMK-Firmware aus der Sicht des Benutzers erklärt (auf Englisch).
diff --git a/docs/de/newbs_building_firmware.md b/docs/de/newbs_building_firmware.md
new file mode 100644
index 000000000..b6d484024
--- /dev/null
+++ b/docs/de/newbs_building_firmware.md
@@ -0,0 +1,78 @@
1# Eine eigene Firmware erstellen
2
3Nachdem Du nun eine funktionierende Entwicklungsumgebung aufgesetzt hast, bist Du nun bereit, deine eigene Firmware zu erstellen. Dieses Sektion des Guides wird zwischen drei Programmen hin- und herwechseln: deinem Dateimanager, deinem Texteditor und der Befehlszeile. Lasse diese drei Fenster geöffnet, bis Du fertig und zufrieden mit deiner Tastatur-Firmware bist.
4
5Solltest Du die Befehlszeile zwischenzeitlich geschlossen haben, vergiss nicht wieder in das richtige Verzeichnis zu navigieren, benutze dazu den Befehl `cd qmk_firmware`.
6
7## Navigiere in deinen Keymap Ordner
8
9Beginne damit, in das `keymaps` Verzeichnis für deine Tastatur zu navigieren.
10
11Wenn Du macOS oder Windows benutzt, kannst Du einfach in das keymaps Verzeichnis wechseln.
12
13?> macOS:<br>
14 open keyboards/<keyboard_folder>/keymaps
15
16?> Windows:<br>
17 start .\\keyboards\\<keyboard_folder>\\keymaps
18
19## Eine Kopie der `default` Tastaturbelegung erstellen
20
21Wenn Du den `keymaps` Ordner geöffnet hast, solltest Du zuerst eine Kopie des `default` Verzeichnisses erstellen. Wir empfehlen dafür deinen GitHub Benutzernamen zu verweden, aber Du kannst auch jeden anderen Namen verwenden solange er nur aus Kleinbuchstaben, Zahlen und Unterstrichen besteht.
22
23Um den Prozess zu automatisieren kannst Du dazu auch das Skript `new_keymap.sh` verwenden.
24
25Navigiere dazu in das `qmk_firmware/util` Verzeichnis und gib folgenden Befehl ein:
26
27```
28./new_keymap.sh <keyboard path> <username>
29```
30
31Um zum Beispiel den Benutzernamen John für die Tastaturbelegung eines 1up60hse zu verwenden, würdest Du Folgendes eingeben:
32
33```
34./new_keymap.sh 1upkeyboards/1up60hse john
35```
36
37## Öffne `keymap.c` in deinem bevorzugtem Text Editor
38
39Öffne deine `keymap.c`. In dieser Datei findest Du die Strukturen, die das Verhalten deiner Tastatur bestimmen. Oben in der `keymap.c` befinden sich Definitionen (defines) und Aufzählungen (enums), die die Tastaturbelegung leserlicher machen sollen. Weiter unten wirst Du eine Zeile finden, die wie folgt aussieht:
40
41 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42
43Diese Zeile markiert den Anfang der Liste der Ebenen (Layers). Darunter befinden sich Zeilen die entweder `LAYOUT` oder `KEYMAP` enthalten, das deutet auf den Start einer Ebene hin. Danach folgt eine Liste von Tasten, die dieser Ebene zugewiesen sind.
44
45!> Beim Bearbeiten einer Tastaturbelegung solltest Du darauf achten, keine Kommata hinzuzufügen oder zu entfernen. Ansonsten kann dies dazu führen, dass deine Firmware nicht mehr kompiliert und es ist nicht immer einfach festzustellen, wo genau ein Komma zuviel oder zu wenig ist. Die letzte Zeile hat am Ende kein Komma, die Zeilen davor jedoch schon.
46
47## Personalisiere die Tastaturbelegung nach deinen Wünschen
48
49Wie Du diesen Schritt abschließt ist vollkommen Dir überlassen. Ändere die eine Sache die Dich stört oder verändere alles von Grund auf. Du kannst Ebenen entfernen die Du nicht brauchst oder Neue hinzufügen, bis zu 32 Stück. Die folgende Dokumentation verrät Dir was Du hier alles definieren kannst:
50
51* [Keycodes](de/keycodes.md)
52* [Features](de/features.md)
53* [FAQ](de/faq.md)
54
55?> Während Du langsam ein Gefühl dafür kriegst wie Keymaps funktionieren, solltest Du darauf achten nicht zuviel auf einmal zu verändern. Größere Änderungen machen es schwieriger, Probleme zu debuggen.
56
57## Deine Firmware erzeugen
58
59Wenn Du damit fertig bist, deine Tastaturbelegung anzupassen, musst Du noch die Firmware erzeugen. Öffne dazu wieder die Befehlszeile und führe folgenden Befehl aus:
60
61 make <my_keyboard>:<my_keymap>
62
63Wenn deine Tastaturbelegung z.B. "xyverz" heißt und Du die Belegung für ein rev5 planck erzeugen möchtest, lautet der Befehl:
64
65 make planck/rev5:xyverz
66
67Während des Kompiliervorgangs wird viel Text auf dem Bildschirm ausgegeben. Es sollte am Ende mit etwas enden das ungefähr so aussieht:
68
69```
70Linking: .build/planck_rev5_xyverz.elf [OK]
71Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
72Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
73Checking file size of planck_rev5_xyverz.hex [OK]
74 * File size is fine - 18392/28672
75```
76
77## Deine Firmware flashen
78Bitte fahre mit [Firmware flashen](de/newbs_flashing.md) fort, um zu erfahren, wie Du deine neue Firmware auf deine Tastatur flashen kannst.
diff --git a/docs/de/newbs_flashing.md b/docs/de/newbs_flashing.md
new file mode 100644
index 000000000..940438669
--- /dev/null
+++ b/docs/de/newbs_flashing.md
@@ -0,0 +1,369 @@
1# Deine Tastatur flashen
2
3Nachdem deine Firmware nun fertig ist musst Du Sie noch auf deine Tastatur flashen.
4
5## Flash-Vorgang mit QMK Toolbox
6
7Der einfachste Weg deine Tastatur zu flashen ist mit Hilfe der [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)
8
9Leider ist die QMK Toolbox derzeit nur für Windows und macOS verfügbar. Wenn Du Linux benutzt (oder es vorziehst die Firmware mit der Kommandozeile zu flashen) solltest Du die Methode benutzen die [hier](de/newbs_flashing.md#tastatur-mit-der-befehlszeile-flashen) beschrieben wird.
10
11### Lade die Datei in QMK Toolbox
12
13Beginne damit die Datei in der QMK Toolbox Anwendung zu laden. Versichere dich dass Du die Firmware-Datei im Finder oder Explorer findest. Deine Tastatur-Firmware sollte entweder vom Typ `.hex` oder `.bin` sein sein. QMK sollte die für deine Tastatur entsprechende Datei automatisch in das Root-Verzeichnis (normalerweise `qmk_firmware`) kopieren.
14
15?> Wenn Du Windows oder macOS benutzt kannst Du mit folgenden Befehlen ganz einfach das aktuelle Firmware-Verzeichnis im Explorer oder Finder öffnen.
16
17#### Windows:
18
19``` start . ```
20
21#### macOS:
22
23``` open . ```
24
25Die Firmware-Dateien folgen dabei immer folgendem Schema:
26
27 <meine_Tastatur>_<meine_Tastaturbelegung>.{bin,hex}
28
29Zum Beispiel würde ein `planck/rev5` mit der `default` Tastaturbelegung folgenden Dateinamen haben:
30
31 planck_rev5_default.hex
32
33Wenn Du die Firmware-Datei gefunden hast kannst Du sie in das "Local file" ("Lokale Datei") Feld in der QMK Toolbox ziehen, alternativ kannst Du auf "Öffnen" klicken und in das Verzeichnis navigieren indem sich die Firmware-Datei befindet.
34
35### Die Tastatur in den DFU (Bootloader) Modus versetzen
36
37Um deine angepasste Firmware auf deine Tastatur zu flashen musst Du diese erst in einen speziellen "flashing"-Modus versetzen. Während die Tastatur in diesem Modus ist kannst Du nicht auf ihr tippen oder sie wie gewohnt als Tastatur benutzen. Es ist wichtig dass der flashing-Prozesses nicht unterbrochen oder die Tastatur ausstöpselst wird, da der Vorgang ansonst wiederholt werden muss.
38
39Verschiedene Tastaturen verwenden unterschiedliche Methoden um in den Bootloader-Modus zu gelangen. Wenn dein PCB im Moment QMK oder TMK verwendet und Du keine spezifischen Anweisungen erhalten hast probiere die folgenden Methoden in dieser Reihenfolge:
40
41* Halte beide Shift-Tasten und drücke `Pause`
42* Halte beide Shift-Tasten und drücke `B`
43* Entferne deine Tastatur vom Computer, drücke gleichzeitig `Leertaste` und `B`, verbinde die Tastatur wieder mit dem Computer und warte eine Sekunde bevor Du die Tasten wieder loslässt.
44* Drücke den physischen `RESET`-Knopf auf der Unterseite des PCBs
45* Suche auf dem PCB den Pin mit dem Label `RESET`, verbinde diesen mit deinem GND-Pin
46* Suche auf dem PCB den Pin mit dem Label `BOOT0`, verbinde diesen mit GND und schließe die Tastatur wieder an den PC an TODO: DIS IS DANGEROUS!!
47
48Wenn Du damit erfolgreich warst solltest Du in der QMK Toolbox eine Nachricht sehen die ungefähr so aussieht:
49
50```
51*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
52*** DFU device connected
53```
54
55### Tastatur flashen
56
57Klicke auf den `Flash`-Knopf in der QMK Toolbox. Die Ausgabe wird ungefähr so aussehen:
58
59```
60*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
61*** DFU device connected
62*** Attempting to flash, please don't remove device
63>>> dfu-programmer atmega32u4 erase --force
64 Erasing flash... Success
65 Checking memory from 0x0 to 0x6FFF... Empty.
66>>> dfu-programmer atmega32u4 flash qmk_firmware/clueboard_66_hotswap_skully.hex
67 Checking memory from 0x0 to 0x55FF... Empty.
68 0% 100% Programming 0x5600 bytes...
69 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
70 0% 100% Reading 0x7000 bytes...
71 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
72 Validating... Success
73 0x5600 bytes written into 0x7000 bytes memory (76.79%).
74>>> dfu-programmer atmega32u4 reset
75
76*** DFU device disconnected
77*** Clueboard - Clueboard 66% HotSwap connected -- 0xC1ED:0x2390
78```
79
80## Tastatur mit der Befehlszeile flashen
81
82Zunächst solltest Du versuchen herauszufinden welchen Bootlader deine Tastatur benutzt. Diese vier Bootloader sind am Weitesten verbreitet:
83
84| MCU | Bootloader |
85| --- | --- |
86| Pro-Micro und Klone | CATERINA |
87| Teensy | Halfkay |
88| OLKB Boards | QMK-DFU |
89| sonstige atmega32u4 | DFU |
90
91Auf der Seite [Flash Anleitung und Bootloader Informationen](de/flashing.md) kannst Du mehr über das Thema erfahren.
92
93Wenn Du weißt welchen Bootloader deine Tastaur verwendet, kannst Du diese Information bei der Kompilation hinzufügen um den Flash-Vorgang mit dem `make`-Befehl zu automatisieren.
94```rules.mk
95...
96BOOTLOADER = caterina
97...
98```
99
100### DFU
101
102Wenn Du den DFU-Bootloader verwendest und Du bereit bist deine Firmware zu kompilieren und zu flashen, öffne ein Befehlszeile und führe folgenden Befehl aus:
103
104 make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu
105
106Wenn deine Tastaturbelegung z.B den Namen "xzverz" trägt und Du ein rev5 planck flashen möchtest sähe der Befehl wie folgt aus:
107
108 make planck/rev5:xyverz:dfu
109
110
111Nachdem der Vorgang abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
112
113```
114Linking: .build/planck_rev5_xyverz.elf [OK]
115Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
116Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
117Checking file size of planck_rev5_xyverz.hex
118 * File size is fine - 18574/28672
119 ```
120
121Wenn dieser Punkt erreicht ist wird das Build-Skript alle 5 Sekunden nach einem DFU Bootloader suchen. Dieser Vorgang wird wiederholt bis er erfolgreich ist oder abgebrochen wird.
122
123 dfu-programmer: no device present.
124 Error: Bootloader not found. Trying again in 5s.
125
126Wenn diese Nachricht erscheint konnte das Build-Skript den Controller nicht eigenständig in den DFU Modus versetzen (z.B. weil der Modus in rules.mk falsch gesetzt wurde oder ein Problem mit der Hardware besteht), wenn dies eintritt musst Du die oben beschrieben Schritte benutzen um den Controller in den DFU Modus zu versetzen. Danach sollte die Ausgabe ungefähr so aussehen:
127
128```
129*** Attempting to flash, please don't remove device
130>>> dfu-programmer atmega32u4 erase --force
131 Erasing flash... Success
132 Checking memory from 0x0 to 0x6FFF... Empty.
133>>> dfu-programmer atmega32u4 flash qmk_firmware/clueboard_66_hotswap_skully.hex
134 Checking memory from 0x0 to 0x55FF... Empty.
135 0% 100% Programming 0x5600 bytes...
136 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
137 0% 100% Reading 0x7000 bytes...
138 [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
139 Validating... Success
140 0x5600 bytes written into 0x7000 bytes memory (76.79%).
141>>> dfu-programmer atmega32u4 reset
142```
143
144?> Wenn Du mit diesem Schritt Probleme hast (z.B. `dfu-programmer: no device present`) hilft dir hoffentlich der Abschnitt [Häufig gestellte Fragen (Build/Kompilieren)](de/faq_build.md).
145
146#### DFU Befehle
147
148Es gibt verschiedene DFU Befehle um die Firmware auf ein DFU Gerät zu flashen:
149
150* `:dfu` - Dies ist die default Option. Es wird gecheckt ob ein DFU Gerät verfügbar ist, ist dies der Fall wird die Firmware geflasht. Dieser Check wird alle 5 Sekunden ausgeführt bis ein DFU Gerät erkannt wird.
151* `:dfu-ee` - Der Flash-Vorgang benutzt eine `.eep` Datei anstatt einer `.hex` Datei. Dies ist eher unüblich.
152* `:dfu-split-left` - Dies flasht die Firmware wie gewohnt (`:dfu`). Allerdings nur die "linke Seite" der EEPROM für geteilte Tastaturen. _Dies ist ideal für auf Elite C basierenden geteilten Tastaturen._
153* `:dfu-split-right` - Dies flasht die Firmware wie gewohnt (`:dfu`). Allerdings nur die "rechte Seite" der EEPROM für geteilte Tastaturen. _Dies ist ideal für auf Elite C basierenden geteilten Tastaturen._
154
155
156### Caterina
157Für Arduinos und andere ProMicro Klone (z.B. SparkFun ProMicro), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
158
159 make <meine_Tastatur>:<meine_Tastaturbelegung>:avrdude
160
161Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein "rev2 Lets Split" erzeugen möchtest, lautet der Befehl dafür:
162
163 make lets_split/rev2:xyverz:avrdude
164
165Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
166
167```
168Linking: .build/lets_split_rev2_xyverz.elf [OK]
169Creating load file for flashing: .build/lets_split_rev2_xyverz.hex [OK]
170Checking file size of lets_split_rev2_xyverz.hex [OK]
171 * File size is fine - 27938/28672
172Detecting USB port, reset your controller now..............
173```
174
175Nun wird die Tastatur automatisch zurückgesetzt und das Skript wird die Firmware flashen sobald es den Bootloader erkennt. Die Ausgabe sollte ungefähr so aussehen:
176
177```
178Detected controller on USB port at /dev/ttyS15
179
180Connecting to programmer: .
181Found programmer: Id = "CATERIN"; type = S
182 Software Version = 1.0; No Hardware Version given.
183Programmer supports auto addr increment.
184Programmer supports buffered memory access with buffersize=128 bytes.
185
186Programmer supports the following devices:
187 Device code: 0x44
188
189avrdude.exe: AVR device initialized and ready to accept instructions
190
191Reading | ################################################## | 100% 0.00s
192
193avrdude.exe: Device signature = 0x1e9587 (probably m32u4)
194avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
195 To disable this feature, specify the -D option.
196avrdude.exe: erasing chip
197avrdude.exe: reading input file "./.build/lets_split_rev2_xyverz.hex"
198avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
199avrdude.exe: writing flash (27938 bytes):
200
201Writing | ################################################## | 100% 2.40s
202
203avrdude.exe: 27938 bytes of flash written
204avrdude.exe: verifying flash memory against ./.build/lets_split_rev2_xyverz.hex:
205avrdude.exe: load data flash data from input file ./.build/lets_split_rev2_xyverz.hex:
206avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
207avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex contains 27938 bytes
208avrdude.exe: reading on-chip flash data:
209
210Reading | ################################################## | 100% 0.43s
211
212avrdude.exe: verifying ...
213avrdude.exe: 27938 bytes of flash verified
214
215avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)
216
217avrdude.exe done. Thank you.
218```
219Sollten dabei Probleme auftreten (z.B. "Zugriff verweigert" / "Permission denied") muss der Make-Befehl mit privilegierten Berechtigungen ausgeführt werden:
220
221 sudo make <meine_Tastatur>:<meine_Tastaturbelegung>:avrdude
222
223Zusätzlich ist es möglich mehrere Tastaturen in einem Vorgang zu flashen:
224
225 make <keyboard>:<keymap>:avrdude-loop
226
227Du kannst den Loop mit STRG + C unterbrechen sobald der Vorgang abgeschlossen ist. Die korrekte Tastenkombination kann abweichen und hängt vom Betriebssystem ab.
228
229
230### HalfKay
231
232Für Tastaturen mit PJRC Controllern (Teensy's), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
233
234 make <meine_Tastatur>:<meine_Tastaturbelegung>:teensy
235
236Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein Ergodox oder Ergodox EZ erzeugen möchtest, lautet der Befehl dafür:
237
238 make ergodox_ez:xyverz:teensy
239
240Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
241
242```
243Linking: .build/ergodox_ez_xyverz.elf [OK]
244Creating load file for flashing: .build/ergodox_ez_xyverz.hex [OK]
245Checking file size of ergodox_ez_xyverz.hex [OK]
246 * File size is fine - 25584/32256
247 Teensy Loader, Command Line, Version 2.1
248Read "./.build/ergodox_ez_xyverz.hex": 25584 bytes, 79.3% usage
249Waiting for Teensy device...
250 (hint: press the reset button)
251 ```
252
253An diesem Punkt solltest Du die Tastatur zurücksetzen um den Flash-Vorgang auszulösen. Wenn dies abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
254
255 ```
256Found HalfKay Bootloader
257Read "./.build/ergodox_ez_xyverz.hex": 28532 bytes, 88.5% usage
258Programming.............................................................
259...................................................
260Booting
261```
262
263### BootloadHID
264
265Für auf Bootmapper Client(BMC)/bootloaderHID/ATmega32A basierende Tastaturen, wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
266
267 make <meine_Tastatur>:<meine_Tastaturbelegung>:bootloaderHID
268
269Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein jj40 erzeugen möchtest, lautet der Befehl dafür:
270
271 make jj40:xyverz:bootloaderHID
272
273Nachdem die Kompilation abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
274
275```
276Linking: .build/jj40_default.elf [OK]
277Creating load file for flashing: .build/jj40_default.hex [OK]
278Copying jj40_default.hex to qmk_firmware folder [OK]
279Checking file size of jj40_default.hex [OK]
280 * The firmware size is fine - 21920/28672 (6752 bytes free)
281```
282
283Wenn dieser Punkt erreicht ist wird das Build-Skript alle 5 Sekunden nach einem DFU Bootloader suchen. Dieser Vorgang wird wiederholt bis er erfolgreich ist oder abgebrochen wird.
284
285```
286Error opening HIDBoot device: The specified device was not found
287Trying again in 5s.
288```
289
290An diesem Punkt solltest Du die Tastatur zurücksetzen um den Flash-Vorgang auszulösen. Wenn dies abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
291
292```
293Page size = 128 (0x80)
294Device size = 32768 (0x8000); 30720 bytes remaining
295Uploading 22016 (0x5600) bytes starting at 0 (0x0)
2960x05580 ... 0x05600
297```
298
299### STM32 (ARM)
300
301Für die meisten ARM Tastaturen (inkl. Proton C, Planck Rev 6 und Preonic Rev 3), wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
302
303 make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu-util
304
305Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein Planck Revision 6 erzeugen möchtest, benutze dafür den folgenden Befehl und reboote die Tastatur in den Bootloader (kurz bevor der Kompiliervorgang abgeschlossen ist):
306
307 make planck/rev6:xyverz:dfu-util
308
309Nachdem der Kompiliervorgang abgeschlossen ist sollte die Ausgabe ungefähr so aussehen:
310
311Für auf Bootmapper Client(BMC)/bootloaderHID/ATmega32A basierende Tastaturen, wenn Du bereit bist zu kompilieren und die Tastatur zu flashen, öffne ein Befehlszeilen-Fenster und führe den Build-Befehl aus:
312
313 make <meine_Tastatur>:<meine_Tastaturbelegung>:bootloaderHID
314
315Wenn deine Tastaturbelegung zum Beispiel den Namen "xyverz" hat und Du eine Tastaturbelegung für ein jj40 erzeugen möchtest, lautet der Befehl dafür:
316```
317Linking: .build/planck_rev6_xyverz.elf [OK]
318Creating binary load file for flashing: .build/planck_rev6_xyverz.bin [OK]
319Creating load file for flashing: .build/planck_rev6_xyverz.hex [OK]
320
321Size after:
322 text data bss dec hex filename
323 0 41820 0 41820 a35c .build/planck_rev6_xyverz.hex
324
325Copying planck_rev6_xyverz.bin to qmk_firmware folder [OK]
326dfu-util 0.9
327
328Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
329Copyright 2010-2016 Tormod Volden and Stefan Schmidt
330This program is Free Software and has ABSOLUTELY NO WARRANTY
331Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
332
333Invalid DFU suffix signature
334A valid DFU suffix will be required in a future dfu-util release!!!
335Opening DFU capable USB device...
336ID 0483:df11
337Run-time device DFU version 011a
338Claiming USB DFU Interface...
339Setting Alternate Setting #0 ...
340Determining device status: state = dfuERROR, status = 10
341dfuERROR, clearing status
342Determining device status: state = dfuIDLE, status = 0
343dfuIDLE, continuing
344DFU mode device DFU version 011a
345Device returned transfer size 2048
346DfuSe interface name: "Internal Flash "
347Downloading to address = 0x08000000, size = 41824
348Download [=========================] 100% 41824 bytes
349Download done.
350File downloaded successfully
351Transitioning to dfuMANIFEST state
352```
353
354#### STM32 Befehle
355
356Für Tastaturen mit STM32 Controller sind die DFU Befehle wie folgt:
357
358* `:dfu-util` - The default command for flashing to STM32 devices.
359* `:dfu-util` - Der Standard-Befehl für STM32 Geräte.
360* `:dfu-util-wait` - Funktioniert wie der Standard-Befehl, aber mit einem 10 Sekunden Timeout bevor erneut versucht wird die Firmware zu flashen. Mit dem Parameter `TIME_DELAY=20` auf der Befehlszeile kann der Timeout beeinflusst werden.
361 * z.B.: `make <meine_Tastatur>:<meine_Tastaturbelegung>:dfu-util TIME_DELAY=5`
362* `:dfu-util-split-left` - Gleiche Funktionsweise wie `dfu-util`, jedoch wird zusätzlich das EEPROM Setting "linke Seite" für geteilte Tastaturen gesetzt.
363* `:dfu-util-split-right` - Gleiche Funktionsweise wie `dfu-util`, jedoch wird zusätzlich das EEPROM Setting "rechte Seite" für geteilte Tastaturen gesetzt.
364
365## Probier's aus!
366
367Herzlichen Glückwunsch! Deine individuell angepasst Firmware wurde auf deine Tastatur übertragen!
368
369 Probiere deine neue Tastatur aus und gehe sicher dass alles wie gewünscht funktioniert. Wir haben einen weiteren Artikel zum Thema [Testen und Debuggen](de/newbs_testing_debugging.md) verfasst der sich mit Problembeseitigung beschäftigt um den Beginnger-Guide abzuschließen.
diff --git a/docs/de/newbs_getting_started.md b/docs/de/newbs_getting_started.md
new file mode 100644
index 000000000..8240f2baf
--- /dev/null
+++ b/docs/de/newbs_getting_started.md
@@ -0,0 +1,101 @@
1# Einleitung
2Genau wie in einem Computer befindet sich auch in einer Tastatur ein Prozessor.
3
4Dieser Prozessor führt Software aus, die registriert wenn Tasten gedrückt bzw. wieder losgelassen werden und leitet die entsprechenden Signale an den Computer weiter.
5
6QMK übernimmt die Rolle dieser Software und teilt dem Host-Computer den aktuellen Zustand der Tastatur mit. Wenn Du eine Tastaturbelegung definierst, ist dies äquivalent zu einem ausführbarem Programm, das auf deiner Tastatur läuft.
7
8QMK möchte seine BenutzerInnen in die Lage versetzen, simple Aufgaben möglichst einfach zu gestalten und gleichzeitig komplexe Dinge zu ermöglichen, die mit normalen Tastaturen ohne zusätzliche Software undenkbar wären. Du musst nicht programmieren können, um abgefahrene Tastaturbelegungen zu gestalten - es reicht wenn Du eine Idee hast und ein paar einfache syntaktische Regeln verstehen kannst.
9
10# Los geht's!
11Bevor Du damit loslegen kannst, deine Tastaturbelegung zu erstellen, musst Du ein wenig Software installieren und Dir eine Entwicklungsumgebung aufsetzen. Die gute Nachricht ist, dass das nur einmal erledigt werden muss, egal für wie viele verschiedene Tastaturen Du hinterher Firmware entwickeln willst.
12
13Wenn Du es vorziehst mit einer grafischen Oberfläche zu entwickeln kannst Du auch dazu gerne direkt mit dem online [QMK Konfigurator](https://config.qmk.fm) loslegen. Siehe auch: [Firmware mit der Online GUI erzeugen](de/newbs_building_firmware_configurator.md)
14
15## Software herunterladen
16
17### Text Editor
18
19Du wirst ein Programm benötigen, mit dem Du **plain text** (= reiner Text) Dateien bearbeiten und speichern kannst. Wenn Du Windows benutzt, reicht dafür schon das normale `Notepad` und für Linux z.B. `gedit` oder `leafpad`. Beide sind sehr rudimentäre Editoren deren Funktionsumfang aber vollkommen ausreicht. Für macOS' standard `TextEdit` muss man ein bisschen vorsichtig sein und darauf achten, beim Speichern explizit unter _Format_ die Option _Reiner Text_ auszuwählen.
20
21Ansonsten ist es empfehlenswert, einen Editor herunterzuladen der für die Programmierung und das Bearbeiten von Code ausgelegt ist wie z.b [Notepad++](http://notepad-plus-plus.org/), [Sublime Text](https://www.sublimetext.com/) oder [VS Code](https://code.visualstudio.com/).
22
23?> Immer noch unsicher, welcher Text Editor der Richtige für Dich ist? Laurence Bradford hat eine hervorragende [Einleitung](https://learntocodewith.me/programming/basics/text-editors/) zu dem Thema geschrieben (auf Englisch).
24
25### QMK Toolbox
26
27QMK Toolbox ist ein optionales grafisches Programm für Windows und macOS, das es erleichtern soll, deine Tastatur zu programmieren und zu debuggen. Du wirst es höchstwahrscheinlich früher oder später als unverzichtbar ansehen, wenn es darum geht eine Tastatur einfach zu flashen oder zu debuggen, da es ermöglicht, sich debug-Nachrichten direkt anzeigen zu lassen.
28
29[Hier kannst Du die aktuelle Version herunterladen.](https://github.com/qmk/qmk_toolbox/releases/latest)
30
31* Für Windows: `qmk_toolbox.exe` (portable) oder `qmk_toolbox_install.exe` (installer)
32* Für macOS: `QMK.Toolbox.app.zip` (portable) oder `QMK.Toolbox.pkg` (installer)
33
34## Die Entwicklungsumgebung aufsetzen
35
36
37Wir haben versucht, die Installation der Entwicklungsumgebung für QMK so einfach wie möglich zu gestalten. Alles, was Du tun musst, ist eine Linux oder Unix Umgebung aufzusetzen, danach macht QMK den Rest.
38
39?> Wenn Du das erste Mal mit der Linux/Unix Befehlszeile arbeitest, schadet es nicht, sich mit ein paar Grundlagen und Befehlen vertraut zu machen. Diese Ressourcen sollten ausreichen, um sich das Nötigste anzueignen um mit QMK arbeiten zu können:<br>
40[Erforderliche Linux Grundlagen](https://www.guru99.com/must-know-linux-commands.html)<br>
41[Noch ein paar Linux Befehle](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
42
43### Windows
44
45Du wirst MSYS2 (o.Ä.) und Git benötigen.
46
47* Befolge die Installationsanleitung auf der [MSYS2 Homepage](http://www.msys2.org)
48* Schließe alle offenen MSYS2 Fenster und öffne ein neues MSYS2 MinGW 64-bit Terminal
49* Installiere Git mit dem Kommando: `pacman -S git`
50
51### macOS
52
53Du wirst Homebrew benötigen. Folge dafür den Anweisungen auf der [Homebrew homepage](https://brew.sh).
54
55Nachdem Homebrew erfolgreich installiert ist, kannst Du mit _QMK aufsetzen_ fortfahren.
56
57### Linux
58
59Du benötigst Git, aber es ist ziemlich wahrscheinlich, dass es bereits installiert ist. Sollte dies nicht der Fall sein, kannst Du es mit dem folgenden Aufruf installieren:
60
61* Debian / Ubuntu / Devuan: `apt-get install git`
62* Fedora / Red Hat / CentOS: `yum install git`
63* Arch Linux: `pacman -S git`
64
65?> Docker ist ebenfalls eine Option für alle Plattformen. [Hier](de/getting_started_build_tools.md#docker) kannst Du dazu weitere Informationen finden.
66
67## QMK aufsetzen
68Wenn Du damit fertig bist, deine Linux/Unix Umgebung zu installieren, kannst Du damit fortfahren QMK herunterzuladen. Dafür werden wir mit Git das QMK Repository "klonen". Öffne ein Terminal oder ein MSYS2 MinGW Fenster, dies wirst Du für den Rest der Anleitung benötigen. In diesem Fenster rufst Du nun die beiden folgenden Kommandos auf:
69
70```shell
71git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
72cd qmk_firmware
73```
74?> Wenn Du bereits weißt, [wie man GitHub benutzt](de/getting_started_github.md), empfehlen wir, dass Du Dir ein eigenen Fork erstellst. Wenn Du nicht weißt, was das bedeuten soll, kannst Du diesen Ratschlag getrost ignorieren.
75
76QMK liefert ein Script mit, das helfen soll, Dir alles Weitere abzunehmen. Du kannst es mit dem folgenden Befehl aufrufen:
77
78 util/qmk_install.sh
79
80## Die Build-Umgebung testen
81
82Nun sollte hoffentlich alles Nötige für eine funktionierende QMK Build-Umgebung installiert sein und Du solltest in der Lage sein, die QMK-Firmware zu kompilieren. Um dies mit einer `default` Tastaturbelegung zu testen, kannst Du den folgenden Befehl ausprobieren:
83
84 make <keyboard>:default
85
86Der Befehl um z.B. die Firmware für ein _Clueboard 66%_ zu erzeugen lautet:
87
88 make clueboard/66/rev3:default
89
90Wenn es fertig ist, sollte der Output ungefähr so ähnlich wie das Folgende aussehen:
91
92```
93Linking: .build/clueboard_66_rev3_default.elf [OK]
94Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]
95Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK]
96Checking file size of clueboard_66_rev3_default.hex [OK]
97 * The firmware size is fine - 26356/28672 (2316 bytes free)
98```
99
100# Eine eigene Tastaturbelegung erstellen
101Du bist nun fertig mit dem Setup der Entwicklungsumgebung und solltest somit in der Lage sein, deine eigenen Tastaturbelegungen zu erstellen. Um fortzufahren, folge bitte der nächsten Anleitung unter [Die erste Firmware](de/newbs_building_firmware.md).
diff --git a/docs/de/newbs_learn_more_resources.md b/docs/de/newbs_learn_more_resources.md
new file mode 100644
index 000000000..59b72152d
--- /dev/null
+++ b/docs/de/newbs_learn_more_resources.md
@@ -0,0 +1,14 @@
1# Lernmaterial
2
3Diese weiterführenden Ressourcen sind darauf ausgerichtet, Neulingen der QMK Commmunity mehr Informationen und ein besseres Verständnis zu einzelnen Themen zu bieten.
4
5Git Ressourcen:
6
7* [Gutes allgemeines Tutorial](https://www.codecademy.com/learn/learn-git) (auf Englisch)
8* [Git spielerisch anhand von Beispielen lernen](https://learngitbranching.js.org/) (auf Englisch)
9* [Mehr über den allgemeinen Umgang mit Github](getting_started_github.md)
10* [Mehr über Git im Bezug zu QMK](contributing.md)
11
12Mehr über die Arbeit mit der Befehlszeile:
13
14* [Gutes allgemeines Tutorial über die Arbeit mit der Befehlszeile](https://www.codecademy.com/learn/learn-the-command-line) (auf Englisch)
diff --git a/docs/de/newbs_testing_debugging.md b/docs/de/newbs_testing_debugging.md
new file mode 100644
index 000000000..acc067e10
--- /dev/null
+++ b/docs/de/newbs_testing_debugging.md
@@ -0,0 +1,100 @@
1# Testen und Debuggen
2
3Nachdem Du deine Tastatur mit deiner angepassten Firmware geflasht hast, ist es nun an der Zeit sie auszuprobieren. Mit ein bisschen Glück sollte alles ohne Probleme funktionieren, wenn dies nicht der Fall ist, soll dieses Dokument dir dabei helfen, herauszufinden wo das Problem liegt.
4
5## Testen
6
7Die Tastatur zu testen ist relativ selbsterklärend. Drücke jede der Tasten um dich zu versichern, dass der gesendete Keyode der ist, den du erwarten würdest. Dafür gibt es sogar ein paar Programme die helfen sollen, dass keine Taste ausgelassen wurde.
8
9Anmerkung: Diese Programme werden weder von QMK bereitgestellt oder gutgeheißen.
10
11* [Switch Hitter](https://elitekeyboards.com/switchhitter.php) (Nur für Windows)
12* [Keyboard Viewer](https://www.imore.com/how-use-keyboard-viewer-your-mac) (Nur für Mac)
13* [Keyboard Tester](http://www.keyboardtester.com) (Web basiert)
14* [Keyboard Checker](http://keyboardchecker.com) (Web basiert)
15
16## Debuggen
17
18Deine Tastatur wird Debug Informationen liefern wenn Du `CONSOLE_ENABLE = yes` in deiner `rules.mk` gesetzt hast. Die default-Ausgabe ist sehr beschränkt und kann wenn nötig durch die Aktivierung des Debug-Modes erhöht werden. Benutze dafür entweder den `DEBUG` Keycode in deiner Tastaturbelegung, das [Command](de/feature_command.md)-Feature oder füge den folgenden Code zu deiner Tastaturbelegung hinzu.
19
20```c
21void keyboard_post_init_user(void) {
22 // Customise these values to desired behaviour
23 debug_enable=true;
24 debug_matrix=true;
25 //debug_keyboard=true;
26 //debug_mouse=true;
27}
28```
29
30### Debuggen mit der QMK Toolbox
31
32Für kompatible Plattformen kann die [QMK Toolbox](https://github.com/qmk/qmk_toolbox) benutzt werden um Debug-Nachrichten deiner Tastatur anzuzeigen.
33
34### Debuggen mit hid_listen
35
36Bevorzugst Du es lieber auf der Befehlszeile zu debuggen? Dafür eignet sich das Programm [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) von PJRC. Binaries sind für Windows, Linux und MacOS verfügbar.
37
38<!-- FIXME: Describe the debugging messages here. -->
39
40## Eigene Debug-Nachrichten senden
41
42Manchmal ist es hilfreich Debug-Nachrichten innerhalb deines eigenen [Custom Codes](de/custom_quantum_functions.md) zu drucken. Das ist ziemlich einfach. Beginne damit `print.h` am Anfang deiner Datei zu inkludieren:
43
44 #include <print.h>
45
46Danach stehen dir verschiedene Druck-Funktionen zur Verfügung:
47
48* `print("string")`: Druckt einen simplen String
49* `uprintf("%s string", var)`: Druckt einen formatierten String
50* `dprint("string")` Druckt einen simplen String, aber nur wenn der Debug-Mode aktiviert ist
51* `dprintf("%s string", var)`: Druckt einen formatierten String, aber nur wenn der Debug-Mode aktiviert ist
52
53## Debug Beispiele
54
55Anbei findest Du eine Sammlung von hilfreichen Beispielen. Für weitere Informationen Informationen sei an dieser Stelle auf [Debugging/Troubleshooting QMK](de/faq_debug.md) verwiesen.
56
57### Which matrix position is this keypress?
58### Welche Matrix Position hat dieser Tastenanschlag
59
60Beim Portieren, oder bei der Fehlerdiagnose von PCB Problemen, ist es nützlich sich anzeigen zu lassen ob ein Tastenanschlag richtig erkannt wurde. Um die Protokollierung für diesen Fall zu aktivieren, füge bitte folgenden Code zu deiner Tastaturbelegung `keymap.c` hinzu.
61
62```c
63bool process_record_user(uint16_t keycode, keyrecord_t *record) {
64 // Wenn 'console' aktiviert ist wird die Matrix-Position und der Status jedes Tastenanschlags ausgegeben
65#ifdef CONSOLE_ENABLE
66 uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
67#endif
68 return true;
69}
70```
71
72Beispiel Ausgabe:
73```text
74Waiting for device:.......
75Listening:
76KL: kc: 169, col: 0, row: 0, pressed: 1
77KL: kc: 169, col: 0, row: 0, pressed: 0
78KL: kc: 174, col: 1, row: 0, pressed: 1
79KL: kc: 174, col: 1, row: 0, pressed: 0
80KL: kc: 172, col: 2, row: 0, pressed: 1
81KL: kc: 172, col: 2, row: 0, pressed: 0
82```
83
84### Wieviel Zeit wurde benötigt um einen Tastenanschlag zu detektieren?
85
86Wenn Performance-Probleme auftreten ist es hilfreich die Frequenz, mit der die Matrix gescannt wird, zu wissen. Um dies in diesem Fall zu aktiveren füge, den folgenden Code zu deiner Tastaturbelegung in `config.h` hinzu.
87
88```c
89#define DEBUG_MATRIX_SCAN_RATE
90```
91
92Beispiel Ausgabe
93```text
94 > matrix scan frequency: 315
95 > matrix scan frequency: 313
96 > matrix scan frequency: 316
97 > matrix scan frequency: 316
98 > matrix scan frequency: 316
99 > matrix scan frequency: 316
100```