- Notifications
You must be signed in to change notification settings - Fork22
Virtual Keyboard for Angular applications.
License
mohsen77sk/angular-touch-keyboard
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An Angular touch keyboard component that provides a customizable on-screen keyboard for input elements.
- 📱 Responsive virtual keyboard
- 🌐 Multiple locale support
- 🎯 Flexible positioning
- 🖥️ Full-screen mode support
- 🎨 Customizable appearance
- 🔧 Material Design integration
https://mohsen77sk.github.io/angular-touch-keyboard/
npm install @angular/cdk ngx-touch-keyboard
The version of this library is synchronized with the major version of Angular to ensure compatibility.
Angular Version | Package Version |
---|---|
>= 18.0.0 | 4.x |
>= 16.0.0 | 3.x |
>= 14.0.0 | 2.x |
Import theNgxTouchKeyboardModule
in your app.module.ts:
import{NgxTouchKeyboardModule}from'ngx-touch-keyboard';@NgModule({imports:[NgxTouchKeyboardModule],})exportclassAppModule{}
If you want to set the custom locale, provideNGX_TOUCH_KEYBOARD_LOCALE
by custom locale
- default locale is
enUS
import{NGX_TOUCH_KEYBOARD_LOCALE,faIR}from'ngx-touch-keyboard';@NgModule({providers:[{provide:NGX_TOUCH_KEYBOARD_LOCALE,useValue:faIR}],})exportclassAppModule{}
Add the directive to your input elements:
<inputngxTouchKeyboard[(ngxTouchKeyboardOpen)]="isOpen">
@Directive({selector:'input[ngxTouchKeyboard], textarea[ngxTouchKeyboard]'})
Name | Type | Default | Description |
---|---|---|---|
ngxTouchKeyboardOpen | boolean | false | Controls the visibility of the keyboard |
ngxTouchKeyboardLocale | Locale | enUS | Sets the keyboard locale |
ngxTouchKeyboardFullScreen | boolean | false | Enables full-screen mode |
ngxTouchKeyboardDebug | boolean | false | Enables debug mode |
ngxConnectedTouchKeyboardOrigin | NgxTouchKeyboardOrigin | null | Sets a custom origin for the keyboard position |
openPanel()
: Opens the keyboard panelclosePanel()
: Closes the keyboard paneltogglePanel()
: Toggles the keyboard panel visibility
The component automatically detects and integrates with Angular Material form fields, providing proper positioning and styling.
<inputngxTouchKeyboard[ngxTouchKeyboardLocale]="faIR">
<inputngxTouchKeyboard[ngxTouchKeyboardFullScreen]="true">
<divngxTouchKeyboardOrigin#origin="ngxTouchKeyboardOrigin"><inputngxTouchKeyboard[ngxConnectedTouchKeyboardOrigin]="origin"></div>
AngularTouchKeyboard is localized in 8 keyboard-specific locales:
en-US
English (United States) (default)en-UK
English (United Kingdom)es-ES
Spanish (Spain)fa-IR
Persian (Iran)he-IL
Hebrew (Israel)ka-GE
Georgian (Georgia)ru-RU
Russian (Russia)sv-SE
Swedish (Sweden)
default
: white themedark
: dark theme
You must put the classdark
in the body to use thedark
theme.
To customize the theme, you need to use css variables.
Name | Description |
---|---|
--tk-color-text | color of text button |
--tk-background | color of background panel |
--tk-background-button | color of background basic button |
--tk-background-button-fn | color of background functional button |
--tk-background-button-active | color of background active button |
Depends on attribute inputmode, the keyboard layout is changed.
inputmode | Screenshot |
---|---|
inputmode='text' | |
inputmode='search' | |
inputmode='email' | |
inputmode='url' | |
inputmode='numeric' | |
inputmode='decimal' | |
inputmode='tel' |
The most useful commands for development are:
npm run start
to start a development servernpm run build-demo
to build the demo locally (it will be published automatically by GitHub Actions)
Contributions are welcome! Please feel free to submit a Pull Request.
About
Virtual Keyboard for Angular applications.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.