Mechanical keyboard sounds for Chrome — 16 sound packs, 100% free
- Python 50%
- TypeScript 35.9%
- CSS 7.9%
- HTML 3%
- Shell 1.7%
- Other 1.5%
onSettingsChanged was constructing a partial settings object from only the changed keys. This meant when selectedPack changed, the callback received a settings object where 'enabled' was from DEFAULT_SETTINGS (true) but the actual stored value was lost if it had been explicitly set to false. Fix: re-read full settings from storage via getSettings() in the callback, ensuring the content script always receives a complete merged settings object. Note: chrome:// and about: pages don't match <all_urls> — content script cannot inject there. This is a Chrome limitation, not a bug. |
||
|---|---|---|
| .gitea/workflows | ||
| .meta | ||
| .specify | ||
| presets/d0a1-strict | ||
| protocols | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| biome.json | ||
| commitlint.config.cjs | ||
| CONSTITUTION.md | ||
| DESIGN.md | ||
| grill-decisions.md | ||
| lefthook.yml | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
| wxt.config.ts | ||
TypeSounds — Mechanical Keyboard Sounds Extension
Chrome extension that plays realistic mechanical keyboard sounds (Cherry MX Blue, thocky, typewriter, etc.) as you type on any website.
Install (dev)
pnpm install
pnpm wxt prepare
pnpm dev # launches WXT dev browser
Build
pnpm build
# Load .output/chrome-mv3 as unpacked extension in Chrome
Stack
- WXT 0.20.27 (build tool)
- TypeScript 6.0.3 (strict)
- Biome 2.5.1 (lint + format, no ESLint/Prettier)
- Vitest 4.1.9 (testing)
- pnpm 11.9.0 (package manager)
License
Apache-2.0