This is a React-based virtual keyboard app with support for multiple languages and emoji input.
- Virtual keyboard with support for Hebrew, English, Arabic, Ukranian, Russian, Polish, Portuguese, Spanish, Macedonian, Hindi and Persian languages.
- Emoji keyboard for expressive input.
- Stylish and customizable interface.
- Undo and redo functionality.
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/chavi362/virtual-keyboard.git- open the project in terminal and then run:
npm install
npm run devThe project follows a specific structure to organize its files and directories. Below is an overview of the main components:
virtual-keyboard/
โ
โโโ src/ # Source code directory
โ โโโ assets/ # Static assets like images, icons, etc.
โ โ โโโ images/ # Image files
โ โ โ โโโ emojiButton.webp # Image of emoji
โ โ โ โโโ backgroundImage.jpg # Image of background
โ โโโ components/ # React components
โ โ โโโ VirtualKeyboard.jsx # Main virtual keyboard component
โ โ โโโ SpecialButtons.jsx # Component for special buttons such as:redo, undo and clear all the text
| | โโโ Screen.jsx # the text the user typed
| | โโโ EmojiKeyBoard.jsx
| | โโโ KeyBoard.jsx
| | โโโ KeyBoardLanguage.tsx
| | โโโ KeyBoardStylee.css
โ โ โโโ keyboardStyles.css # Styles for the virtual keyboard
โ โ โโโ ... # Other files
โ โโโ redux/ #
| | โโโ reducer.js #
| | โโโ store.js #
โ โโโ App.css # Root css
โ โโโ App.jsx # App function for calling main VirtualKeyboard component
โ โโโ index.css # Body css
โ โโโ letterStyle.js # Font class
โ โโโ main.jsx # Main application component
โ
โโโ public/ # Public directory for static files
โ โโโ keyboard.png # Image of keyboard
โ โโโ ...
โ
โโโ .gitignore # Git ignore file
โโโ package.json # Node.js project configuration
โโโ README.md # Project documentation
โโโ index.html # Main HTML file
... # Other configuration files
We welcome contributions from the community to help improve the Virtual Keyboard App. If you would like to contribute, please follow these steps:
- Fork the project.
- Create your feature branch:
git checkout -b feature/NewFeature.- Commit your changes:
git commit -m 'Add a new feature'.- Push to the branch:
git push origin feature/NewFeature.-
Open a pull request on the main repository, describing your changes and explaining why they are valuable.
Please help us keep our issue list small by adding
Fixes #{$ISSUE_NUMBER}to the description of pull requests that resolve open issues. For example, if your pull request fixes issue #10, then please add the following to its description:
Fixes #10
If you have any questions, suggestions, or issues regarding the virtual-keyboard, please feel free to reach out to us through the Issues section of this repository. You can also discuss with as in the discussion template, there are there meaningfull discussion. You can also contact me via my email.
This project is licensed under the MIT License - see the LICENSE file for details.
Please ensure that your contributions adhere to our Code of Conduct. If you find this project helpful or interesting, please give it a โญ๏ธ.

