Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Oct 11 14:06
    goebbe closed #782
  • Aug 16 11:00
    rubebop opened #817
  • Aug 10 11:31
    LargeDion opened #816
  • Mar 20 10:22
    vinacharya05 commented #815
  • Mar 20 02:50
    Mottie labeled #815
  • Mar 20 02:50
    Mottie commented #815
  • Mar 18 07:54
    vinacharya05 opened #815
  • Feb 07 06:57
    luncan987 commented #814
  • Feb 05 04:24
    Mottie labeled #814
  • Feb 05 04:24
    Mottie commented #814
  • Feb 04 13:05
    luncan987 opened #814
  • Feb 03 15:20
    tirolel commented #783
  • Jan 31 15:37
    pilz97 commented #813
  • Jan 31 13:40
    Mottie commented #813
  • Jan 31 07:52
    pilz97 commented #813
  • Jan 31 07:11
    pilz97 commented #813
  • Jan 31 07:09
    pilz97 commented #813
  • Jan 28 11:49
    pilz97 opened #813
  • Jan 28 11:37
    pilz97 closed #810
  • Jan 25 13:28
    tembelten commented #812
hello, i would like to pay someone for a customization of this keyboard
i need the keyboard to be either a the bottom of the screen, as wide as the screen, with large keys, or off to the right edge of the screen, and to have a tall, thin layout like this:
or at the screen bottom in just two rows as wide as the screen
this is because the keyboard blocks what is behind it when the keyboard is in use.
so i need it positioned out of the way at screen bottom or at screen right edge
but we can't use it anymore
thanks in advance
Rob Garrison
@craigdelray it's pretty simple to create the layout you described. I set up this demo - http://jsfiddle.net/j8m65p5L/ - with the layout and made it draggable so the user can position it anywhere they want:
$(function() {
      layout: 'custom',
      customLayout: {
        'default': [
          '1 2 3 4 5',
          '6 7 8 9 0',
          'A B C D E',
          'F G H I J',
          'K L M N O',
          'P Q R S T',
          'U V W X Y',
          'Z {space} {b}'
      usePreview: false,
      autoAccept: true,
      visible: function(e, keyboard, el) {
        /* make keyboard draggable */
            handle: "h2",
            containment: "window"
    // activate the typing extension
      showTyping: true,
      delay: 250
Make sure to include the two CSS definitions
Rob that's GENIUS! I do have to ask something that might be troublesome for you... Can I control how large each key is? The touch screen is a 24 inch and the user has to have pretty good accuracy to type on the small screen keys. When i made the first keyboard the keys on the screen were massive at one inch square each with the visual keyboard from chessware, which was good, but it was a bit clunky and slow. In this case i just need them a bit larger to make them easier to hit. Any ideas? Oh, one last thing if i am pressing my luck... For the draggable, that is great, but it would be better, for my use, to open at a set known location. In my use, the right edge of the screen is a dead area and all empty space. Can i force an offset X,Y from where it would want to open? THANKS!!!!! And i am happy to pay you for your help :)
Rob Garrison
Hi, Can I use it for iframe?
I have one 3rd party JS genarated iframe, I want to open for that as well
is it possible??
Rob Garrison
Hi @Lalit2604_twitter ! Yes, the keyboard should work within an iframe
Here's a demo - http://jsfiddle.net/Mottie/Em8sG/2490/ - as posted in Mottie/Keyboard#230
Thanks, iFrame is on different domain
It's not working with above solution.
Rob Garrison
You're not going to get cross domain iframes to work - see https://stackoverflow.com/a/6170976/145346
Hello. Do you know if it is possible to have an image on a key instead of the alphanumeric symbols?
Rob Garrison
Hi @andrewvharris! Check out Mottie/Keyboard#555 - I'll add a FAQ entry too
Hi all!
Could anybody help me with issue on [assuming] unsupported browser with poor debugging ?
I'm getting
TypeError: val.substr is not a function. (In 'val.substr(0, t - (bksp ? 1 : 0))', 'val.substr' is undefined)
That's a part of insertText function
Issue occurs on fast repetitive typing of the same letter (although it does not have to be the same letter)
val becomes jquery node instead pf string just before the error
Rob Garrison
Hi @gfduszynski! I've never encountered that issue. Very odd that val would be a jQuery object instead of a string. Can you reproduce this issue in any other browser?
Anton van Zuylen
Hi, does anyone know how I can set shift to enabled for the first pressed key/letter? I need this for a first name and last name input field.
Rob Garrison
Hi @ev8yoni! Check out the "Capitalizing" demo in the main wiki - https://github.com/Mottie/Keyboard/wiki#manipulating-text
@Mottie, couldn't find it in the documentation but didn't check Github. Thanks for the link!
Hi @Mottie , your keyboard is very useful. I created a numpad version of your num keyboard. I must to specify a max value and a min value to the input, how can I limit the entered value between this two limits? And how can I show these two limits in the keyboard? Thanks!!
Jeremy Roland
Hello Rob. I was wondering if it is possible to add a feature like Swypes/SwiftKeys/WordFlow?
Rob Garrison
Sorry for the delay! @Tosferino Did you try the validate callback? https://github.com/Mottie/Keyboard/wiki/Methods#validate
@indavisual I've looked into it... to get this to work would require an autocomplete dictionary which I don't have the time to implement. Sorry :(
Jeisson Delgado

Hi @Mottie , I am trying Mottie virtual Keyboard,it is a great keyboard. but I am having a problem with this keyboard in angular 8

I've installed with npm install --save-dev @types/virtual-keyboard

but does not recognize the addTyping


<input id="keyboard" type="text">

in .ts:

type: 'input',
usePreview: false,
showTyping: true,

Anyone know who has implemented it in Angular 2+ ?
Thanks for the help

Rob Garrison
Hi @mindoata! I don't use Angular, so I can't answer this off the top of my head, but maybe this comment - https://github.com/antonio-spinelli/ng-virtual-keyboard/issues/14#issuecomment-363379833 - will help?

Hello all,

I saw this virtual keyboard and it looks impressive. Ive been looking for a touch keyboard to use in Raspbian with kiosk mode web browser (no desktop and preferably no window manager). Am looking at Webkit for the browser.

I was wondering if anyone could give me advice on how I could go about this ? the application is for a touch screen that is running on the dashboard of a vehicle (no keyboard or pointer / mouse) .

We are using a single dashboard application ( www.thingsboard.io ) and the user has to use a virtual keyboard to login and maybe enter text into a few fields. The application is written in angular 8/9. The login will be via an Oauth provider www.openiam.com and text fields will be from the thingsboard app where we can potentially add some angular code to on-focus events.?

Im not sure how the Mottie keyboard works and im not a developer myself, but can arrange developer assistance from our project group. Is the keyboard only called from the browser application or does it interact with the browser itself ? ie do we have to code the use of the keyboard into the thingsboard application ?
Would you be able to suggest a way we can manage this touch keyboard requirement ? f

Thanks for any assistance you can offer

Chris Olson

Hello to all,
I need a little help with your virtual keyboard..I do some customisation of it but thing I can't do is to prevent blank space (with no other text) ..or implement something like this: https://stackoverflow.com/questions/48714579/how-do-i-prevent-a-leading-space-from-being-entered-in-a-textbox