All Projects → furcan → KioskBoard

furcan / KioskBoard

Licence: MIT License
KioskBoard - A pure JavaScript library for using virtual keyboards.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
typescript
32286 projects

Projects that are alternatives of or similar to KioskBoard

jqKeyboard
jQuery-based virtual keyboard
Stars: ✭ 19 (-83.33%)
Mutual labels:  keyboard, virtual-keyboard
Plaid-Pad
Build guide and additional hardware for the Plaid-Pad mechanical macro pad.
Stars: ✭ 39 (-65.79%)
Mutual labels:  keyboard, numpad
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (-52.63%)
Mutual labels:  keyboard, virtual-keyboard
react-touch-screen-keyboard
React touch screen virtual keyboard, opened on input focused
Stars: ✭ 45 (-60.53%)
Mutual labels:  keyboard, virtual-keyboard
swipe-keyboard
Swype type keyboard module for simple-keyboard
Stars: ✭ 32 (-71.93%)
Mutual labels:  keyboard, virtual-keyboard
Keyboard
Virtual Keyboard using jQuery ~
Stars: ✭ 1,670 (+1364.91%)
Mutual labels:  keyboard, virtual-keyboard
NumPad
Number Pad (inspired by Square)
Stars: ✭ 81 (-28.95%)
Mutual labels:  keyboard, numpad
react-keyview
React components to display the list, table, and grid, without scrolling, use the keyboard keys to navigate through the data
Stars: ✭ 16 (-85.96%)
Mutual labels:  keyboard
reviung41-build-guide
Build guide for the Reviung41 keyboard.
Stars: ✭ 16 (-85.96%)
Mutual labels:  keyboard
FN-key-lock
A Script/Program to simulate hardware F key lock on F1-F12 keys with custom controls and visible lock notifications.
Stars: ✭ 25 (-78.07%)
Mutual labels:  keyboard
hotscript
HotScript - Revolutionizing how Windows works.
Stars: ✭ 29 (-74.56%)
Mutual labels:  keyboard
OttoKeyboardView
自定义键盘,支持数字、小数点、身份证、十六进制键盘、随机布局的安全数字键盘
Stars: ✭ 62 (-45.61%)
Mutual labels:  keyboard
keyboard
Maliit Keyboard, a free software virtual keyboard for Linux
Stars: ✭ 63 (-44.74%)
Mutual labels:  keyboard
KeyLy
A powerfull and awesome Keylogger(Your keyboard and your mouse) realy helpfull for hackers! :-P (C/C++)
Stars: ✭ 17 (-85.09%)
Mutual labels:  keyboard
YetAnotherKeyDisplayer
The application for displaying pressed keys of the keyboard
Stars: ✭ 88 (-22.81%)
Mutual labels:  keyboard
telegram-keyboard
Simple and powerful reply and inline keyboard builder for Telegram Bots
Stars: ✭ 70 (-38.6%)
Mutual labels:  keyboard
PGNumberKeyboard
一款非常简单漂亮灵活的自定义数字键盘.
Stars: ✭ 16 (-85.96%)
Mutual labels:  keyboard
SwipeSelection
An improvement to iOS's text editing that allows you to move the cursor and select text using gestures on the keyboard itself.
Stars: ✭ 99 (-13.16%)
Mutual labels:  keyboard
waffling60
Multi layout 60% PCB with support for common ANSI and ISO layouts and split space. SE-version is for use in Polaris, DB-version for use in Bakeneko/Kei.
Stars: ✭ 42 (-63.16%)
Mutual labels:  keyboard
keykee
这是一个记录键盘的使用情况的软件,精确统计每个按键,按键24小时统计,按键频次趋势分析
Stars: ✭ 15 (-86.84%)
Mutual labels:  keyboard

KioskBoard

NPM Version Known Vulnerabilities TypeScript License

KioskBoard - Virtual Keyboard

A pure JavaScript library for using virtual keyboards.


Current Version

2.2.0 *


Documentation and Demo

https://furcan.github.io/KioskBoard/


Browser Compatibility

Chrome || Firefox || Safari || Opera || Edge || IE 11


(A) Install & Import

Install

yarn

yarn add kioskboard

npm

npm i kioskboard

Import

import KioskBoard from 'kioskboard';

(B) Adding to an HTML Document

CSS and JS

<link rel="stylesheet" href="dist/kioskboard-2.2.0.min.css" />

<script src="dist/kioskboard-2.2.0.min.js"></script>

Or only JS (All in One - Internal CSS)

<script src="dist/kioskboard-aio-2.2.0.min.js"></script>

Keyboard Types and Themes

3 types of keyboards can be used: all, keyboard, and numpad.

5 types of themes can be used. light, dark, flat, material, and oldschool.


Run / Initialize

KioskBoard Virtual Keyboard can be used with the input or textarea elements.

KioskBoard must be initialized with the required options. The other ones are optional. Keyboard Type (the default value is "all") data-kioskboard-type, Keyboard Placement (the default value is "bottom") data-kioskboard-placement, and Special Characters data-kioskboard-specialcharacters settings are each element-based (data attributes).

All options and examples of data attribute usages are as below. Also, a custom class name can be defined as globally for all input and/or textarea elements to run KioskBoard.


HTML => (data-* options)

