Skip to content
/ skim Public

Svalboard Keymap Image Maker is a command-line tool that generates beautiful, publication-ready images of your keyboard layouts. It takes keymap configuration files from popular keyboard firmware tools and produces SVG or PNG images that you can use for documentation, reference cards, or sharing your layouts with the community.

Notifications You must be signed in to change notification settings

Townk/skim

Repository files navigation

Svalboard Keymap Image Maker (skim)

Coverage Python Version Build Status PyPI version

A Python CLI tool for generating keymap layout images for the Svalboard keyboard.

Features

  • Generate individual layer keymap images
  • Generate overview images showing all layers
  • Support for multiple keymap formats:
    • Keybard (.kbi)
    • Vial (.vil)
    • QMK c2json (.json)
  • Configurable colors and appearance
  • High-quality SVG and PNG output

Installation

pip install skim

Usage

Generate keymap images

# Generate from a keymap file
skim generate --keymap my-keymap.kbi --output-dir ./images

# Generate with custom configuration
skim generate --keymap my-keymap.kbi --config skim-config.yaml --output-dir ./images

# Generate specific layers only
skim generate --keymap my-keymap.kbi --layer 1 --layer 3-5 --layer overview

Configuration helper

# Create a configuration file from QMK color.h
skim configure --qmk-color-header /path/to/qmk/quantum/color.h --output skim-config.yaml

Development

Setup

# Clone the repository
git clone https://github.com/your-repo/skim.git
cd skim

# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
uv sync --dev

Testing

# Run tests with coverage
uv run pytest

# Run specific test file
uv run pytest tests/unit/domain/test_colors.py

Building Documentation

sphinx-build -b html docs out/docs

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

Svalboard Keymap Image Maker is a command-line tool that generates beautiful, publication-ready images of your keyboard layouts. It takes keymap configuration files from popular keyboard firmware tools and produces SVG or PNG images that you can use for documentation, reference cards, or sharing your layouts with the community.

Topics

Resources

Stars

Watchers

Forks