Socket
Socket
Sign inDemoInstall

ngx7-material-keyboard

Modified version of the ngx-material-keyboard onscreen virtual keyboard (https://github.com/ngx-material-keyboard/core) to support Angular ≥ 7 (https://angular.io/) using Material 7 (https://material.angular.io/)


Version published
Maintainers
1
0

Weekly downloads

Readme

Source

ngx7-material-keyboard

Onscreen virtual keyboard for Angular using Angular Material. This is a fork of the ngx-material-keyboard which supports Angular 7 and higher.

Please note that the project is at a very early stage. Therefore one should refrain from productive usage.

ngx-material-keyboard in action

Demo

A demo can be found here.

Docs

Generated documentation can be found here.

Getting started

  1. Install with your prefered packet manager (we're using npm here): npm install --save @ngx7-material-keyboard/core

Be sure to fulfill the peer dependencies of this module, in particular Angular and Angular Material.

  1. Add the module to your project, e.g. app.module.ts:
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatButtonModule } from '@angular/material/button';
...
import { MatKeyboardModule } from 'ngx7-material-keyboard';

@NgModule({
  imports: [
    // Angular modules
    BrowserModule,
    BrowserAnimationsModule,
    FormsModule,

    // Material modules
    MatButtonModule,
    MatKeyboardModule,
  ],
  ...
})
export class AppModule {}
  1. Use the MatKeyboardDirective on your input elements or textareas and set the name or locale of the layout.

If not provided the locale will be derieved from the LOCALE_ID or the browser.

<input [matKeyboard]="'Azərbaycanca'">

Providing custom layouts

Most of the base configurations are provided as injection tokens. Please read the documentation to understand how to handle it.

All layouts are based on (or directly inherited from) the angular-virtual-keyboard which is based on GreyWyvern VKI. For details on how to structure a layout see the comment derived from the original source code.

Note that this will most likely be changed in the near future. But for now a huge range of layouts is already usable because of the great contribution back then.

But basicly you just provide the configuration of your new layout in your AppModule:

import { IKeyboardLayouts, keyboardLayouts, MAT_KEYBOARD_LAYOUTS, MatKeyboardModule } from 'ngx7-material-keyboard';

const customLayouts: IKeyboardLayouts = {
  ...keyboardLayouts,
  'Tölles Läyout': {
    'name': 'Awesome layout',
    'keys': [
      [
        ['1', '!'],
        ['2', '@'],
        ['3', '#']
      ]
    ],
    'lang': ['de-CH']
  }
};

@NgModule({
  ...
  providers: [
    { provide: MAT_KEYBOARD_LAYOUTS, useValue: customLayouts }
  ],
  ...
})
export class AppModule {}

Development

This repository is managed by and layed out for ng-packagr.

Versioning

The application uses semver and is developed with the git flow branching model.

FAQs

Last updated on 20 Dec 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc