A highly customizable and accessible virtual keyboard built with React and TypeScript, designed for users with special needs and motor impairments. Features touch optimization, visual feedback, and extensive customization options.
-
Multiple Layouts:
- QWERTY and ABC layouts
- Adjustable number of rows (1-26)
- Automatic key distribution
-
High Customization:
- Key size: 50% - 4000%
- Text area size: 50% - 1500%
- Themes: Light, Dark, and High Contrast
- Configurable hold time
- Sound feedback toggle
- Saveable presets
-
Accessibility:
- Full ARIA support
- Screen reader compatible
- Visual feedback system
- Touch-optimized interface
- Proximity-based key detection
-
Mobile Optimized:
- PWA support for direct installation
- Offline capability
- Responsive design
- Touch-first interface
- Auto-updating
- Node.js 18.x or higher
- npm 9.x or higher
- Clone the repository:
git clone https://github.com/yourusername/virtual-keyboard.git
cd virtual-keyboard
- Install dependencies:
npm install
- Start development server:
npm run dev
See .cursorrules for detailed development guidelines and best practices.
- Test-Driven Development (TDD)
- Mobile-first design
- Accessibility as priority
- Performance optimization
- Clean code practices
src/
├── components/
│ └── VirtualKeyboard.tsx # Main keyboard component
├── App.tsx # Application wrapper
├── main.tsx # Entry point
└── vite-env.d.ts # TypeScript declarations
- React 18 + TypeScript
- Tailwind CSS
- Vite
- PWA Support
- Vercel Deployment
- Check existing issues or create a new one
- Fork the repository
- Create your feature branch
- Follow the .cursorrules guidelines
- Submit a Pull Request
MIT License - See LICENSE for details.
- Built with accessibility-first mindset
- Inspired by real user needs
- Community feedback and contributions