30 open-source projects similar to jamiebuilds/tinykeys, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Mousetrap is a JavaScript keyboard shortcut library used to bind specific key combinations and sequences to custom functions in web applications. It serves as a keyboard event handler that listens to and manages keypress, keydown, and keyup events across a browser window. The library includes a sequence-based input manager for triggering actions based on a precise series of keys pressed in a specific order. It also provides a custom shortcut recorder to capture user keystrokes for defining and saving personalized shortcuts. The system supports global binding registration to ensure shortcuts
Keymaster is a keyboard shortcut library for web applications that provides utilities for intercepting keyboard events and mapping key combinations to handler functions. It includes a keyboard event manager and a key state tracker to monitor and query which keys or modifiers are currently held down. The library features a scoped input handler that allows shortcuts to be grouped into named contexts. This enables the application to switch between different sets of available actions depending on the active area of the interface. The system includes input filtering to prevent global shortcuts fr
ShiftIt is a macOS window manager and tiling utility that enables the resizing and positioning of application windows through predefined keyboard shortcuts. It functions as a shortcut manager to automate window movement and workspace organization. The utility specializes in tiling windows into proportional widths and heights. It includes a dimension cycling feature that rotates window sizes through a set of predefined ratios using directional keyboard inputs.
Lazygit is a terminal-based user interface designed to simplify version control operations through a keyboard-driven workflow. It functions as a visual abstraction layer that bridges native commands with an interactive environment, allowing users to manage repository history, branches, and commit workflows without relying solely on manual command-line input. The tool distinguishes itself by automating complex version control tasks that typically require multiple manual steps. It provides specialized interfaces for interactive rebasing, commit history amendment, and binary search-based regress
Angular Hotkeys is a configuration-centric library designed for registering keyboard shortcuts and generating automated cheatsheet overlays within Angular web applications. It provides a centralized service to bind specific key combinations to programmatic actions and callbacks, keeping markup clean and separation of concerns intact. The library includes dynamic cheatsheet generation that inspects active shortcut definitions at runtime to render a searchable visual help interface listing all available commands and descriptions on demand. It manages shortcut availability through automated rou
hotkeys-js is a JavaScript keyboard shortcut library and event manager used to map key combinations to callback functions within web applications. It serves as an input shortcut orchestrator that captures and filters keyboard events to execute custom actions. The library distinguishes itself through shortcut scope management, allowing shortcuts to be organized into named groups. These scopes can be toggled to prevent command conflicts across different application states. The system covers keyboard shortcut binding and unbinding, real-time key state querying, and input event filtering to prev
Hotkey is a client-side JavaScript library designed to enhance web application accessibility and navigation through keyboard shortcut integration. It enables developers to bind keyboard shortcuts and multi-key sequences directly to HTML elements using declarative attributes. The library functions as a web component and DOM interaction helper that triggers clicks, focus events, or custom actions when specific key combinations are pressed. The project features document-level event delegation to capture global keyboard inputs efficiently and route them to targeted elements. It includes input sco
Ninja-keys is a keyboard-driven command palette and quick-launch menu built as a web component for websites and single-page applications. It functions as a utility for binding, managing, and cleaning up global keyboard shortcuts across different web frameworks and static HTML. The component integrates fuzzy search indexing to filter available commands dynamically by matching user input strings against keywords and titles across flat and nested structures. It maintains command submenus as a hierarchical state tree that allows users to drill down and bubble back up through parent-child contexts
Kando is a cross-platform desktop pie menu launcher that runs on Windows, macOS, and Linux, including Wayland compositors. It opens a radial menu on a hotkey and lets users select applications, files, or shortcuts by moving the cursor toward a slice, and can also be controlled from the command line to open specific menus or trigger shortcuts. The project distinguishes itself through a gesture-based selection system that interprets pointer movement direction and distance rather than requiring precise clicking, and an input device abstraction layer that normalizes input from mouse, stylus, touc
Asciimatics is a cross-platform terminal user interface framework and console wrapper. It functions as a curses-compatible library providing a toolkit for building interactive text-based applications, an ASCII art generator, and a terminal animation engine. The project distinguishes itself through a visual effects engine capable of rendering sprites, particle systems, and anti-aliased lines. It includes specialized systems for creating moving text-based graphics and tools for converting image files into character-based representations. The framework covers core terminal management including
p5.js is a JavaScript creative coding library and generative art framework. It serves as a web-based graphics engine and a high-level HTML5 Canvas wrapper designed to produce algorithmic imagery and responsive audio-visual experiences. The project provides a simplified sketching API for rendering 2D and 3D graphics directly in a web browser. It enables the creation of interactive animations, generative art, and digital experiences that respond to user input. The library covers a range of applications including interactive data visualization, browser-based multimedia art, and educational prog
SFML is a cross-platform multimedia framework for C++ designed for creating 2D graphics, audio, and network applications. It functions as a unified set of libraries that provides a 2D graphics rendering engine, an audio processing library, a network socket library, and a cross-platform window manager. The framework allows for the development of interactive software by coordinating real-time 2D graphics rendering, audio playback, and user input handling. It provides a standardized interface for creating and controlling application windows across multiple operating systems. Its capability surf
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Flame is a 2D game engine for Flutter and Dart. It provides a component-based game framework for managing entities and their lifecycles through a hierarchical architecture, alongside a dedicated system for game asset management and input handling. The engine distinguishes itself through a specialized integration layer for external physics engines to handle rigid body dynamics and collision detection. It also features a high-performance task model that uses isolates to offload heavy computations and prevent main thread blocking. The framework covers a broad range of capabilities including vis
Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions. The environment distinguishes itself as a cross-platform sketch tool that runs visual programs unchanged on desktop, web, Android, and Rasp
Ratatui is a terminal rendering engine and library for the Rust language used to build interactive text-based user interfaces. It provides a framework for creating command-line dashboards and visual applications by rendering widgets and layouts directly to a terminal screen. The project utilizes a backend-agnostic interface to decouple UI logic from terminal drivers and employs a constraint-based layout engine to divide screen space into nested rectangular areas. It manages rendering through an immediate-mode drawing loop and a buffer-based system to minimize screen flicker. The library supp
Embla Carousel is a framework-agnostic JavaScript library used to build sliding content galleries and touch-enabled slider components. It provides a toolkit for creating carousels that function independently of any specific frontend framework or DOM library. The library focuses on precision swiping and fluid motion for interactive image galleries and custom content sliders. It is designed to maintain consistent behavior across different browser environments and device screen sizes.
Mosaic is a declarative terminal user interface framework and display engine. It provides a toolkit for building interactive command-line applications by synchronizing a data model with the terminal screen to minimize manual redraws. The library functions as a layout engine for designing structured visual interfaces and real-time displays. It enables the development of interactive console programs, such as system monitors and games, by managing responsive user input and dynamic output updates.
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab
go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop. The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history. The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping,
CodeMirror is a browser-based code editor and extensible text editor framework. It functions as a programmable interface for rendering code and text with support for numerous programming languages, serving as a reusable component for web-based integrated development environments. The project provides a syntax highlighting engine that applies visual styles to text based on programming language rules. It includes a programming API and a CSS theming system to customize the editor's appearance and extend its functionality with custom behaviors. The framework covers capabilities for embedding tex
Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua
This is a web-based adaptive touch typing trainer designed to help users master touch typing through personalized exercises. It functions as a heuristic typing tutor that generates custom lessons based on individual keystroke statistics and accuracy data. The application uses adaptive skill modeling to prioritize the most difficult keys for a user and predicts the number of lessons required to reach specific target speeds. A performance dashboard transforms raw typing statistics into graphical representations to visualize learning growth and proficiency over time. The system covers real-time
Phoenix is a macOS workspace automator and window manager that uses a JavaScript scripting engine to control system-level behaviors. It functions as an AppleScript automation bridge, allowing users to programmatically manipulate application states, window geometry, and desktop interactions. The project enables the creation of custom workflows by binding keyboard shortcuts to JavaScript functions. This allows for the automation of complex system actions, such as organizing application layouts across multiple screens and managing virtual spaces. Its capability surface covers window and applica
This project is a collection of Unix dotfiles and a custom desktop environment configuration for Linux. It provides a standardized set of configuration files to ensure consistent shell and application behavior, centering on a tiling window manager setup and a personalized user interface. The environment features a desktop dashboard with modular widgets and sidebars that display system performance, weather, and media controls. It includes a comprehensive keyboard shortcut map using global and mode-specific keybindings to launch applications and control system actions. The configuration covers
Pebble is a reference implementation of wearable firmware intended for embedded system research and firmware analysis. It serves as a technical blueprint for understanding how smartwatch operating systems are structured and executed on constrained hardware. The codebase focuses on low power hardware rendering and the management of pixel data and display buffers to minimize energy consumption. It provides a historical guide for watch application development and the study of wearable software architecture. The system incorporates a hardware abstraction layer, a monolithic firmware image, and a
Espanso is a cross-platform text expander and automation tool written in Rust. It replaces short keywords with longer predefined text strings across different operating systems to increase typing speed and consistency. The tool utilizes regular expressions to detect complex typing patterns for dynamic replacement and allows for the execution of custom shell scripts to inject real-time data. Users can restrict expansions to specific software environments, ensuring that keywords only trigger within designated applications. The system includes a manager for installing and updating curated colle
This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea