change keyboard layout with javascript

hd. picture hd. · Jul 11, 2012 · Viewed 15.5k times · Source

I have a html form. Users can fill in the form in both english and persian languages. but I have a captcha input that users should fill it in english.

If the user's keyboard layout is persian what is typed in this field should change to english so I need some coded that change the keyboard layout on focusing on this input text.

Is it possbile to change keyboard layout with javascript??

Answer

mgherkins picture mgherkins · Jul 11, 2012

You won't be able to change the keyboard layout using JS, but you can capture the keydown event and replace the character with something like this:

http://jsfiddle.net/SxdKZ/

$('textarea').on('keydown', function(e){

   console.log(e.keyCode); 
    if( e.keyCode == 90 ){
      e.preventDefault();
      $(this).append('y').focus();
    }
    if( e.keyCode == 89 ){
      e.preventDefault();
      $(this).append('z').focus();
    }

});​