_sidebar.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. [
  2. {
  3. "text": "Tutorial",
  4. "items": [
  5. { "text": "Introduction", "link": "/newbs" },
  6. { "text": "Setup", "link": "/newbs_getting_started" },
  7. { "text": "Building Your First Firmware", "link": "/newbs_building_firmware" },
  8. { "text": "Flashing Firmware", "link": "/newbs_flashing" },
  9. { "text": "Getting Help/Support", "link": "/support" },
  10. { "text": "External Userspace", "link": "/newbs_external_userspace" },
  11. { "text": "Other Resources", "link": "/newbs_learn_more_resources" },
  12. { "text": "Syllabus", "link": "/syllabus" }
  13. ]
  14. },
  15. {
  16. "text": "FAQs",
  17. "items": [
  18. { "text": "General FAQ", "link": "/faq_general" },
  19. { "text": "Build/Compile QMK", "link": "/faq_build" },
  20. { "text": "Troubleshooting QMK", "link": "/faq_misc" },
  21. { "text": "Debugging QMK", "link": "/faq_debug" },
  22. { "text": "Keymap FAQ", "link": "/faq_keymap" },
  23. { "text": "Squeezing Space from AVR", "link": "/squeezing_avr" },
  24. { "text": "Glossary", "link": "/reference_glossary" }
  25. ]
  26. },
  27. {
  28. "text": "Licensing",
  29. "items": [
  30. { "text": "License Violations", "link": "/license_violations" },
  31. { "text": "Proprietary Libraries", "link": "/proprietary_libs" }
  32. ]
  33. },
  34. {
  35. "text": "Configurator",
  36. "items": [
  37. { "text": "Overview", "link": "/newbs_building_firmware_configurator" },
  38. { "text": "Step by Step", "link": "/configurator_step_by_step" },
  39. { "text": "Troubleshooting", "link": "/configurator_troubleshooting" },
  40. { "text": "Architecture", "link": "/configurator_architecture" },
  41. {
  42. "text": "QMK API",
  43. "items": [
  44. { "text": "Overview", "link": "/api_overview" },
  45. { "text": "API Documentation", "link": "/api_docs" },
  46. { "text": "Keyboard Support", "link": "/reference_configurator_support" },
  47. { "text": "Adding Default Keymaps", "link": "/configurator_default_keymaps" }
  48. ]
  49. }
  50. ]
  51. },
  52. {
  53. "text": "CLI",
  54. "items": [
  55. { "text": "Overview", "link": "/cli" },
  56. { "text": "Configuration", "link": "/cli_configuration" },
  57. { "text": "Commands", "link": "/cli_commands" },
  58. { "text": "Tab Completion", "link": "/cli_tab_complete" }
  59. ]
  60. },
  61. {
  62. "text": "Using QMK",
  63. "items": [
  64. {
  65. "text": "Guides",
  66. "items": [
  67. { "text": "Customizing Functionality", "link": "/custom_quantum_functions" },
  68. { "text": "Driver Installation with Zadig", "link": "/driver_installation_zadig" },
  69. { "text": "Community Modules", "link": "/features/community_modules" },
  70. { "text": "Keymap Overview", "link": "/keymap" },
  71. {
  72. "text": "Development Environments",
  73. "items": [{ "text": "Docker Guide", "link": "/getting_started_docker" }]
  74. },
  75. { "text": "Flashing", "link": "/flashing" },
  76. {
  77. "text": "IDEs",
  78. "items": [
  79. { "text": "Using Eclipse with QMK", "link": "/other_eclipse" },
  80. { "text": "Using VSCode with QMK", "link": "/other_vscode" }
  81. ]
  82. },
  83. {
  84. "text": "Git Best Practices",
  85. "items": [
  86. { "text": "Introduction", "link": "/newbs_git_best_practices" },
  87. { "text": "Your Fork", "link": "/newbs_git_using_your_master_branch" },
  88. { "text": "Merge Conflicts", "link": "/newbs_git_resolving_merge_conflicts" },
  89. { "text": "Fixing Your Branch", "link": "/newbs_git_resynchronize_a_branch" }
  90. ]
  91. }
  92. ]
  93. },
  94. {
  95. "text": "Simple Keycodes",
  96. "items": [
  97. { "text": "Full List", "link": "/keycodes" },
  98. { "text": "Basic Keycodes", "link": "/keycodes_basic" },
  99. { "text": "Language-Specific Keycodes", "link": "/reference_keymap_extras" },
  100. { "text": "Modifier Keys", "link": "/feature_advanced_keycodes" },
  101. { "text": "Quantum Keycodes", "link": "/quantum_keycodes" },
  102. { "text": "Magic Keycodes", "link": "/keycodes_magic" }
  103. ]
  104. },
  105. {
  106. "text": "Advanced Keycodes",
  107. "items": [
  108. { "text": "Command", "link": "/features/command" },
  109. { "text": "Dynamic Macros", "link": "/features/dynamic_macros" },
  110. { "text": "Grave Escape", "link": "/features/grave_esc" },
  111. { "text": "Leader Key", "link": "/features/leader_key" },
  112. { "text": "Mod-Tap", "link": "/mod_tap" },
  113. { "text": "Macros", "link": "/feature_macros" },
  114. { "text": "Mouse Keys", "link": "/features/mouse_keys" },
  115. { "text": "Programmable Button", "link": "/features/programmable_button" },
  116. { "text": "Repeat Key", "link": "/features/repeat_key" },
  117. { "text": "Space Cadet Shift", "link": "/features/space_cadet" },
  118. { "text": "US ANSI Shifted Keys", "link": "/keycodes_us_ansi_shifted" }
  119. ]
  120. },
  121. {
  122. "text": "Software Features",
  123. "items": [
  124. { "text": "Auto Shift", "link": "/features/auto_shift" },
  125. { "text": "Autocorrect", "link": "/features/autocorrect" },
  126. { "text": "Caps Word", "link": "/features/caps_word" },
  127. { "text": "Combos", "link": "/features/combo" },
  128. { "text": "Debounce API", "link": "/feature_debounce_type" },
  129. { "text": "Digitizer", "link": "/features/digitizer" },
  130. { "text": "EEPROM", "link": "/feature_eeprom" },
  131. { "text": "Key Lock", "link": "/features/key_lock" },
  132. { "text": "Key Overrides", "link": "/features/key_overrides" },
  133. { "text": "Layers", "link": "/feature_layers" },
  134. { "text": "Layer Lock", "link": "/features/layer_lock" },
  135. { "text": "One Shot Keys", "link": "/one_shot_keys" },
  136. { "text": "OS Detection", "link": "/features/os_detection" },
  137. { "text": "Raw HID", "link": "/features/rawhid" },
  138. { "text": "Secure", "link": "/features/secure" },
  139. { "text": "Send String", "link": "/features/send_string" },
  140. { "text": "Sequencer", "link": "/features/sequencer" },
  141. { "text": "Swap Hands", "link": "/features/swap_hands" },
  142. { "text": "Tap Dance", "link": "/features/tap_dance" },
  143. { "text": "Tap-Hold Configuration", "link": "/tap_hold" },
  144. { "text": "Tri Layer", "link": "/features/tri_layer" },
  145. { "text": "Unicode", "link": "/features/unicode" },
  146. { "text": "Userspace", "link": "/feature_userspace" },
  147. { "text": "WPM Calculation", "link": "/features/wpm" }
  148. ]
  149. },
  150. {
  151. "text": "Hardware Features",
  152. "items": [
  153. {
  154. "text": "Displays",
  155. "items": [
  156. {
  157. "text": "Quantum Painter",
  158. "link": "quantum_painter",
  159. "items": [
  160. { "text": "Quantum Painter LVGL Integration", "link": "/quantum_painter_lvgl" }
  161. ]
  162. },
  163. { "text": "HD44780 LCD Driver", "link": "/features/hd44780" },
  164. { "text": "ST7565 LCD Driver", "link": "/features/st7565" },
  165. { "text": "OLED Driver", "link": "/features/oled_driver" }
  166. ]
  167. },
  168. {
  169. "text": "Lighting",
  170. "items": [
  171. { "text": "Backlight", "link": "/features/backlight" },
  172. { "text": "LED Matrix", "link": "/features/led_matrix" },
  173. { "text": "RGB Lighting", "link": "/features/rgblight" },
  174. { "text": "RGB Matrix", "link": "/features/rgb_matrix" }
  175. ]
  176. },
  177. { "text": "Audio", "link": "/features/audio" },
  178. { "text": "Battery", "link": "/features/battery" },
  179. { "text": "Bootmagic", "link": "/features/bootmagic" },
  180. { "text": "Converters", "link": "/feature_converters" },
  181. { "text": "Custom Matrix", "link": "/custom_matrix" },
  182. { "text": "DIP Switch", "link": "/features/dip_switch" },
  183. { "text": "Encoders", "link": "/features/encoders" },
  184. { "text": "Haptic Feedback", "link": "/features/haptic_feedback" },
  185. { "text": "Joystick", "link": "/features/joystick" },
  186. { "text": "LED Indicators", "link": "/features/led_indicators" },
  187. { "text": "MIDI", "link": "/features/midi" },
  188. { "text": "Pointing Device", "link": "/features/pointing_device" },
  189. { "text": "PS/2 Mouse", "link": "/features/ps2_mouse" },
  190. { "text": "Split Keyboard", "link": "/features/split_keyboard" },
  191. { "text": "Stenography", "link": "/features/stenography" },
  192. { "text": "Wireless", "link": "/features/wireless" }
  193. ]
  194. },
  195. {
  196. "text": "Keyboard Building",
  197. "items": [
  198. { "text": "Easy Maker for One Offs", "link": "/easy_maker" },
  199. { "text": "Porting Keyboards", "link": "/porting_your_keyboard_to_qmk" },
  200. { "text": "Hand Wiring Guide", "link": "/hand_wire" },
  201. { "text": "ISP Flashing Guide", "link": "/isp_flashing_guide" }
  202. ]
  203. }
  204. ]
  205. },
  206. {
  207. "text": "Developing QMK",
  208. "items": [
  209. { "text": "PR Checklist", "link": "/pr_checklist" },
  210. {
  211. "text": "Breaking Changes",
  212. "items": [
  213. { "text": "Overview", "link": "/breaking_changes" },
  214. { "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" },
  215. {
  216. "text": "Most Recent ChangeLog",
  217. "link": "/ChangeLog/20251130"
  218. },
  219. { "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
  220. { "text": "Deprecation Policy", "link": "/support_deprecation_policy" }
  221. ]
  222. },
  223. {
  224. "text": "C Development",
  225. "items": [
  226. { "text": "ARM Debugging Guide", "link": "/arm_debugging" },
  227. { "text": "Coding Conventions", "link": "/coding_conventions_c" },
  228. { "text": "Compatible Microcontrollers", "link": "/compatible_microcontrollers" },
  229. {
  230. "text": "Drivers",
  231. "link": "hardware_drivers",
  232. "items": [
  233. { "text": "ADC Driver", "link": "/drivers/adc" },
  234. { "text": "APA102 Driver", "link": "/drivers/apa102" },
  235. { "text": "Audio Driver", "link": "/drivers/audio" },
  236. { "text": "Battery Driver", "link": "/drivers/battery" },
  237. { "text": "EEPROM Driver", "link": "/drivers/eeprom" },
  238. { "text": "Flash Driver", "link": "/drivers/flash" },
  239. { "text": "I2C Driver", "link": "/drivers/i2c" },
  240. { "text": "'serial' Driver", "link": "/drivers/serial" },
  241. { "text": "SPI Driver", "link": "/drivers/spi" },
  242. { "text": "UART Driver", "link": "/drivers/uart" },
  243. { "text": "WS2812 Driver", "link": "/drivers/ws2812" }
  244. ]
  245. },
  246. { "text": "GPIO Controls", "link": "/drivers/gpio" },
  247. { "text": "Keyboard Guidelines", "link": "/hardware_keyboard_guidelines" }
  248. ]
  249. },
  250. {
  251. "text": "Python Development",
  252. "items": [
  253. { "text": "Coding Conventions", "link": "/coding_conventions_python" },
  254. { "text": "QMK CLI Development", "link": "/cli_development" }
  255. ]
  256. },
  257. {
  258. "text": "Configurator Development",
  259. "items": [
  260. {
  261. "text": "QMK API",
  262. "items": [
  263. { "text": "Development Environment", "link": "/api_development_environment" },
  264. { "text": "Architecture Overview", "link": "/api_development_overview" }
  265. ]
  266. }
  267. ]
  268. },
  269. {
  270. "text": "Hardware Platform Development",
  271. "items": [
  272. {
  273. "text": "Arm/ChibiOS",
  274. "items": [
  275. { "text": "Selecting an MCU", "link": "/platformdev_selecting_arm_mcu" },
  276. { "text": "Early initialization", "link": "/platformdev_chibios_earlyinit" },
  277. { "text": "Raspberry Pi RP2040", "link": "/platformdev_rp2040" },
  278. { "text": "Proton C", "link": "/platformdev_proton_c" },
  279. { "text": "WeAct Blackpill F4x1", "link": "/platformdev_blackpill_f4x1" }
  280. ]
  281. }
  282. ]
  283. },
  284. {
  285. "text": "QMK Reference",
  286. "items": [
  287. { "text": "Contributing to QMK", "link": "/contributing" },
  288. { "text": "Config Options", "link": "/config_options" },
  289. { "text": "Data Driven Configuration", "link": "/data_driven_config" },
  290. { "text": "Make Documentation", "link": "/getting_started_make_guide" },
  291. { "text": "Documentation Best Practices", "link": "/documentation_best_practices" },
  292. { "text": "Documentation Templates", "link": "/documentation_templates" },
  293. { "text": "Community Layouts", "link": "/feature_layouts" },
  294. { "text": "Unit Testing", "link": "/unit_testing" },
  295. { "text": "Useful Functions", "link": "/ref_functions" },
  296. { "text": "info.json Format", "link": "/reference_info_json" }
  297. ]
  298. },
  299. {
  300. "text": "For a Deeper Understanding",
  301. "items": [
  302. { "text": "How Keyboards Work", "link": "/how_keyboards_work" },
  303. { "text": "How a Matrix Works", "link": "/how_a_matrix_works" },
  304. { "text": "Understanding QMK", "link": "/understanding_qmk" }
  305. ]
  306. }
  307. ]
  308. }
  309. ]