Skip to content

Repository files navigation

⌨
SpecialKeys

Stop pressing Alt+Cmd — copy any symbol instantly.
Every symbol, character, LaTeX command, and OS shortcut — one click away.

🇬🇧 English · 🇪🇸 Español

🌐 Live Demo · Features · Getting Started · Contributing

Next.js TypeScript Tailwind CSS KaTeX License Dark Mode

SpecialKeys (dark mode)


✨ Features

  • Special Characters — 200+ Unicode symbols across 7 categories: Math, Greek, Arrows, Punctuation, Currency, Accents, Misc
  • Greek Alphabet — Uppercase + lowercase letters, plus common math variants (ϕ, ϑ, …)
  • LaTeX Commands — 100+ commands rendered live with KaTeX: Operators, Relations, Greek, Calculus, Formatting, Matrices
  • OS Shortcuts — 120+ keyboard shortcuts for macOS (⌥ Option, dead keys) and Windows (Alt codes, Ctrl+Alt)
  • Emojis & Flags — A curated emoji + flags section with keywords
  • Regex Sedum — Common regular expressions for programmers: validation, extraction, and cleanup patterns
  • AI Prompts — Copy-paste prompt templates and tool-calling snippets
  • Global Search — Instant search across all datasets simultaneously

Design

  • 🌑 Dark Mode first — edujbarrios.com Turqonix palette (surface #1b1b1d, primary #40E0D0, secondary #66E6DD)
  • Visual key badges — keyboard shortcuts rendered as physical keys
  • 📋 One click to copy — character, HTML entity, LaTeX command, or expression
  • 💡 Dead-key hints — explains Mac accent sequences (⌥E → A = á)
  • 🔍 Per-section search + global search dropdown with grouped results

🚀 Getting Started

# Clone
git clone https://github.com/edujbarrios/specialkeys.git
cd specialkeys

# Install
npm install

# Dev server
npm run dev

Open http://localhost:3000.


📁 Project Structure

app/
├── layout.tsx         # Root layout + metadata
├── page.tsx           # Main page — hero + all sections
└── globals.css        # Tailwind + KaTeX + custom properties
components/
├── GlobalSearch.tsx   # Cross-dataset search dropdown
├── Header.tsx         # Sticky nav
├── TabBar.tsx         # Reusable category tab bar
├── SearchBar.tsx      # Per-section search input
├── CharCard.tsx       # Special character card
├── GreekLetterCard.tsx
├── LatexCard.tsx      # LaTeX command card with KaTeX render
├── RegexCard.tsx      # Regular expression pattern card
├── KeyBadge.tsx       # Visual keyboard key badge
├── PromptCard.tsx
├── ShortcutCard.tsx   # OS shortcut card
├── SpecialCharsSection.tsx
├── GreekAlphabetSection.tsx
├── LatexSection.tsx
├── RegexSedumSection.tsx
├── OsShortcutsSection.tsx
└── AiPromptsSection.tsx
contexts/
└── LocaleContext.tsx  # i18n context + helpers
i18n/
└── translations.ts    # EN/ES translations dictionary
types/
└── react-katex.d.ts   # KaTeX type shim
data/
├── specialChars.ts    # 200+ chars, 7 categories — add more here
├── greekAlphabet.ts   # Greek alphabet + variants — add more here
├── latexCommands.ts   # 100+ LaTeX commands — add more here
├── regexSedum.ts      # Common regex patterns — add more here
├── osShortcuts.ts     # 120+ OS shortcuts — add more here
└── aiPrompts.ts       # Prompt templates + tool snippets — add more here

➕ Adding More Characters / Commands

All data is fully parametrized. Add a new entry to the relevant array:

Special character

// data/specialChars.ts
{ char: "∞", label: "Infinity", unicode: "U+221E", mac: "⌥ 5", windows: "Alt 8734", html: "∞" }

LaTeX command

// data/latexCommands.ts
{ command: "\\mu", rendered: "\\mu", label: "Mu", description: "μ" }

OS shortcut

// data/osShortcuts.ts
{ os: "mac", category: "math", keys: ["⌥", "M"], result: "µ", label: "Mu / Micro" }
{ os: "windows", category: "math", keys: ["Alt", "956"], result: "μ", label: "Mu" }

Greek alphabet

// data/greekAlphabet.ts
{ name: "Alpha", upper: "Α", lower: "α", upperUnicode: "U+0391", lowerUnicode: "U+03B1", latexLower: "\\alpha" }

AI prompt

// data/aiPrompts.ts
{ title: "Clarify → Plan → Execute", prompt: "..." }

🤝 Contributing

Contributions are welcome! If you know a shortcut that's missing, open a PR — the data files are designed to be trivially extensible.

  1. Fork the repo
  2. Add your entries to data/*.ts
  3. Open a pull request

📄 License

MIT © Eduardo J. Barrios


Made with ♥ and dark mode · Copy any symbol instantly

About

Every symbol, character, LaTeX command, and OS shortcuts — one click away.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages