All Projects → WandererOU → aframe-keyboard

WandererOU / aframe-keyboard

Licence: MIT license
An Aframe component that renders a fully functional 3D keyboard, that works on mobile, desktop browers, and VR headsets!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to aframe-keyboard

aframe-resonance-audio-component
🅰️ Google Resonance Audio (omnitone) for A-Frame
Stars: ✭ 33 (+43.48%)
Mutual labels:  aframe, aframe-component
react-keyevent
An easy-to-use keyboard event react component, Package size less than 3kb
Stars: ✭ 38 (+65.22%)
Mutual labels:  keyboard
nativescript-numeric-keyboard
🔢 Replace the meh default number/phone keyboard with this stylish one
Stars: ✭ 33 (+43.48%)
Mutual labels:  keyboard
masterkeys-linux
MasterKeys SDK for Linux
Stars: ✭ 22 (-4.35%)
Mutual labels:  keyboard
aframe-fit-texture-component
A fit-texture component for A-Frame VR.
Stars: ✭ 22 (-4.35%)
Mutual labels:  aframe
keynavish
Control the mouse with the keyboard, on Windows.
Stars: ✭ 59 (+156.52%)
Mutual labels:  keyboard
KeyboardKitPro
KeyboardKit Pro extends KeyboardKit with pro features.
Stars: ✭ 42 (+82.61%)
Mutual labels:  keyboard
launchlet
Make the web yours.
Stars: ✭ 34 (+47.83%)
Mutual labels:  keyboard
aframe-bmfont-text-component
A-Frame component for rendering bitmap fonts.
Stars: ✭ 62 (+169.57%)
Mutual labels:  aframe
PianoView
Fully custumisable piano keyboard view with IBDesignable properties in swift
Stars: ✭ 34 (+47.83%)
Mutual labels:  keyboard
vue-number-keyboard
vue-number-keyboard是基于VUE实现的数字键盘插件,当前支持整数、小数数字输入、乱序键盘,demo中给出了常用的验证码、金额数字示例。数字键盘的大小包括字体尺寸支持响应式。
Stars: ✭ 51 (+121.74%)
Mutual labels:  keyboard
react-keys
Simple way to bind keyboard to react with redux.
Stars: ✭ 50 (+117.39%)
Mutual labels:  keyboard
uchroma
An advanced driver for Razer Chroma hardware in Linux
Stars: ✭ 45 (+95.65%)
Mutual labels:  keyboard
kinesis-advantage-2
Keyboard layouts and macros for the Kinesis Advantage 2 keyboard.
Stars: ✭ 72 (+213.04%)
Mutual labels:  keyboard
react-native-sticky-keyboard-accessory
📎 A sticky wrapper above keyboard to include whatever you want.
Stars: ✭ 22 (-4.35%)
Mutual labels:  keyboard
dasher-web
Dasher text entry in HTML, CSS, JavaScript, and SVG
Stars: ✭ 34 (+47.83%)
Mutual labels:  keyboard
DialogUi
关于toast、等待框、对话框、选择框、地址选择框、软键盘等工具的封装
Stars: ✭ 49 (+113.04%)
Mutual labels:  keyboard
virtual-reality-tour
📍 Virtual reality travel in Google Street View.
Stars: ✭ 34 (+47.83%)
Mutual labels:  aframe
react-native-custom-keyboard-kit
React Native Custom Keyboard - Use your own custom keyboard instead of the system keyboard with React Native Custom Keyboard Kit. Its working on Android and iOS.
Stars: ✭ 83 (+260.87%)
Mutual labels:  keyboard
hotkey
⌨️ cross-platform hotkey package
Stars: ✭ 82 (+256.52%)
Mutual labels:  keyboard

aframe-keyboard

An Aframe component that renders a fully functional 3D keyboard, that works on mobile, desktop browsers, and VR headsets!

Noticing the lack of variety of libraries available for a-frame and WebVR in general, I decided to make my own library that can support customization to fit various projects (like adding your own keyboard key models to it, or setting font types and colors), and if possible, adding multi-lingual support by parsing through a JSON-formatted keyboard layout (see files in src/i18n for details)

The project is still very much in its infancy, so any feedback on what would create a better user experience or easier/more useful features for developers to use this library would be greatly appreciated!

Setup

This project is written purely with javascript, and it makes use of custom event handlers to return which key has been pressed by the user (what you want to do with the returned value however, is up to you to implement).

  1. Import aframe into your project (it should load before any other aframe lib)
  2. Add the file dist/aframe-keyboard.min.js to your project and load it into a script tag
  3. Following the example project in examples/basic/index.js:
  • Add a scene to your html document, and inside it at an a-entity element
  • Set its id to keyboard, and add the a-keyboard attribute to it
  • Add a mouse entity to collide with the keyboard by adding an a-entity with the attributes raycaster="objects: .collidable" cursor="rayOrigin: mouse"
  • Add the keyboard-shortcuts="enterVR: false" attribute to the scene element to prevent it from triggering the VR mode when pressing F on desktops (users can still enter it by pressing the button in the bottom-right corner)
  • Add an event listener for the a-keyboard-update event, and add a handler method for it (a basic one has been provided in the example)

API

Property Description Default value
audio (WIP) Relative path to sounds that should be player when a key is pressed ''
baseTexture Relative path to a custom texture that will replace the default keyboard base ''
color The color of fonts used in the keyboard '#fff'
dismissable Allows the user to dismiss the keyboard before pressing the submit button true
font Either a stock font key provided by aframe, or the relative path for a custom font that will be displayed on the keyboard 'monoid'
fontSize Size of each character printed (in aframe units) '0.35'
highlightColor The color that keys should highlight to when hovered '#1a79dc'
keyTexture Relative path to a custom texture that will replace the default keys ''
locale Sets which keyboard will be utilized from the i18n folder. Currently only en is supported, but additional language support is planned 'en'
verticalAlign Setting the text's baseline, can be set as top, center, and bottom 'center'

Release History

Please see CHANGELOG.md for more information on releases.

License

Distributed under the MIT license. See LICENSE for more information.

Roadmap (order of priority)

  • Changing positioning of Dismiss / Submit buttons to improve UX
  • Adding audio option to add sound effects to keyboard
  • Adding symbols to Enter and Backspace keys instead of presenting text
  • Adding ability to move keyboard position in VR mode (by physically dragging it)
    • Add option to keep keyboard always fixed in place

Contributing

  1. Fork it (https://github.com/WandererOU/aframe-keyboard/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
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].