<!-- An example of a textarea element: The keyboard type is "all", the placement is "top", and the availability of the special characters is "true". -->
<textarea class="js-virtual-keyboard" data-kioskboard-type="all" data-kioskboard-placement="top" data-kioskboard-specialcharacters="true" placeholder="Your Address"></textarea>

<!-- An example of an input element: The keyboard type is "keyboard", the placement is "bottom", and the availability of the special characters is "false". -->
<input class="js-virtual-keyboard" data-kioskboard-type="keyboard" data-kioskboard-placement="bottom" data-kioskboard-specialcharacters="false" placeholder="Your Name" />

<!-- An example of an input element: The keyboard type is "numpad", and the placement is "bottom". (Special characters are not allowed for "numpad".) -->
<input class="js-virtual-keyboard" data-kioskboard-type="numpad" data-kioskboard-placement="bottom" placeholder="Your Number" />

JS => (Run with Init)

// Select the input or the textarea element(s) to run the KioskBoard

KioskBoard.run('.js-virtual-keyboard', {
   // ...init options
});

OR

JS => (Step1: Initialize)

// Initialize KioskBoard (default/all options)

KioskBoard.init({

  /*!
  * Required
  * An Array of Objects has to be defined for the custom keys. Hint: Each object creates a row element (HTML) on the keyboard.
  * e.g. [{"key":"value"}, {"key":"value"}] => [{"0":"A","1":"B","2":"C"}, {"0":"D","1":"E","2":"F"}]
  */
  keysArrayOfObjects: null,

  /*!
  * Required only if "keysArrayOfObjects" is "null".
  * The path of the "kioskboard-keys-${langugage}.json" file must be set to the "keysJsonUrl" option. (XMLHttpRequest to get the keys from JSON file.)
  * e.g. '/Content/Plugins/KioskBoard/dist/kioskboard-keys-english.json'
  */
  keysJsonUrl: null,

  /*
  * Optional: An Array of Strings can be set to override the built-in special characters.
  * e.g. ["#", "€", "%", "+", "-", "*"]
  */
  keysSpecialCharsArrayOfStrings: null,

  /*
  * Optional: An Array of Numbers can be set to override the built-in numpad keys. (From 0 to 9, in any order.)
  * e.g. [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  */
  keysNumpadArrayOfNumbers: null,

  // Optional: (Other Options)

  // Language Code (ISO 639-1) for custom keys (for language support) => e.g. "de" || "en" || "fr" || "hu" || "tr" etc...
  language: 'en',

  // The theme of keyboard => "light" || "dark" || "flat" || "material" || "oldschool"
  theme: 'light',

  // Uppercase or lowercase to start. Uppercased when "true"
  capsLockActive: true,

  /*
  * Allow or prevent real/physical keyboard usage. Prevented when "false"
  * In addition, the "allowMobileKeyboard" option must be "true" as well, if the real/physical keyboard has wanted to be used.
  */
  allowRealKeyboard: false,

  // Allow or prevent mobile keyboard usage. Prevented when "false"
  allowMobileKeyboard: false,

  // CSS animations for opening or closing the keyboard
  cssAnimations: true,

  // CSS animations duration as millisecond
  cssAnimationsDuration: 360,

  // CSS animations style for opening or closing the keyboard => "slide" || "fade"
  cssAnimationsStyle: 'slide',

  // Enable or Disable Spacebar functionality on the keyboard. The Spacebar will be passive when "false"
  keysAllowSpacebar: true,

  // Text of the space key (Spacebar). Without text => " "
  keysSpacebarText: 'Space',

  // Font family of the keys
  keysFontFamily: 'sans-serif',

  // Font size of the keys
  keysFontSize: '22px',

  // Font weight of the keys
  keysFontWeight: 'normal',

  // Size of the icon keys
  keysIconSize: '25px',

  // Scrolls the document to the top or bottom(by the placement option) of the input/textarea element. Prevented when "false"
  autoScroll: true,
});

JS => (Step2: Run)

// Select the input or the textarea element(s) to run the KioskBoard

KioskBoard.run('.js-virtual-keyboard');

Language (JSON)

The keysJsonUrl option has to be set if custom keys are not defined with the keysArrayOfObjects option. JSON format has to be: [{"key":"value", "key":"value"}, ...]. Each object in that array creates a row element (HTML) on the keyboard. The "key" in the objects is used as an "index" for each Keyboard Keys. The "value" is each key's value and inner text.

Additionally, KioskBoard includes 9 different language packages: Arabic, English, French, German, Hungarian, Persian, Russian, Spanish, and Turkish.

An example of a JSON file (for custom keys) in English.

[
   {
      "0": "Q",
      "1": "W",
      "2": "E",
      "3": "R",
      "4": "T",
      "5": "Y",
      "6": "U",
      "7": "I",
      "8": "O",
      "9": "P"
   },
   {
      "0": "A",
      "1": "S",
      "2": "D",
      "3": "F",
      "4": "G",
      "5": "H",
      "6": "J",
      "7": "K",
      "8": "L"
   },
   {
      "0": "Z",
      "1": "X",
      "2": "C",
      "3": "V",
      "4": "B",
      "5": "N",
      "6": "M"
   }
]



Copyright

Copyright © 2022 KioskBoard - Virtual Keyboard

License

MIT license - https://opensource.org/licenses/MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].