diff --git a/Virtual-keyboard.md b/Virtual-keyboard.md
new file mode 100644
index 0000000..1eb8958
--- /dev/null
+++ b/Virtual-keyboard.md
@@ -0,0 +1,58 @@
+KOReader has a built-in [virtual keyboard](https://github.com/koreader/koreader/blob/master/frontend/ui/widget/virtualkeyboard.lua).
+
+![VirtualKeyboard-screenshot01](https://user-images.githubusercontent.com/62179190/119448603-3cc18380-bd3a-11eb-8804-52661148af6a.png)
+
+## Keyboard language layouts
+Language layouts can be added in the main menu `Settings` - `Device` - `Keyboard layout`.
+
+![VirtualKeyboard-screenshot11](https://user-images.githubusercontent.com/62179190/119448684-5793f800-bd3a-11eb-8992-cebc1cd1d960.png)
+--
+Earth switches between the added language layouts.
+
+![VirtualKeyboard-screenshot07](https://user-images.githubusercontent.com/62179190/119448664-51058080-bd3a-11eb-8a5c-bc66612ca67a.png)
+
+Holding Earth allows to choose the language layout directly.
+
+![VirtualKeyboard-screenshot08](https://user-images.githubusercontent.com/62179190/119448667-52cf4400-bd3a-11eb-9ba7-d3eedb66ecd2.png)
+
+## Keyboard layers
+Shift switches to the upper case layer.
+
+![VirtualKeyboard-screenshot02](https://user-images.githubusercontent.com/62179190/119448611-3fbc7400-bd3a-11eb-8a4f-9bd3f7040bcb.png)
+--
+Sym switches to the symbols / digits layer.
+
+![VirtualKeyboard-screenshot03](https://user-images.githubusercontent.com/62179190/119448629-44812800-bd3a-11eb-843d-af4edffb2960.png)
+
+![VirtualKeyboard-screenshot04](https://user-images.githubusercontent.com/62179190/119448632-46e38200-bd3a-11eb-905a-bc7ffd5161c8.png)
+--
+Äéß switches to the upper unicode table layer.
+
+![VirtualKeyboard-screenshot05](https://user-images.githubusercontent.com/62179190/119448648-4ba83600-bd3a-11eb-8794-1f919e9c3be5.png)
+
+![VirtualKeyboard-screenshot06](https://user-images.githubusercontent.com/62179190/119448655-4ea32680-bd3a-11eb-9fc4-ab17415d30c7.png)
+
+## Keyboard holds and swipes
+More characters and actions can be invoked with buttons holds and swipes.
+
+To input an additional character from a [small popup keyboard](https://github.com/koreader/koreader/pull/4884), swipe to it from the initial button or just tap it.
+
+![VirtualKeyboard-screenshot09](https://user-images.githubusercontent.com/62179190/119448673-54007100-bd3a-11eb-9fd8-fbf1dad8eecf.png)
+
+![VirtualKeyboard-screenshot10](https://user-images.githubusercontent.com/62179190/119448680-55ca3480-bd3a-11eb-8726-7f2e5205220a.png)
+--
+**Special actions** are invoked with the hold of the following buttons:
+
+![VirtualKeyboard-screenshot03](https://user-images.githubusercontent.com/62179190/119448629-44812800-bd3a-11eb-843d-af4edffb2960.png)
+
+Backspace - deletes all characters to the beginning of the line
+
+← - moves the cursor to the beginning of the line
+
+→ - moves the cursor to the end of the line
+
+↓ - hides the keyboard
+
+![VirtualKeyboard-screenshot12](https://user-images.githubusercontent.com/62179190/119448686-58c52500-bd3a-11eb-9d7c-cc45d9bbf1fe.png)
+
+Tap the input field to show the keyboard on.
\ No newline at end of file