An open API service indexing awesome lists of open source software.

https://github.com/crittermike/shortkeys

A browser extension for custom keyboard shortcuts
https://github.com/crittermike/shortkeys

chrome javascript webextension

Last synced: 4 days ago
JSON representation

A browser extension for custom keyboard shortcuts

Awesome Lists containing this project

README

          


Shortkeys logo

Shortkeys


Custom keyboard shortcuts for your browser

A cross-browser extension for Chrome, Firefox, Edge, and Opera with 200,000+ Chrome users.


Chrome Web Store ยท Firefox Add-ons ยท Website ยท Issues



Shortkeys options page

## Features

- โšก **125+ built-in actions** across 11 categories: scrolling, tabs, navigation, video controls, search, bookmarks, windows, zooming, page tools, page scripts, and more
- ๐Ÿ” **Command palette** - click the icon or set a shortcut to search and trigger any action
- ๐Ÿ“ฆ **9 curated shortcut packs** - one-click install for Vim, Emacs, YouTube, Productivity, Developer, Reading, Tab Manager, Keyboard Power, and Media Control
- โ˜๏ธ **Cloud sync** with automatic local fallback when data exceeds sync quota
- ๐Ÿ“ **Groups** - organize shortcuts into collapsible, renamable sections with bulk enable/disable
- ๐Ÿ”— **Macro chaining** - chain multiple actions into a single shortcut
- ๐ŸŒ **Site filtering** - all sites, blocklist, or allowlist per shortcut
- ๐ŸŽฌ **Live reload** - shortcuts update in all tabs instantly, no page refresh needed
- ๐Ÿ”— **Shareable links** - generate a URL to share shortcuts or groups with anyone
- โŒจ๏ธ **Shortcut recorder** with multi-key sequence support (e.g. `g i`, `g h`)
- โš ๏ธ **Conflict detection** - platform-aware warnings for browser default clashes
- ๐ŸŒ™ **Dark mode** following system preference
- ๐Ÿ“œ **Userscript import** from Greasyfork and OpenUserJS
- ๐Ÿง™ **Guided onboarding** wizard for new users
- โ†ฉ๏ธ **Undo/redo** in the settings page

More screenshots

### Custom JavaScript editor

Custom JavaScript editor

### Macro chaining

Macro chaining

### Dark mode

Dark mode

## Install




Chrome

Chrome




Firefox

Firefox




Edge

Edge




Opera

Opera


Or build from source:

```bash
npm install
npm run build # Chrome โ†’ .output/chrome-mv3/
npm run build:firefox # Firefox โ†’ .output/firefox-mv2/
```

## Development

```bash
npm run dev # Chrome dev mode with hot reload
npm run dev:firefox # Firefox dev mode
npm test # Run all tests (722 tests across 25 files)
npm run test:watch # Watch mode
npm run test:coverage # With coverage report
```

## Project structure

```
src/
โ”œโ”€โ”€ entrypoints/
โ”‚ โ”œโ”€โ”€ background.ts # Service worker: messaging, action dispatch, storage sync
โ”‚ โ”œโ”€โ”€ content.ts # Content script: Mousetrap key bindings, cheat sheet, dark mode
โ”‚ โ”œโ”€โ”€ options/ # Options page (Vue 3 SPA)
โ”‚ โ””โ”€โ”€ popup/ # Command palette popup
โ”œโ”€โ”€ actions/ # Action handlers and helpers
โ”œโ”€โ”€ components/ # Vue components (CodeEditor, SearchSelect, ShortcutRecorder)
โ”œโ”€โ”€ composables/ # Vue composables (useShortcuts)
โ”œโ”€โ”€ packs/ # 9 curated shortcut pack collections
โ””โ”€โ”€ utils/ # Storage, URL matching, conflict detection, JS snippets

site/ # shortkeys.app (Astro SSG, deployed to Netlify)
tests/ # 722 tests across 25 files
marketing/ # Store listing copy, screenshot plans, promo assets
```

## Tech stack

- **WXT** - Vite-based browser extension framework
- **Vue 3** - Composition API with ``
- **TypeScript** throughout
- **Vitest** - 722 tests across 25 files
- **Mousetrap** - keyboard shortcut detection
- **CodeMirror 6** - JavaScript editor with syntax highlighting
- **Astro** - community website (shortkeys.app)

## Contributing

Pull requests are welcome. Please ensure all tests pass (`npm test`) before submitting. For bugs and feature requests, open a [GitHub issue](https://github.com/crittermike/shortkeys/issues).

## Support

Shortkeys is free and open source. If you find it useful, consider supporting development:

- โญ [Star this repo](https://github.com/crittermike/shortkeys)
- ๐Ÿ’› [Sponsor on GitHub](https://github.com/sponsors/crittermike)
- โ˜• [Buy me a coffee](https://buymeacoffee.com/crittermike)
- ๐Ÿ“ [Leave a review](https://chromewebstore.google.com/detail/shortkeys-custom-keyboard/logpjaacgmcbpdkdchjiaagddngobkck/reviews)

## Credits and license

Icon by [Freepik](https://www.flaticon.com/authors/freepik) from [Flaticon](https://www.flaticon.com/).

Licensed under the [MIT License](LICENSE.md).