⌨️ Meme Keyboard
Har keystroke pe Indian meme sound! 🇮🇳
A VS Code extension that plays funny Indian meme sounds on every keystroke while you code. Make your coding sessions more entertaining and less boring!

🎯 Features
- 🎵 12 Different Indian Meme Sounds - Unique WAV sounds for alphabets, numbers, special characters, Enter, Tab, Space, Backspace, Navigation keys, Function keys, Modifiers, Shift, Numpad operators, and Media keys
- 🔇 Enable/Disable Toggle - Turn it on/off instantly when your manager walks by
- 🔊 Volume Control - Adjust volume from 0% to 100%
- ⚡ Debounce Control - Configure delay before playing sound (0-5000ms) - plays the last keystroke sound after delay
- 🎛️ Per-Key Type Control - Enable/disable sounds for 13 different key categories individually
- 📦 100% Offline - No internet required, works completely offline
- 🚀 Lightning Fast - Zero lag, instant response on every keystroke
- 🔒 Privacy First - No tracking, no analytics, no data collection
- 🎨 Cross-Platform - Works seamlessly on macOS, Windows (32-bit & 64-bit), and Linux
- 🎧 High-Quality Audio - WAV format sounds for crisp audio playback
- ⚙️ Windows Audio Fix - Improved MediaPlayer implementation for complete sound playback on Windows
📦 Installation
Method 1: Install from Visual Studio Marketplace (Recommended)
- Open VS Code
- Go to Extensions (⇧⌘X / Ctrl+Shift+X)
- Search for "Meme Keyboard"
- Click Install
Or install directly from the marketplace:
Method 2: Install from VSIX
Download the extension:
Install in VS Code:
code --install-extension meme-code.vsix
Or use VS Code GUI:
- Open VS Code
- Go to Extensions (⇧⌘X / Ctrl+Shift+X)
- Click
... (More Actions) → Install from VSIX...
- Select the downloaded
.vsix file
- Reload VS Code
Method 3: Build from Source
# Clone the repository
git clone https://gitlab.com/nogimitechnologies/meme-keyboard.git
cd meme-keyboard
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Package extension
npm install -g @vscode/vsce
vsce package
# Install the generated .vsix file
code --install-extension meme-keyboardcode-*.vsix
⚙️ Configuration
Open VS Code Settings (⌘, / Ctrl+,) and search for "Meme Keyboard" to configure:
Basic Settings
| Setting |
Type |
Default |
Description |
memeCode.enabled |
boolean |
true |
Enable or disable meme typing sounds |
memeCode.volume |
number |
1.0 |
Volume level (0.0 to 1.0) |
memeCode.debounceDelay |
number |
10 |
Delay in milliseconds before playing sound (0-5000) |
Per-Key Type Settings
| Setting |
Type |
Default |
Description |
memeCode.enableAlphabets |
boolean |
true |
Enable sounds for alphabet keys (a-z, A-Z) |
memeCode.enableNumbers |
boolean |
true |
Enable sounds for number keys (0-9) |
memeCode.enableSpecialChars |
boolean |
true |
Enable sounds for special characters (!@#$% etc.) |
memeCode.enableEnter |
boolean |
true |
Enable sound for Enter key |
memeCode.enableTab |
boolean |
true |
Enable sound for Tab key |
memeCode.enableSpace |
boolean |
true |
Enable sound for Space key |
memeCode.enableBackspace |
boolean |
true |
Enable sound for Backspace/Delete key |
memeCode.enableNavigation |
boolean |
true |
Enable sound for navigation keys (Arrow keys, Home, End, PageUp, PageDown, Insert) |
memeCode.enableFunctionKeys |
boolean |
true |
Enable sound for function keys (F1-F12) |
memeCode.enableModifiers |
boolean |
true |
Enable sound for modifier keys (Ctrl, Alt, Meta/Windows/Super, CapsLock) |
memeCode.enableShift |
boolean |
true |
Enable sound for Shift keys |
memeCode.enableNumpadOperators |
boolean |
true |
Enable sound for numpad operator keys (+, -, *, /, .) |
memeCode.enableMediaKeys |
boolean |
false |
Enable sound for media keys (Play/Pause, Stop, Volume, etc.) - Note: May not work on all platforms |
Example Settings (settings.json)
{
"memeCode.enabled": true,
"memeCode.volume": 0.7,
"memeCode.debounceDelay": 10,
"memeCode.enableAlphabets": true,
"memeCode.enableNumbers": true,
"memeCode.enableSpecialChars": true,
"memeCode.enableEnter": true,
"memeCode.enableTab": true,
"memeCode.enableSpace": true,
"memeCode.enableBackspace": true,
"memeCode.enableNavigation": true,
"memeCode.enableFunctionKeys": true,
"memeCode.enableModifiers": true,
"memeCode.enableShift": true,
"memeCode.enableNumpadOperators": true,
"memeCode.enableMediaKeys": false
}
🎵 Sound Mapping
| Key Type |
Sound File |
Description |
| Alphabets (a-z, A-Z) |
sound1.wav |
Classic Indian meme sound |
| Numbers (0-9, Numpad) |
sound2.wav |
Number keystroke sound |
| Special Characters (!@#$% etc.) |
sound3.wav |
Special character sound |
| Enter (Enter, NumpadEnter) |
sound4.wav |
Enter key sound |
| Shift (ShiftLeft, ShiftRight) |
sound5.wav |
Shift key sound |
| Tab |
sound6.wav |
Tab key sound |
| Space |
sound7.wav |
Space key sound |
| Backspace/Delete |
sound8.wav |
Backspace/Delete sound |
| Navigation (Arrows, Home, End, PageUp/Down, Insert) |
sound9.wav |
Navigation keys sound |
| Function Keys (F1-F12) |
sound10.wav |
Function keys sound |
| Modifiers (Ctrl, Alt, Meta, CapsLock) |
sound11.wav |
Modifier keys sound |
| Numpad Operators (+, -, *, /, .) |
sound3.wav |
Numpad operator sound |
| Media Keys (Play/Pause, Volume, etc.) |
sound13.wav |
Media keys sound |
🚀 Usage
- Install the extension (see Installation above)
- Start typing - Sounds will play automatically on each keystroke!
- Adjust settings - Customize volume, debounce, and key types in VS Code Settings
- Toggle on/off - Disable when needed via
memeCode.enabled setting
Quick Toggle
To quickly enable/disable:
- Open Command Palette (⇧⌘P / Ctrl+Shift+P)
- Type "Preferences: Open Settings (UI)"
- Search for "Meme Keyboard"
- Toggle
Enabled checkbox
View Output Logs
- Open Command Palette (⇧⌘P / Ctrl+Shift+P)
- Type "Meme Keyboard: Show Meme Keyboard Output"
- Check the Output panel for extension logs and errors
🛠️ Development
Prerequisites
- Node.js 18+ and npm
- VS Code 1.74+
- TypeScript 4.9+
Setup
# Clone repository
git clone https://gitlab.com/nogimitechnologies/meme-keyboard.git
cd meme-keyboard
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode (auto-compile on changes)
npm run watch
Build Extension
# Install vsce globally (if not already installed)
npm install -g @vscode/vsce
# Package extension
vsce package
# Output: meme-keyboardcode-1.2.2.vsix
Project Structure
meme-keyboard/
├── src/
│ ├── extension.ts # Main extension entry point
│ ├── soundPlayer.ts # Audio playback logic (cross-platform)
│ ├── soundMap.json # Key type to sound file mapping
│ └── keyDetector.ts # Platform-specific key detection utilities
├── media/
│ ├── sound1.wav # Alphabet keys sound
│ ├── sound2.wav # Number keys sound
│ ├── sound3.wav # Special characters & Numpad operators sound
│ ├── sound4.wav # Enter key sound
│ ├── sound5.wav # Shift keys sound
│ ├── sound6.wav # Tab key sound
│ ├── sound7.wav # Space key sound
│ ├── sound8.wav # Backspace/Delete sound
│ ├── sound9.wav # Navigation keys sound
│ ├── sound10.wav # Function keys sound
│ ├── sound11.wav # Modifiers sound
│ └── sound13.wav # Media keys sound
├── scripts/
│ └── build-vsix.sh # Build script
├── package.json # Extension manifest
├── tsconfig.json # TypeScript configuration
└── README.md # This file
Debugging
- Open project in VS Code
- Press F5 to launch Extension Development Host
- A new VS Code window opens with the extension loaded
- Check Output panel → "Meme Keyboard" for logs
🐛 Troubleshooting
Sounds Not Playing
Check if extension is enabled:
- Settings → Search "Meme Keyboard" → Ensure
memeCode.enabled is true
Check volume:
- Ensure
memeCode.volume is greater than 0
Check platform-specific audio:
- macOS: Uses
afplay (built-in, should work automatically)
- Windows: Uses PowerShell with
System.Windows.Media.MediaPlayer (works on 32-bit & 64-bit)
- Linux: Uses
paplay (PulseAudio), falls back to aplay (ALSA) or mpg123
Check VS Code Output:
- View → Output → Select "Meme Keyboard" from dropdown
- Look for error messages
Windows-specific:
- Ensure PowerShell execution policy allows scripts (usually works by default)
- If sounds cut off, ensure you're on version 1.2.2+ which includes Windows audio fixes
Extension Not Installing
- Ensure VS Code version is 1.74 or higher
- Try installing from VS Code GUI instead of CLI
- Check if
.vsix file is not corrupted
- Increase
memeCode.debounceDelay to reduce sound frequency
- Disable specific key types you don't need
- Lower the volume if system resources are limited
Windows Audio Issues
If sounds are not playing completely on Windows:
- Update to version 1.2.2+ which includes improved Windows audio handling
- The extension now uses event-based MediaPlayer completion for reliable playback
- Works on both 32-bit and 64-bit Windows systems
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Merge Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature)
- Commit your changes (
git commit -m 'Add some AmazingFeature')
- Push to the branch (
git push origin feature/AmazingFeature)
- Open a Merge Request
📧 Support
🙏 Acknowledgments
- Made with ❤️ for Indian developers
- Inspired by the need to make coding more fun
- Built with VS Code Extension API
📄 Changelog
Version 1.2.2 (Latest)
- ✅ Windows Audio Fix: Improved MediaPlayer implementation for complete sound playback
- ✅ 64-bit OS Support: Verified and improved compatibility for 64-bit Windows systems
- ✅ Event-Based Playback: Uses MediaEnded event for reliable audio completion on Windows
- ✅ Repository Update: Moved to GitLab
Version 1.2.1
- ✅ 12 WAV Sounds: Expanded from 6 to 12 different sound files
- ✅ Navigation Keys: Added support for Arrow keys, Home, End, PageUp/Down, Insert
- ✅ Function Keys: Added support for F1-F12 keys
- ✅ Modifiers: Added support for Ctrl, Alt, Meta/Windows/Super, CapsLock
- ✅ Shift Keys: Added dedicated sound for Shift keys
- ✅ Numpad Operators: Added support for numpad +, -, *, /, .
- ✅ Media Keys: Added support for media keys (Play/Pause, Volume, etc.)
Version 1.1.0
- ✅ Debounce Control: Configurable delay before playing sound
- ✅ Per-Key Type Control: Individual enable/disable toggles
- ✅ Improved Audio System: Platform-specific system commands
- ✅ Cross-Platform Support: Enhanced Windows audio playback
See CHANGELOG.md for a detailed list of all changes and releases.
Made with ❤️ by IndianCoderClub
Har update ke saath naye features aur sounds! 🎉
🌟 What's New in 1.2.2
- Windows Audio Improvements: Sounds now play completely without cutting off
- Better Architecture Support: Works seamlessly on 32-bit and 64-bit Windows
- Improved Reliability: Event-based audio completion ensures sounds finish playing
- Cross-Platform Parity: Windows now matches macOS/Linux audio behavior
Install now and make your coding sessions more fun! 🚀
| |