diff --git a/docs/docs/intro.md b/docs/docs/intro.md deleted file mode 100644 index 2d0c4c466b0..00000000000 --- a/docs/docs/intro.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Introduction to ZMK -sidebar_label: Introduction -slug: / ---- - -ZMK Firmware is an open source (MIT) keyboard -firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS). ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues. - -## Features - -ZMK is currently missing some features found in other popular firmware. This table compares the features supported by ZMK, BlueMicro and QMK: - -| Legend: | ✅ Supported | 🚧 Under Development | 💡 Planned | -| :------ | :----------- | :------------------- | :--------- | - -| **Feature** | ZMK | BlueMicro | QMK | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | :-: | :-------: | :-: | -| Low Latency BLE Support | ✅ | ✅ | | -| Multi-Device BLE Support | ✅ | | | -| [USB Connectivity](keymaps/behaviors/outputs.md) | ✅ | ✅ | ✅ | -| User Configuration Repositories | ✅ | | | -| Split Keyboard Support | ✅ | ✅ | ✅ | -| [Keymaps and Layers](keymaps/behaviors/layers.md) | ✅ | ✅ | ✅ | -| [Hold-Tap](keymaps/behaviors/hold-tap.mdx) (which includes [Mod-Tap](keymaps/behaviors/mod-tap.md) and [Layer-Tap](keymaps/behaviors/layers.md#layer-tap)) | ✅ | ✅ | ✅ | -| [Tap-Dance](keymaps/behaviors/tap-dance.mdx) | ✅ | ✅[^2] | ✅ | -| [Keyboard Keycodes](keymaps/list-of-keycodes.mdx#keyboard) | ✅ | ✅ | ✅ | -| [Media](keymaps/list-of-keycodes.mdx#media-controls) & [Consumer](keymaps/list-of-keycodes.mdx#consumer-controls) Codes | ✅ | ✅ | ✅ | -| [Encoders](features/encoders.md) | ✅ | ✅ | ✅ | -| [Display Support](features/displays.md)[^1] | 🚧 | 🚧 | ✅ | -| [LED-based Lighting](features/lighting.md) | ✅ | ✅ | ✅ | -| One Shot Keys | ✅ | ✅ | ✅ | -| [Combo Keys](keymaps/combos.md) | ✅ | | ✅ | -| [Macros](keymaps/behaviors/macros.md) | ✅ | ✅ | ✅ | -| Mouse Keys | ✅ | ✅ | ✅ | -| Low Active Power Usage | ✅ | | | -| Low Power Sleep States | ✅ | ✅ | | -| [Low Power Mode (VCC Shutoff)](keymaps/behaviors/power.md) | ✅ | ✅ | | -| Battery Reporting | ✅ | ✅ | | -| Shell over BLE | 💡 | | | -| Realtime Keymap Updating | 💡 | | ✅ | -| AVR/8 Bit | | | ✅ | -| [Wide Range of ARM Chips Supported](https://docs.zephyrproject.org/3.5.0/boards/index.html) | ✅ | | | - -[^2]: Tap-Dances are limited to single and double-tap on BlueMicro -[^1]: OLEDs are currently proof of concept in ZMK. - -## Code of Conduct - -Please note that this project is released with a -[Contributor Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/). -By participating in this project you agree to abide by its terms. diff --git a/docs/docs/intro.mdx b/docs/docs/intro.mdx new file mode 100644 index 00000000000..1ad92ef81d0 --- /dev/null +++ b/docs/docs/intro.mdx @@ -0,0 +1,75 @@ +--- +title: Introduction to ZMK +sidebar_label: Introduction +slug: / +--- + +import { Columns, Column } from "@site/src/components/columns"; + +ZMK Firmware is an open source (MIT) keyboard firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS). +ZMK's goal is to provide a modern and powerful firmware that is designed for power-efficiency, flexibility, and broad hardware support. +ZMK is capable of being used for both wired and wireless input devices. + +## Features + +Below table lists major features/capabilities currently supported in ZMK, as well as ones that are currently under development and not planned. + + + + +| Legend: | ✅ Supported | 🚧 Under Development | ❌ Not Planned | +| :------ | :----------- | :------------------- | -------------- | + + + + + + + +| Hardware | Support | +| ------------------------------------------------------------------------------------------------------------- | :-----: | +| [Wireless Split Keyboards](features/split-keyboards.md) | ✅ | +| Wired Split Keyboards | 🚧 | +| [Low Active Power Usage](/power-profiler) | ✅ | +| [Encoders](features/encoders.md) | ✅ | +| [LED-based Lighting](features/lighting.md) | ✅ | +| [Displays](features/displays.md) | 🚧 | +| [Pointing Devices](features/pointing.md) | ✅ | +| Multitouch Touchpads (PTP) | 🚧 | +| [Low Power Sleep States](features/low-power-states.md) | ✅ | +| [Low Power Mode (VCC Shutoff) for Peripherals](keymaps/behaviors/power.md) | ✅ | +| Improved Power Handling for Multiple Peripherals | 🚧 | +| [Battery Level Reporting](features/battery.md) | ✅ | +| [Support for a Wide Range of 32-bit Microcontrollers](https://docs.zephyrproject.org/3.5.0/boards/index.html) | ✅ | +| Support for AVR/8-bit Chips | ❌ | + + + + +| Connectivity | Support | +| --------------------------------------------------------------- | :-----: | +| Low-Latency BLE Support | ✅ | +| [Multi-Device BLE Connectivity](features/bluetooth.md#profiles) | ✅ | +| [USB Connectivity](keymaps/behaviors/outputs.md) | ✅ | + +| Keymap Features | Support | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | :-----: | +| [User Configuration Repositories](user-setup.mdx) | ✅ | +| [Keymaps and Layers](keymaps/index.mdx) | ✅ | +| [Wide Range of Keycodes](keymaps/list-of-keycodes.mdx) | ✅ | +| [Flexible Behavior System](keymaps/behaviors/index.mdx) | ✅ | +| [Hold-Taps](keymaps/behaviors/hold-tap.mdx) (including [Mod-Tap](keymaps/behaviors/mod-tap.md) and [Layer-Tap](keymaps/behaviors/layers.md#layer-tap)) | ✅ | +| [Tap-Dances](keymaps/behaviors/tap-dance.mdx) | ✅ | +| [Sticky (One Shot) Keys](keymaps/behaviors/sticky-key.md) | ✅ | +| [Combos](keymaps/combos.md) | ✅ | +| [Macros](keymaps/behaviors/macros.md) | ✅ | +| [Mouse Keys](keymaps/behaviors/mouse-emulation.md) | ✅ | +| [Realtime Keymap Updating](features/studio.md) | 🚧 | + + + + +## Code of Conduct + +Please note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/). +By participating in this project you agree to abide by its terms. diff --git a/docs/src/components/columns.tsx b/docs/src/components/columns.tsx new file mode 100644 index 00000000000..f64bc949497 --- /dev/null +++ b/docs/src/components/columns.tsx @@ -0,0 +1,32 @@ +import React, { ReactNode, CSSProperties } from "react"; +import clsx from "clsx"; + +interface ColumnsProps { + children: ReactNode; + className?: string; + style?: CSSProperties; +} +// className will allow you to pass either your custom classes or the native infima classes https://infima.dev/docs/layout/grid. +// style will allow you to either pass your custom styles directly, which can be an alternative to the "styles.module.css" file in certain cases. +export function Columns({ children, className, style }: ColumnsProps) { + return ( +
+
+ {children} +
+
+ ); +} + +interface ColumnProps { + children: ReactNode; + className?: string; + style?: CSSProperties; +} +export function Column({ children, className, style }: ColumnProps) { + return ( +
+ {children} +
+ ); +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 99920d54c74..e41a8bcec6a 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -50,3 +50,8 @@ .secrettabs { display: none; } + +.full-width-table table { + width: 100%; + display: table; +}