All Projects → fabi1cazenave → x-keyboard

fabi1cazenave / x-keyboard

Licence: MIT license
A zero-dependency web component to display and emulate keyboard layouts.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to x-keyboard

birman-typography-layouts-for-ubuntu
Типографские раскладки Ильи Бирмана для Ubuntu
Stars: ✭ 73 (+386.67%)
Mutual labels:  keyboard-layout
us-with-german-umlauts
Mac U.S. keyboard layout with German Umlauts
Stars: ✭ 91 (+506.67%)
Mutual labels:  keyboard-layout
stl-part-viewer
A lit-element web component that uses Three.js to display an STL model file.
Stars: ✭ 19 (+26.67%)
Mutual labels:  webcomponent
vim-plugin-ruscmd
Vim plugin: support command mode in Russian keyboard layout
Stars: ✭ 60 (+300%)
Mutual labels:  keyboard-layout
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (+260%)
Mutual labels:  keyboard-layout
win-kbd-usint-nodead
US-International keyboard layout with no dead keys (AltGr only) for Windows
Stars: ✭ 181 (+1106.67%)
Mutual labels:  keyboard-layout
react-virtual-keyboard
Use jQuery Virtual Keyboard in react.js
Stars: ✭ 44 (+193.33%)
Mutual labels:  keyboard-emulation
InputBot
A Rust library for creating global hotkeys, and emulating inputs.
Stars: ✭ 246 (+1540%)
Mutual labels:  keyboard-emulation
windows-programmer-dvorak
A native and customizable approach for installing Programmer Dvorak for Windows.
Stars: ✭ 38 (+153.33%)
Mutual labels:  keyboard-layout
emoji-slider
A slider control with emojis
Stars: ✭ 40 (+166.67%)
Mutual labels:  webcomponent
svelte-webcomponent-boilerplate
🏗 Create your HTML5 Web Component with Svelte. Made your web components with this user-friendly boilerplate
Stars: ✭ 58 (+286.67%)
Mutual labels:  webcomponent
revodropdown
Minimalistic dropdown and auto-complete component with filtering and keyboard support
Stars: ✭ 20 (+33.33%)
Mutual labels:  webcomponent
gif-player
Control your animated GIFs
Stars: ✭ 120 (+700%)
Mutual labels:  webcomponent
qmk-keymaps
Personal keyboard keymap files for QMK firmware
Stars: ✭ 46 (+206.67%)
Mutual labels:  keyboard-layout
blackdesert-fishbot
Fishing bot for Black Desert Online
Stars: ✭ 59 (+293.33%)
Mutual labels:  keyboard-emulation
scion-microfrontend-platform
SCION Microfrontend Platform is a TypeScript-based open-source library that helps to implement a microfrontend architecture using iframes.
Stars: ✭ 51 (+240%)
Mutual labels:  webcomponent
map2
A scripting language that allows complex key remapping on Linux.
Stars: ✭ 99 (+560%)
Mutual labels:  keyboard-layout
dvorakjp-romantable
Google 日本語入力用DvorakJPローマ字テーブル / DvorakJP Roman Table for Google Japanese Input
Stars: ✭ 43 (+186.67%)
Mutual labels:  keyboard-layout
keyboard-layouter
Footprint auto placement plugin for keyboard layout
Stars: ✭ 73 (+386.67%)
Mutual labels:  keyboard-layout
kinesis-advantage-2
Keyboard layouts and macros for the Kinesis Advantage 2 keyboard.
Stars: ✭ 72 (+380%)
Mutual labels:  keyboard-layout

<x-keyboard>

A zero-dependency web component to display and emulate keyboard layouts.

screenshot

Online demo here.

Keyboard Layouts

This component uses Kalamine layouts in a JSON format describing:

  • the base and AltGr/Option layers, i.e. the characters that each key outputs;
  • the list of all dead keys used by the layout;
  • the default keyboard geometry.

All keyboard layouts used in the demo page are defined in the layouts.yaml directory,then converted to JSON by Kalamine (see layouts).

Layout Emulation

Once the keyboard layout is loaded, emulating it should be straight-forward (see demo.js). This relies on the KeyboardEvent’s code property, which excludes IE & Edge at the moment.

Supported Browsers

Works with Firefox and Chrome and probably all browsers with native web component support.

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].