docs: Update intro page (#2767)

This commit is contained in:
Cem Aksoylar 2025-01-22 16:58:15 -08:00 committed by GitHub
parent 4882a62c40
commit 4f72e7cb25
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 112 additions and 52 deletions

View File

@ -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.

75
docs/docs/intro.mdx Normal file
View File

@ -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.
<Columns>
<Column className="full-width-table">
| Legend: | ✅ Supported | 🚧 Under Development | ❌ Not Planned |
| :------ | :----------- | :------------------- | -------------- |
</Column>
</Columns>
<Columns>
<Column className="full-width-table">
| 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 | ❌ |
</Column>
<Column className="full-width-table">
| 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) | 🚧 |
</Column>
</Columns>
## 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.

View File

@ -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 (
<div className="container center">
<div className={clsx("row", className)} style={style}>
{children}
</div>
</div>
);
}
interface ColumnProps {
children: ReactNode;
className?: string;
style?: CSSProperties;
}
export function Column({ children, className, style }: ColumnProps) {
return (
<div className={clsx("col", className)} style={style}>
{children}
</div>
);
}

View File

@ -50,3 +50,8 @@
.secrettabs {
display: none;
}
.full-width-table table {
width: 100%;
display: table;
}