Skip to content

macOS menu bar app that visualizes keyboard input with skeuomorphic 3D mechanical key aesthetics

License

Notifications You must be signed in to change notification settings

xkelxmc/keypress-macos

Repository files navigation

Keypress

CI GitHub last commit License: MIT Swift macOS 14+

A macOS menu bar app that visualizes keyboard input with beautiful skeuomorphic 3D mechanical key aesthetics.

Light mode Dark mode

Features

  • 🎹 3 keycap styles: Mechanical (3D), Flat (modern), Minimal (compact)
  • ✨ Press animation — keys visually respond to press/release
  • 🌍 Keyboard layout support — works with Russian, German, and other layouts
  • 🖥️ Multi-monitor support with auto-follow or fixed display
  • 🌗 Auto light/dark mode (follows system)
  • 🎨 Per-category color customization (10 key categories)
  • 📍 8 preset positions with edge offset (up to 500×300px)
  • ⌨️ Global hotkey to toggle visibility (default ⇧⌘K)
  • 📺 Two display modes: Single (shortcuts) or History (typing)
  • 🖱️ Click-through overlay — doesn't interfere with your work
  • 🔄 Auto-updates via Sparkle
  • 🎯 Perfect for content creators, demos, and screen sharing

Requirements

  • macOS 14+ (Sonoma)

Install

From Releases

Download the latest .zip from Releases.

From Source

git clone https://github.com/xkelxmc/keypress-macos.git
cd keypress-macos
bun run start

Development

# Dev loop — build, package, launch
bun run start

# With tests
bun run start:test

# Individual commands
bun run build          # Debug build
bun run build:release  # Release build
bun run test           # Run tests
bun run package        # Build Keypress.app
bun run stop           # Kill running instances

# Lint & format
bun run lint           # SwiftLint
bun run format         # SwiftFormat
bun run check          # Both

Scripts

Script Description
Scripts/compile_and_run.sh Full dev loop: kill, build, package, launch
Scripts/package_app.sh Build .app bundle
Scripts/launch.sh Launch existing app (kill previous first)
Scripts/build_icon.sh Generate Icon.icns from PNG
Scripts/release.sh Full release workflow
Scripts/sign-and-notarize.sh Sign and notarize for distribution
Scripts/make_appcast.sh Generate Sparkle update feed
Scripts/validate_changelog.sh Validate CHANGELOG before release

Documentation

Tech Stack

  • Swift 6 with strict concurrency
  • SwiftUI + AppKit
  • Swift Package Manager
  • Sparkle for auto-updates
  • KeyboardShortcuts for global hotkeys

License

MIT — see LICENSE

About

macOS menu bar app that visualizes keyboard input with skeuomorphic 3D mechanical key aesthetics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published