aqjw / shortcuts
A Filament form field for recording and displaying custom keyboard shortcuts.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        aqjw
                                                                                    
                                                                
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Language:JavaScript
pkg:composer/aqjw/shortcuts
Requires
- php: ^8.2
- filament/forms: ^4.0
- laravel/pint: ^1.25
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^8.1.1||^7.10.0
README
Filament Shortcuts
Let users press keys to create custom keyboard shortcuts
🎬 Demo
Just press any key combination and it gets saved automatically. Great for apps where users need their own custom shortcuts.
Powered by Mousetrap - A simple library for handling keyboard shortcuts in JavaScript.
📦 Installation
You can install the package via Composer:
composer require aqjw/shortcuts
🎨 Registering Styles
In order for component styles to be processed, you must add this package's views to your theme file (e.g., resources/css/filament/admin/theme.css):
@source '../../../../vendor/aqjw/shortcuts/resources/views';
🚀 Usage
Basic Usage
use Aqjw\Shortcuts\ShortcutInput; ShortcutInput::make('shortcut') ->label('Keyboard Shortcut') // The field stores data as an array: ['ctrl+c', 'ctrl+v'] ['alt', 'f4'] ['f12']
⚙️ Configuration Options
| Method | Description | Default | 
|---|---|---|
| combinations(int) | Maximum number of key combinations to record | 1 | 
| timeout(int) | Timeout in milliseconds for recording | 700 | 
| instruction(string) | Instruction text shown while recording | Localized text | 
| placeholder(string) | Placeholder text when no shortcuts is set | Localized text | 
🌍 Internationalization
The package supports 12 languages out of the box:
- 🇨🇳 Chinese (zh)
- 🇳🇱 Dutch (nl)
- 🇺🇸 English (en)
- 🇫🇷 French (fr)
- 🇩🇪 German (de)
- 🇮🇹 Italian (it)
- 🇯🇵 Japanese (ja)
- 🇰🇷 Korean (ko)
- 🇵🇹 Portuguese (pt)
- 🇷🇺 Russian (ru)
- 🇪🇸 Spanish (es)
- 🇺🇦 Ukrainian (uk)
📝 Changelog
Please see CHANGELOG for more information on what has changed recently.
🤝 Contributing
Please see CONTRIBUTING for details.
🔒 Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
👥 Credits
📄 License
The MIT License (MIT). Please see License File for more information.

