karabiner

Manage Karabiner-Elements keyboard configurations using the karabiner.ts TypeScript DSL.

Updated Apr 25, 2023
One-click install
npx skills add https://github.com/napisani/dotfiles-nix --skill karabiner-napisani
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: karabiner
Source: https://github.com/napisani/dotfiles-nix/tree/main/.agents/skills/karabiner
Command: npx skills add https://github.com/napisani/dotfiles-nix --skill karabiner-napisani

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill allows you to deeply customize your keyboard's behavior, creating powerful shortcuts, layers, and modifier mappings to streamline your workflow and reduce repetitive keystrokes.

Core Features & Use Cases

  • Custom Keyboard Layers: Define custom layers activated by holding specific keys (e.g., Caps Lock, Tab).
  • Modifier Key Swapping: Remap modifier keys (Cmd, Ctrl, Fn) on a per-application basis.
  • Window Management Shortcuts: Integrate with rift-cli for efficient window manipulation via keyboard.
  • Use Case: Configure Caps Lock to act as an Escape key when tapped, or as an arrow key layer when held, significantly speeding up navigation and editing.

Quick Start

Use the karabiner skill to configure your Caps Lock key to function as an Escape key when tapped and as an arrow key layer when held.

Frequently Asked Questions about karabiner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure custom keyboard layers and keybindings in Karabiner-Elements?

You can configure custom keyboard layers and keybindings in Karabiner-Elements using this Skill via the karabiner.ts TypeScript DSL, which generates the required JSON output. It supports simlayers and variable-based layers for complex mappings.

Can I set up a Caps Lock key to act as Escape when tapped and an arrow layer when held?

Yes, you can set up a Caps Lock key to act as Escape when tapped and an arrow key layer when held. This Skill directly supports creating custom layers activated by holding specific keys to speed up navigation and editing workflows.

Does Karabiner configuration with karabiner.ts require a specific runtime environment?

Yes, managing Karabiner configurations with karabiner.ts requires the Deno runtime for execution. The Skill uses this environment to process the TypeScript DSL and generate the JSON output consumed by Karabiner-Elements.

What is the best way to remap modifier keys like Cmd or Ctrl for specific applications?

The best way to remap modifier keys like Cmd or Ctrl on a per-application basis is using this Skill's TypeScript DSL to define specific profiles. It outputs a JSON configuration that directly applies these modifier swaps to Karabiner-Elements.

How do I integrate window management shortcuts into my keyboard configuration?

You integrate window management shortcuts by configuring keybindings through this Skill's rift-cli window manager integration. This enables efficient manipulation and control of windows directly from your custom keyboard setup.