<!doctypehtml><html lang=en><meta charset=utf-8><meta content="english keyboard, english virtual keyboard, english keyboard online, english onscreen keyboard, type english online, type english letters online, type in english online, type english, type english keyboard, english typing, writing english, type in english, english letters, english keyboard layout, google english"name=keywords><meta content="Write English letters online  using the QWERTY and the DVORAK layouts. This online keyboard allows you to type English letters using any computer keyboard, mouse, or touchscreen."name=description><meta content="English Keyboard - Type English Online"property=og:title><meta content=website property=og:type><meta content=https://www.branah.com/english property=og:url><meta content=https://www.branah.com/images/profile.gif property=og:image><meta content=branah property=og:site_name><meta content="Write English letters online  using the QWERTY and the DVORAK layouts. This online keyboard allows you to type English letters using any computer keyboard, mouse, or touchscreen."property=og:description><meta content=width=device-width,initial-scale=1,user-scalable=no name=viewport><link href=https://www.branah.com/apple-touch-icon.png rel=apple-touch-icon><title>
   English Keyboard - Type English Online
  </title><style>*{margin:0;padding:0}html{overflow-y:scroll}html,body{height:100%}body{font-family:Verdana,Helvetica,Arial,Sans-Serif;font-size:87.5%;line-height:24px;color:#464646}a:link,a:visited,a:active{color:#005a9c;text-decoration:none}a:hover{text-decoration:underline}p{margin:.75em 0}h1{font-size:1.2857em;margin:.75em 0;color:#057cb5}h3{font-size:1em;margin:.75em 0;color:#057cb5}h4{text-align:left}img{border:0}table{border-spacing:0}td{vertical-align:top}rb{color:#057cb5;font-size:100%;margin-left:.5em}rt{color:#e0115f;font-size:100%}.clear{clear:both}.middle{vertical-align:middle}.top{vertical-align:top}#footer{margin-top:4em;padding-bottom:2em;text-align:center;border-top:1px solid #ccc;font-size:.75em}#gdpr{position:fixed;background-color:rgba(0,0,0,0.85);color:#FFF;text-align:center;left:0;bottom:0;width:100%;font-size:.75em}#gdpr-btn{margin:0 0 0 1em;padding:0 1em;font-size:1em;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:unset 0 1px 1px rgba(0,0,0,0.075);box-shadow:unset 0 1px 1px rgba(0,0,0,0.075)}ul.menu{list-style:none;padding-top:1em}li.menuitem{display:inline;padding:0;margin:0 0 0 1em}li.activemenuitem a{border-bottom:1px solid #3C0}#action{text-align:left}#action button{padding:0 5px;vertical-align:middle;line-height:18px}#shrink,#enlarge{width:24px}a.soft_button{border:1px solid lightblue;margin-left:3px;padding:0 2px;white-space:nowrap}.share-this{margin:2em auto 1em auto;text-align:center}.share-this .share{margin-right:1em}.button{display:inline-block;padding:0 5px;background-color:#f0f0f0;border:2px solid #ccc;border-radius:5px}input[type=number],input[type=text],textarea{font-family:Verdana,Helvetica,Arial,Sans-Serif;color:#464646;padding:5px 8px;vertical-align:middle;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.nowrap{white-space:nowrap}#branah-keyboard{line-height:20px;font-size:1em}#branah-keyboard button{float:left;display:block;margin:1px;height:3em;text-align:center;color:gray}#branah-keyboard .branah-label-natural{color:#e0115f}#branah-keyboard .branah-label-shift{color:#057cb5}#branah-keyboard .branah-label-natural,#branah-keyboard .branah-label-shift{margin-top:-5px;line-height:20px;text-align:center;cursor:default}#branah-keyboard .branah-label-reference{color:gray;font-size:.9em;line-height:12px;text-align:left;cursor:default}#branah-k29 .branah-label-reference,#branah-k32 .branah-label-reference{color:#000}#branah-keyboard .branah-recessed span{color:#3C0}#branah-keyboard .branah-recessed-hover span{color:#ffd800}#branah-keyboard .branah-clear{clear:both}@media only screen and (max-width:640px){#page{margin:0 2px}#header{margin-bottom:1em}#logo{display:inline-block;width:100%;height:46px;line-height:46px;background-repeat:repeat-x;background-image:url(/images/branahmobile.jpg)}div.side_content{height:50px}.adslot_1{width:320px;height:50px}a.soft_button{padding:0 2px 0 0;margin-left:0}ul.list{list-style:none}ul.list li{text-align:center;line-height:2em;margin:1em}textarea{width:85%}#share{width:100%;margin:2em auto 1em auto;text-align:center}#action{line-height:2.25em}#archived{font-size:.85em;margin:.5em 0 1em 0}#branah-keyboard button{width:88px}#branah-keyboard .branah-key{width:43px}.gsc-search-box,.gsc-control-cse{display:none}}@media only screen and (min-width:641px) and (max-width:840px){p{text-align:justify}textarea{width:610px}#page{width:630px;margin:0 auto}#header{margin-bottom:1em}#logo{display:inline-block;width:630px;height:108px;line-height:108px;background-image:url(/images/branahtab.jpg)}div.side_content{height:60px}.adslot_1{width:468px;height:60px}ul.list{list-style:none;display:inline-block;width:150px}ul.list li{line-height:2em;margin:0}#editor{width:600px}#keyboard{width:630px}#selectAll,#saveAsTextFile,#postToFacebook,#shrink,#enlarge{margin-right:2px;padding:0 5px;vertical-align:middle;line-height:18px}}@media only screen and (min-width:841px){p{text-align:justify}textarea{width:610px}#page{width:840px;margin:0 auto}#header{margin-bottom:1em}#logo{display:inline-block;width:840px;height:144px;line-height:144px;background-image:url(/images/branah.jpg)}div.side_content{position:absolute;top:0;left:0;width:160px;_margin-left:-210px}.adslot_1{display:block;width:160px;height:600px}div.main_content{position:relative;padding-left:210px}ul.list{list-style:none;display:inline-block;width:160px}#editor{width:607px;height:96px}}@media only screen and (min-width:641px){#branah-keyboard{width:630px}#branah-keyboard button{line-height:2.75em}#branah-keyboard .branah-key{width:40px}#branah-backspace{width:78px}#branah-tab{width:62px}#branah-k25{width:56px}#branah-caps-lock{width:76px}#branah-enter{width:84px}#branah-left-shift{width:46px}#branah-right-shift{width:114px}#branah-space{width:246px;text-align:center}#branah-right-ctrl,#branah-right-alt,#branah-escape{width:62px}#branah-left-ctrl,#branah-left-alt,#branah{width:60px}};</style><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-4450461-3', 'branah.com');
  ga('send', 'pageview');
  ga('set', 'anonymizeIp', true);</script><body><div id=page><div id=header><header><a title="Write in your language wherever you may be with the best online keyboard on the Internet"href=/ id=logo> </a></header></div><div class=main_content><div class=side_content><ins class="adsbygoogle adslot_1"data-ad-client=ca-pub-6590006325388707 data-ad-slot=9929133187> </ins><script async src=https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js></script><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div><h1>English Keyboard</h1><p id=response><h4>Click or type it... Copy it... And paste it... Done!</h4><form action=https://api.branah.com/api/file/postBack id=saveAsTextFile method=POST><p id=action><button id=selectAll type=button>Select All</button> <button id=copy type=button>Copy</button> <button id=undo type=button>Undo</button> <button id=redo type=button>Redo</button> <button id=clearAll type=button>Clear All</button> <input id=data name=data type=hidden> <button>Save Text</button> <button title="Shrink letters"id=shrink type=button>-</button> <button title="Enlarge letters"id=enlarge type=button>+</button> <br> <span class=nowrap> <a class="middle soft_button"href=# id=email> Send Email </a> </span> <span class=nowrap> <a class="middle soft_button"href=# id=postToTwitter target=_blank> Tweet in English </a> </span> <span class=nowrap> <a class="middle soft_button"href=# id=searchGoogle target=_blank> Google in English </a> </span> <span class=nowrap> <a class="middle soft_button"href=# id=translateGoogle target=_blank> Google Translate </a> </span></form><p><textarea cols=75 id=editor name=editor></textarea><div id=keyboard></div><div class=share-this><span class=share> Share This: </span><a class=share href=http://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.branah.com%2Fenglish> Twitter </a><a class=share href=http://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.branah.com%2Fenglish> Facebook </a><a class=share href=https://plus.google.com/share?url=https%3A%2F%2Fwww.branah.com%2Fenglish> Google+ </a><a class=share href=https://www.branah.com/comments?r=english> Comments </a></div><p>This <em> English Keyboard </em> enables you to easily type English online using the QWERTY and the DVORAK layouts. You can use your computer keyboard or mouse to type English letters with this online keyboard.<p>Press <span class=button> Shift </span> for additional English letters that are not visible on the keyboard. On the extended keyboards press either <span class=button> Ctrl </span> + <span class=button> Alt </span> or <span class=button> AltGr </span> for currency symbols and additional accented letters<p>For mobile phones and tablets, touch and hold inside the text area to copy the text. You can then paste the text in any app such as Facebook, Twitter, email, or search app.</p><script async src=https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js></script><ins class=adsbygoogle data-ad-client=ca-pub-6590006325388707 data-ad-format=auto data-ad-slot=9929133187 data-full-width-responsive=false style=display:block> </ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div><div id=footer><footer><ul class=menu><li class=menuitem><a href=/ title=Home> Home </a><li class=menuitem><a href=/help title=Help> Help </a><li class=menuitem><a href=/contact title=Contact> Contact </a><li class=menuitem><a title="Terms of use"href=/terms-of-use> Terms of Use </a><li class=menuitem><a title="Privacy policy"href=/privacy-policy> Privacy Policy </a><li class=menuitem>© branah.com</ul></footer></div><div id=gdpr>This site uses cookies and other tracking technologies to assist with your ability to provide feedback, analyze your use of our products and services, and provide content from third parties. <a href=how-we-use-cookies> Cookie Policy </a><button id=gdpr-btn type=button>Accept</button></div></div><script>(function(){var a={};a.util={mobile:/Android|webOS|iPhone|iPad|iPod|IEMobile|Opera Mini/i.test(navigator.userAgent),opera:((!!window.opr&&!!opr.addons)||!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0),mozilla:(typeof InstallTrigger!=="undefined"),windowWidth:function(){var i=window.document.documentElement.clientWidth,e=window.document.body;return window.document.compatMode==="CSS1Compat"&&i||e&&e.clientWidth||i},code:function(i){if(!i){var i=window.event}if(i.code!=undefined&&i.key!=undefined){return i.code}return"Unidentified"},keyCode:function(t){if(!t){var t=window.event}var i=t.keyCode;if(this.mozilla){switch(i){case 59:i=186;break;case 107:i=187;break;case 109:i=189;break;case 61:i=187;break;case 173:i=189;break}}if(this.opera){switch(i){case 59:i=186;break;case 61:i=187;break;case 109:i=189;break}}if(i==18&&t.location&&t.location==2){i=255}return i},preventDefault:function(i){if(!i){var i=window.event}i.preventDefault?i.preventDefault():(i.returnValue=false)},srcId:function(i,t,v){if(!i){var i=window.event}var u;if(i.target){u=i.target}else{if(i.srcElement){u=i.srcElement}}if(u.nodeType==3){u=target.parentNode}while(u.tagName.toLowerCase()!=v){u=u.parentNode;if(u==t||u.tagName.toLowerCase()=="body"){return null}}return u.id},insertAtCaret:function(i,w){var v=this.getSelectionStart(i);var t=this.getSelectionEnd(i);var u=i.value.length;i.value=i.value.substring(0,v)+w+i.value.substring(t,u);this.setCaretPosition(i,v+w.length,0)},deleteAtCaret:function(u,t,i){var x=this.getSelectionStart(u);var v=this.getSelectionEnd(u);var w=u.value.length;if(t>x){t=x}if(v+i>w){i=w-v}var y=u.value.substring(x-t,v+i);u.value=u.value.substring(0,x-t)+u.value.substring(v+i);this.setCaretPosition(u,x-t,0);return y},getSelectionStart:function(i){i.focus();if(i.selectionStart!==undefined){return i.selectionStart}else{if(document.selection){var t=document.selection.createRange();if(t==null){return 0}var v=i.createTextRange();var u=v.duplicate();v.moveToBookmark(t.getBookmark());u.setEndPoint("EndToStart",v);return u.text.length}}return 0},getSelectionEnd:function(i){i.focus();if(i.selectionEnd!==undefined){return i.selectionEnd}else{if(document.selection){var t=document.selection.createRange();if(t==null){return 0}var v=i.createTextRange();var u=v.duplicate();v.moveToBookmark(t.getBookmark());u.setEndPoint("EndToStart",v);return u.text.length+t.text.length}}return i.value.length},setCaretPosition:function(t,v,i){var u=t.value.length;if(v>u){v=u}if(v+i>u){i=u-i}t.focus();if(t.setSelectionRange){t.setSelectionRange(v,v+i)}else{if(t.createTextRange){var w=t.createTextRange();w.collapse(true);w.moveEnd("character",v+i);w.moveStart("character",v);w.select()}}t.focus()},selectAll:function(i){this.setCaretPosition(i,0,i.value.length)},fromCharCodeS:function(){var v=arguments.length;var w="";var e,u,x;for(var t=0;t<v;t++){x=arguments[t];if(x<1114112&&65535<x){e=Math.floor((x-65536)/1024)+55296;u=((x-65536)%1024)+56320;w=w+String.fromCharCode(e,u)}else{if(x<65536){w=w+String.fromCharCode(x)}}}return w}};a.layout=function(){this.keys=[];this.deadkeys=[];this.dir="ltr";this.name="US";this.lang="en"};a.layout.prototype.loadDefault=function(){this.keys=[{i:"k0",c:"0",n:"`",s:"~"},{i:"k1",c:"0",n:"1",s:"!"},{i:"k2",c:"0",n:"2",s:"@"},{i:"k3",c:"0",n:"3",s:"#"},{i:"k4",c:"0",n:"4",s:"$"},{i:"k5",c:"0",n:"5",s:"%"},{i:"k6",c:"0",n:"6",s:"^"},{i:"k7",c:"0",n:"7",s:"&"},{i:"k8",c:"0",n:"8",s:"*"},{i:"k9",c:"0",n:"9",s:"("},{i:"k10",c:"0",n:"0",s:")"},{i:"k11",c:"0",n:"-",s:"_"},{i:"k12",c:"0",n:"=",s:"+"},{i:"k13",c:"1",n:"q",s:"Q"},{i:"k14",c:"1",n:"w",s:"W"},{i:"k15",c:"1",n:"e",s:"E"},{i:"k16",c:"1",n:"r",s:"R"},{i:"k17",c:"1",n:"t",s:"T"},{i:"k18",c:"1",n:"y",s:"Y"},{i:"k19",c:"1",n:"u",s:"U"},{i:"k20",c:"1",n:"i",s:"I"},{i:"k21",c:"1",n:"o",s:"O"},{i:"k22",c:"1",n:"p",s:"P"},{i:"k23",c:"0",n:"[",s:"{"},{i:"k24",c:"0",n:"]",s:"}"},{i:"k25",c:"0",n:"\\",s:"|"},{i:"k26",c:"1",n:"a",s:"A"},{i:"k27",c:"1",n:"s",s:"S"},{i:"k28",c:"1",n:"d",s:"D"},{i:"k29",c:"1",n:"f",s:"F"},{i:"k30",c:"1",n:"g",s:"G"},{i:"k31",c:"1",n:"h",s:"H"},{i:"k32",c:"1",n:"j",s:"J"},{i:"k33",c:"1",n:"k",s:"K"},{i:"k34",c:"1",n:"l",s:"L"},{i:"k35",c:"0",n:";",s:":"},{i:"k36",c:"0",n:"'",s:'"'},{i:"k37",c:"1",n:"z",s:"Z"},{i:"k38",c:"1",n:"x",s:"X"},{i:"k39",c:"1",n:"c",s:"C"},{i:"k40",c:"1",n:"v",s:"V"},{i:"k41",c:"1",n:"b",s:"B"},{i:"k42",c:"1",n:"n",s:"N"},{i:"k43",c:"1",n:"m",s:"M"},{i:"k44",c:"0",n:",",s:"<"},{i:"k45",c:"0",n:".",s:">"},{i:"k46",c:"0",n:"/",s:"?"},{i:"k47",c:"0",n:"\\",s:"|"}];this.deadkeys=[];this.dir="ltr";this.name="US";this.lang="en"};a.layout.prototype.load=function(e){this.keys=e.keys;this.deadkeys=e.deadkeys;this.dir=e.dir;this.name=e.name;this.lang=e.lang?e.lang:"en"};a.layout.parser={keys:{"192":"Backquote","49":"Digit1","50":"Digit2","51":"Digit3","52":"Digit4","53":"Digit5","54":"Digit6","55":"Digit7","56":"Digit8","57":"Digit9","48":"Digit0","189":"Minus","187":"Equal","81":"KeyQ","87":"KeyW","69":"KeyE","82":"KeyR","84":"KeyT","89":"KeyY","85":"KeyU","73":"KeyI","79":"KeyO","80":"KeyP","219":"BracketLeft","221":"BracketRight","220":"Backslash","65":"KeyA","83":"KeyS","68":"KeyD","70":"KeyF","71":"KeyG","72":"KeyH","74":"KeyJ","75":"KeyK","76":"KeyL","186":"Semicolon","222":"Quote","90":"KeyZ","88":"KeyX","67":"KeyC","86":"KeyV","66":"KeyB","78":"KeyN","77":"KeyM","188":"Comma","190":"Period","191":"Slash","17":"ControlLeft","18":"AltLeft","16":"ShiftLeft","32":"Space","27":"Escape","20":"CapsLock","13":"Enter","255":"AltRight"},codes:{Backquote:0,Digit1:1,Digit2:2,Digit3:3,Digit4:4,Digit5:5,Digit6:6,Digit7:7,Digit8:8,Digit9:9,Digit0:10,Minus:11,Equal:12,KeyQ:13,KeyW:14,KeyE:15,KeyR:16,KeyT:17,KeyY:18,KeyU:19,KeyI:20,KeyO:21,KeyP:22,BracketLeft:23,BracketRight:24,Backslash:25,KeyA:26,KeyS:27,KeyD:28,KeyF:29,KeyG:30,KeyH:31,KeyJ:32,KeyK:33,KeyL:34,Semicolon:35,Quote:36,KeyZ:37,KeyX:38,KeyC:39,KeyV:40,KeyB:41,KeyN:42,KeyM:43,Comma:44,Period:45,Slash:46,IntlBackslash:47},getKeyLegend:function(u,t){var v=u.length;for(var e=0;e<v;e++){if(u[e].i==t){return(u[e].n?u[e].n:"")}}return 0},getKey:function(u,t){var v=u.length;for(var e=0;e<v;e++){if(u[e].i==t){return u[e]}}return null},isDeadkey:function(e,v){if(!e){return false}var u=e.length;for(var t=0;t<u;t++){if(e[t].k==v){return true}}return false},getMappedValue:function(e,w,v){if(!e){return""}var u=e.length;for(var t=0;t<u;t++){if(e[t].k==v&&e[t].b==w){return e[t].c}}return""},getState:function(v,e,w,t,u,i){var x="n";if(!e&&!w&&v){x="n"}else{if(!e&&w&&!v){x="s"}else{if(!e&&w&&v){x="s"}else{if(e&&!w&&!v){x="n"}else{if(e&&!w&&v){x="t"}else{if(e&&w&&!v){x="s"}else{if(e&&w&&v){x="f"}}}}}}}if(t){if(u=="1"){if(x=="n"){x="s"}else{if(x=="s"){x="n"}}}else{if(u=="SGCap"){if(x=="n"){x="y"}else{if(x=="s"){x="z"}}}}}if(i){if(x=="n"){x="t"}else{if(x=="s"){x="f"}}}return x}};a.keyboard=function(e,v){this.defaultLayout=new a.layout();this.defaultLayout.loadDefault();this.virtualLayout=new a.layout();this.virtualLayout.loadDefault();this.currentLayout=this.virtualLayout;this.shift=false;this.shiftOn=false;this.caps=false;this.capsOn=false;this.alt=false;this.altGr=false;this.altGrOn=false;this.ctrl=false;this.altCtrlOn=false;this.fontSize=18;this.counter=0;this.interval=0;this.prev="";this.emoji=false;this.emojiStartingCodePoint=128512;this.emojiCurrentCodePoint=128512;this.cancelkeypress=false;this.customOnBackspace=function(i){};this.customOnEnter=function(){};this.customOnSpace=function(){return false};this.customOnKey=function(i){return false};this.customOnEsc=function(){};this.customDrawKeyboard=function(i){return i};this.textbox=document.getElementById(v);this.textbox.style.fontSize="18px";if(a.util.mobile){this.textbox.readOnly=true}var u=['<div id="branah-keyboard">'];u.push('<div id="branah-keyboard-alpha">');if(a.util.windowWidth()<640){for(var t=13;t<23;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}for(var t=26;t<35;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}for(var t=37;t<44;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<button id="branah-left-shift"><span>Shift</span></button>');u.push('<button id="branah-caps-lock"><span>Caps</span></button>');u.push('<button id="branah-escape" title="Turn on/off keyboard input conversion"><span>Esc</span></button>');u.push('<button id="branah-space"><span>Space</span></button>');u.push('<button id="branah-emoji" class="branah-key">\ud83d\ude00</button>');u.push('<button id="branah-enter" class="branah-enter"><span>Enter</span></button>');u.push('<button id="branah-left-ctrl" style="display:none"><span>Ctrl</span></button>');u.push('<button id="branah-left-alt" style="display:none"><span>Alt</span></button>');u.push('<button id="branah-right-alt"><span>AltGr</span></button>');u.push('<button id="branah-right-ctrl" style="display:none"><span>Ctrl</span></button>');u.push('<button id="branah-right-shift" style="display:none"><span>Shift</span></button>');u.push('<button id="branah-backspace"><span>Back</span></button>');for(var t=0;t<13;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}for(var t=23;t<26;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}for(var t=35;t<37;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}for(var t=44;t<48;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<div class="branah-clear"></div>')}else{for(var t=0;t<13;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<button id="branah-backspace"><span>Backspace</span></button>');u.push('<div class="branah-clear"></div>');u.push('<button id="branah-tab"><span>Tab</span></button>');for(var t=13;t<25;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<button id="branah-k25"></button>');u.push('<div class="branah-clear"></div>');u.push('<button id="branah-caps-lock"><span>Caps Lock</span></button>');for(var t=26;t<37;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<button id="branah-enter" class="branah-enter"><span>Enter</span></button>');u.push('<div class="branah-clear"></div>');u.push('<button id="branah-left-shift"><span>Shift</span></button>');u.push('<button id="branah-k47" class="branah-key"></button>');for(var t=37;t<47;t++){u.push('<button id="branah-k',t,'" class="branah-key"></button>')}u.push('<button id="branah-right-shift"><span>Shift</span></button>');u.push('<div class="branah-clear"></div>');u.push('<button id="branah-left-ctrl"><span>Ctrl</span></button>');u.push('<button id="branah"><span>Emoji</span></button>');u.push('<button id="branah-left-alt"><span>Alt</span></button>');u.push('<button id="branah-space"><span>Space</span></button>');u.push('<button id="branah-right-alt"><span>AltGr</span></button>');u.push('<button id="branah-escape" title="Turn on/off keyboard input conversion"><span>Esc</span></button>');u.push('<button id="branah-right-ctrl"><span>Ctrl</span></button>');u.push('<div class="branah-clear"></div>')}u.push("</div>");u.push('<div id="branah-keyboard-emoji" style="display:none">');u.push("</div>");u.push("</div>");document.getElementById(e).innerHTML=u.join("");this.wireEvents();this.drawKeyboard()};a.keyboard.prototype.loadDefaultLayout=function(e){this.defaultLayout.load(e);this.drawKeyboard()};a.keyboard.prototype.loadVirtualLayout=function(e){this.virtualLayout.load(e);this.drawKeyboard();this.textbox.style.direction=this.attr("dir")};a.keyboard.prototype.switchLayout=function(){this.currentLayout=(this.currentLayout===this.defaultLayout)?this.virtualLayout:this.defaultLayout;this.reset();this.drawKeyboard();this.textbox.style.direction=this.attr("dir")};a.keyboard.prototype.getFontSize=function(){return this.fontSize};a.keyboard.prototype.setFontSize=function(e){this.fontSize=e;this.textbox.style.fontSize=this.fontSize+"px"};a.keyboard.prototype.onEsc=function(){this.switchLayout();this.customOnEsc()};a.keyboard.prototype.onShift=function(){this.shift=!this.shift;this.drawKeyboard()};a.keyboard.prototype.onAlt=function(){this.alt=!this.alt;this.drawKeyboard()};a.keyboard.prototype.onAltGr=function(){this.altGr=!this.altGr;this.drawKeyboard()};a.keyboard.prototype.onCtrl=function(){this.ctrl=!this.ctrl;this.drawKeyboard()};a.keyboard.prototype.onCapsLock=function(){this.caps=!this.caps;this.drawKeyboard()};a.keyboard.prototype.onBackspace=function(){if(this.prev!=""){this.prev="";this.shift=false;this.drawKeyboard()}else{var i=a.util.deleteAtCaret(this.textbox,1,0);if(i.length>0){var e=i.charCodeAt(0);if(e<57344&&56319<e){i=a.util.deleteAtCaret(this.textbox,1,0)+i}}this.customOnBackspace(i)}};a.keyboard.prototype.onEnter=function(){a.util.insertAtCaret(this.textbox,"\u000A");this.customOnEnter()};a.keyboard.prototype.onSpace=function(){if(!this.customOnSpace()){a.util.insertAtCaret(this.textbox,"\u0020")}};a.keyboard.prototype.onEmoji=function(){this.emoji=!this.emoji;this.emojiCurrentCodePoint=this.emojiStartingCodePoint;this.drawKeyboard()};a.keyboard.prototype.onEmojiScrollUp=function(){this.emojiCurrentCodePoint-=14;if(this.emojiCurrentCodePoint<0){this.emojiCurrentCodePoint=0}this.drawKeyboard()};a.keyboard.prototype.onEmojiScrollDown=function(){this.emojiCurrentCodePoint+=14;this.drawKeyboard()};a.keyboard.prototype.onEmojiKey=function(e){a.util.insertAtCaret(this.textbox,a.util.fromCharCodeS(this.emojiCurrentCodePoint+parseInt(e)-100))};a.keyboard.prototype.attr=function(e){if(e=="dir"){return this.currentLayout.dir}else{if(e=="lang"){return this.currentLayout.lang}else{if(e=="name"){return this.currentLayout.name}}}return""};a.keyboard.prototype.reset=function(){this.shift=false;this.caps=false;this.alt=false;this.altGr=false;this.ctrl=false;this.counter=0;this.interval=0;this.prev=""};a.keyboard.prototype.stopRepeat=function(){if(this.interval!=0){clearInterval(this.interval);this.counter=0;this.interval=0}};a.keyboard.prototype.onKey=function(i){var e=a.layout.parser.getKey(this.currentLayout.keys,i);if(e){var u=a.layout.parser.getState(this.ctrl,this.alt,this.shift,this.caps,e.c?e.c:"0",this.altGr);var v=e[u]?e[u]:"";if(this.prev!=""){var t=a.layout.parser.getMappedValue(this.currentLayout.deadkeys,v,this.prev);if(t!=""){a.util.insertAtCaret(this.textbox,t)}this.prev=""}else{if(a.layout.parser.isDeadkey(this.currentLayout.deadkeys,v)){this.prev=v}else{if(v!=""){if(!this.customOnKey(v)){a.util.insertAtCaret(this.textbox,v)}}}}}};a.keyboard.prototype.getEmojiHTML=function(){var u=14;if(a.util.windowWidth()<640){u=6}var v=[];for(var e=100;e<100+(5*u);e++){v.push('<button id="branah-k',e,'" class="branah-key"><div style="font-size:',this.fontSize,'px;">',a.util.fromCharCodeS(this.emojiCurrentCodePoint+e-100),"</div></button>");var t=e-99;if(t==u){v.push('<button id="branah-emoji-scrollup" class="branah-key"><div style="font-size:',this.fontSize,'px;">\u23f6</div></button>');v.push('<div class="branah-clear"></div>')}else{if(t==2*u){v.push('<button id="branah-emoji" class="branah-key"><span>abc</span></button>');v.push('<div class="branah-clear"></div>')}else{if(t==3*u){v.push('<button id="branah-emoji-backspace" class="branah-key"><div style="font-size:',this.fontSize,'px;">\u232b</div></button>');v.push('<div class="branah-clear"></div>')}else{if(t==4*u){v.push('<button id="branah-emoji-enter" class="branah-key"><div style="font-size:',this.fontSize,'px;">\u21b5</div></button>');v.push('<div class="branah-clear"></div>')}else{if(t==5*u){v.push('<button id="branah-emoji-scrolldown" class="branah-key"><div style="font-size:',this.fontSize,'px;">\u23f7</div></button>');v.push('<div class="branah-clear"></div>')}}}}}}v.push('<div class="branah-clear"></div>');return v.join("")};a.keyboard.prototype.drawKeyboard=function(){if(this.emoji){document.getElementById("branah-keyboard-emoji").innerHTML=this.getEmojiHTML();document.getElementById("branah-keyboard-emoji").style.display="";document.getElementById("branah-keyboard-alpha").style.display="none";return}else{document.getElementById("branah-keyboard-emoji").style.display="none";document.getElementById("branah-keyboard-alpha").style.display=""}if(!this.currentLayout.keys){return}var E,G,J,K;var H=this.currentLayout.keys.length;for(var F=0;F<H;F++){G=this.currentLayout.keys[F];if(!document.getElementById("branah-"+G.i)){continue}var D=this.ctrl;var e=this.alt;var I=this.shift;var C=this.caps;var t=this.altGr;if(this.shiftOn){I=true}if(this.capsOn){C=true}if(this.altCtrlOn){D=true;e=true}if(this.altGrOn){t=true}J=a.layout.parser.getState(D,e,I,C,G.c?G.c:"0",t);K=G[J]?G[J]:"";if(this.prev!=""){K=a.layout.parser.getMappedValue(this.currentLayout.deadkeys,K,this.prev)}E=[];E.push('<div class="branah-label-reference">',a.layout.parser.getKeyLegend(this.defaultLayout.keys,G.i),"</div>");if(!I){K=this.customDrawKeyboard(K);if(K==""){K="&nbsp;"}E.push('<div class="branah-label-natural" style="font-size:',this.fontSize,'px;">&nbsp;',K,"</div>")}else{if(K==""){K="&nbsp;"}E.push('<div class="branah-label-shift" style="font-size:',this.fontSize,'px;">&nbsp;',K,"</div>")}document.getElementById("branah-"+G.i).innerHTML=E.join("")}var x=document.getElementById("branah-left-ctrl");var A=document.getElementById("branah-right-ctrl");if(x&&A){if(D){x.className="branah-recessed"+(this.ctrl?"":"-hover");A.className="branah-recessed"+(this.ctrl?"":"-hover")}else{x.className="";A.className=""}}var w=document.getElementById("branah-left-alt");if(w){if(e){w.className="branah-recessed"+(this.alt?"":"-hover")}else{w.className=""}}var z=document.getElementById("branah-right-alt");if(z){if(t){z.className="branah-recessed"+(this.altGr?"":"-hover")}else{z.className=""}}var y=document.getElementById("branah-left-shift");var B=document.getElementById("branah-right-shift");if(y&&B){if(I){y.className="branah-recessed"+(this.shift?"":"-hover");B.className="branah-recessed"+(this.shift?"":"-hover")}else{y.className="";B.className=""}}var u=document.getElementById("branah-caps-lock");if(u){if(C){u.className="branah-recessed"+(this.caps?"":"-hover")}else{u.className=""}}var v=document.getElementById("branah-escape");if(v){if(this.currentLayout===this.defaultLayout){v.className="branah-recessed"}else{v.className=""}}};a.keyboard.prototype.wireEvents=function(){var e=this;document.getElementById("branah-keyboard").onmousedown=function(i){var t=a.util.srcId(i,this,"button");if(!t){return}e.interval=setInterval(function(){e.counter++;if(e.counter>5){switch(t){case"branah-backspace":case"branah-emoji-backspace":e.onBackspace();break;case"branah-enter":case"branah-emoji-enter":e.onEnter();break;case"branah-emoji-scrollup":e.onEmojiScrollUp();break;case"branah-emoji-scrolldown":e.onEmojiScrollDown();break;default:if(t.search("^branah-k([0-9]|[1-3][0-9]|4[0-7])$")!=-1){e.onKey(t.substr(7));e.shift=false;e.alt=false;e.ctrl=false;e.altGr=false;e.drawKeyboard()}else{if(t.search("^branah-k1[0-6][0-9]$")!=-1){e.onEmojiKey(t.substr(8))}}break}}},50)};document.getElementById("branah-keyboard").onmouseup=function(i){e.stopRepeat()};document.getElementById("branah-keyboard").onmouseout=function(i){e.stopRepeat()};document.getElementById("branah-keyboard").onclick=function(i){var t=a.util.srcId(i,this,"button");if(!t){return}switch(t){case"branah-left-shift":case"branah-right-shift":e.onShift();break;case"branah-left-alt":e.onCtrl();e.onAlt();break;case"branah-right-alt":e.onAltGr();break;case"branah-left-ctrl":case"branah-right-ctrl":e.onAlt();e.onCtrl();break;case"branah-escape":e.onEsc();break;case"branah-caps-lock":e.onCapsLock();break;case"branah-backspace":case"branah-emoji-backspace":e.onBackspace();break;case"branah-enter":case"branah-emoji-enter":e.onEnter();break;case"branah-space":e.onSpace();break;case"branah":case"branah-emoji":e.onEmoji();break;case"branah-emoji-scrollup":e.onEmojiScrollUp();break;case"branah-emoji-scrolldown":e.onEmojiScrollDown();break;default:if(t.search("^branah-k([0-9]|[1-3][0-9]|4[0-7])$")!=-1){e.onKey(t.substr(7));e.shift=false;e.alt=false;e.ctrl=false;e.altGr=false;e.drawKeyboard()}else{if(t.search("^branah-k1[0-6][0-9]$")!=-1){e.onEmojiKey(t.substr(8))}}break}};if(!("ontouchstart" in document.documentElement)||!a.util.mobile){document.getElementById("branah-left-shift").onmouseover=function(i){e.shiftOn=true;e.drawKeyboard()};document.getElementById("branah-right-shift").onmouseover=function(i){e.shiftOn=true;e.drawKeyboard()};document.getElementById("branah-left-shift").onmouseout=function(i){e.shiftOn=false;e.drawKeyboard()};document.getElementById("branah-right-shift").onmouseout=function(i){e.shiftOn=false;e.drawKeyboard()};document.getElementById("branah-left-ctrl").onmouseover=function(i){e.altCtrlOn=true;e.drawKeyboard()};document.getElementById("branah-right-ctrl").onmouseover=function(i){e.altCtrlOn=true;e.drawKeyboard()};document.getElementById("branah-left-ctrl").onmouseout=function(i){e.altCtrlOn=false;e.drawKeyboard()};document.getElementById("branah-right-ctrl").onmouseout=function(i){e.altCtrlOn=false;e.drawKeyboard()};document.getElementById("branah-left-alt").onmouseover=function(i){e.altCtrlOn=true;e.drawKeyboard()};document.getElementById("branah-right-alt").onmouseover=function(i){e.altGrOn=true;e.drawKeyboard()};document.getElementById("branah-left-alt").onmouseout=function(i){e.altCtrlOn=false;e.drawKeyboard()};document.getElementById("branah-right-alt").onmouseout=function(i){e.altGrOn=false;e.drawKeyboard()};document.getElementById("branah-caps-lock").onmouseover=function(i){e.capsOn=true;e.drawKeyboard()};document.getElementById("branah-caps-lock").onmouseout=function(i){e.capsOn=false;e.drawKeyboard()}}e.textbox.onkeydown=function(t){var i=a.util.code(t);if(i=="Unidentified"){var v=a.util.keyCode(t);i=a.layout.parser.keys[v+""]}if((i=="KeyA"||i=="KeyY"||i=="KeyZ"||i=="KeyC"||i=="KeyV"||i=="KeyX")&&(e.ctrl&&!e.alt&&!e.shift)){return}if(e.currentLayout==e.defaultLayout&&i!="Escape"){return}switch(i){case"ControlLeft":case"ControlRight":e.ctrl=false;e.onCtrl();break;case"AltLeft":e.alt=false;e.onAlt();break;case"AltRight":e.altGr=false;e.onAltGr();break;case"ShiftLeft":case"ShiftRight":e.shift=false;e.onShift();break;case"Escape":e.onEsc();break;case"CapsLock":if(t.getModifierState&&t.getModifierState("CapsLock")){e.caps=false}e.onCapsLock();break;case"Backspace":e.onBackspace();a.util.preventDefault(t);break;case"Space":e.onSpace();a.util.preventDefault(t);break;case"Enter":e.onEnter();a.util.preventDefault(t);break;default:var u=a.layout.parser.codes[i];if(u!=undefined){e.onKey("k"+u);e.drawKeyboard();a.util.preventDefault(t);e.cancelkeypress=true}break}};if(a.util.opera){e.textbox.onkeypress=function(i){if(e.cancelkeypress){a.util.preventDefault(i);e.cancelkeypress=false}}}e.textbox.onkeyup=function(t){var i=a.util.code(t);if(i=="Unidentified"){var u=a.util.keyCode(t);i=a.layout.parser.keys[u+""]}switch(i){case"ControlLeft":case"ControlRight":e.ctrl=true;e.onCtrl();break;case"AltLeft":e.alt=true;e.onAlt();break;case"AltRight":e.altGr=true;e.onAltGr();break;case"ShiftLeft":case"ShiftRight":e.shift=true;e.onShift();break;default:}}};var o=false;try{var d="item";localStorage.setItem(d,d);localStorage.removeItem(d);o=true}catch(b){}var f=false;try{var p=JSON.parse(JSON.stringify({item:"item"}));if(p.item=="item"){f=true}}catch(b){}if(document.cookie.indexOf("read=true")!=-1){document.getElementById("gdpr").style.display="none"}document.getElementById("gdpr-btn").onclick=function(){document.getElementById("gdpr").style.display="none";document.cookie="read=true"};var g=null;var n={undo:[],redo:[],layout:null,fontSize:null};var s="english";g=new a.keyboard("keyboard","editor");var r=g.textbox;r.focus();if(o&&f){var p=JSON.parse(localStorage.getItem(s));if(p!=null){if(p.layout){n.layout=p.layout}if(p.undo){n.undo=p.undo}if(p.redo){n.redo=p.redo}if(p.fontSize){n.fontSize=p.fontSize}}}if(n.fontSize){g.setFontSize(n.fontSize)}var k=[{Id:"qwerty",Name:"Qwerty",Json:{name:"US Qwerty",dir:"ltr",keys:[{i:"k0",c:"0",n:"`",s:"~"},{i:"k1",c:"0",n:"1",s:"!"},{i:"k2",c:"0",n:"2",s:"@"},{i:"k3",c:"0",n:"3",s:"#"},{i:"k4",c:"0",n:"4",s:"$"},{i:"k5",c:"0",n:"5",s:"%"},{i:"k6",c:"0",n:"6",s:"^"},{i:"k7",c:"0",n:"7",s:"&"},{i:"k8",c:"0",n:"8",s:"*"},{i:"k9",c:"0",n:"9",s:"("},{i:"k10",c:"0",n:"0",s:")"},{i:"k11",c:"0",n:"-",s:"_"},{i:"k12",c:"0",n:"=",s:"+"},{i:"k13",c:"1",n:"q",s:"Q"},{i:"k14",c:"1",n:"w",s:"W"},{i:"k15",c:"1",n:"e",s:"E"},{i:"k16",c:"1",n:"r",s:"R"},{i:"k17",c:"1",n:"t",s:"T"},{i:"k18",c:"1",n:"y",s:"Y"},{i:"k19",c:"1",n:"u",s:"U"},{i:"k20",c:"1",n:"i",s:"I"},{i:"k21",c:"1",n:"o",s:"O"},{i:"k22",c:"1",n:"p",s:"P"},{i:"k23",c:"0",n:"[",s:"{"},{i:"k24",c:"0",n:"]",s:"}"},{i:"k25",c:"0",n:"\\",s:"|"},{i:"k26",c:"1",n:"a",s:"A"},{i:"k27",c:"1",n:"s",s:"S"},{i:"k28",c:"1",n:"d",s:"D"},{i:"k29",c:"1",n:"f",s:"F"},{i:"k30",c:"1",n:"g",s:"G"},{i:"k31",c:"1",n:"h",s:"H"},{i:"k32",c:"1",n:"j",s:"J"},{i:"k33",c:"1",n:"k",s:"K"},{i:"k34",c:"1",n:"l",s:"L"},{i:"k35",c:"0",n:";",s:":"},{i:"k36",c:"0",n:"'",s:'"'},{i:"k37",c:"1",n:"z",s:"Z"},{i:"k38",c:"1",n:"x",s:"X"},{i:"k39",c:"1",n:"c",s:"C"},{i:"k40",c:"1",n:"v",s:"V"},{i:"k41",c:"1",n:"b",s:"B"},{i:"k42",c:"1",n:"n",s:"N"},{i:"k43",c:"1",n:"m",s:"M"},{i:"k44",c:"0",n:",",s:"<"},{i:"k45",c:"0",n:".",s:">"},{i:"k46",c:"0",n:"/",s:"?"},{i:"k47",c:"0",n:"\\",s:"|"}],deadkeys:[]}},{Id:"dvorak",Name:"Dvorak",Json:{name:"Dvorak",dir:"ltr",keys:[{i:"k0",c:"0",n:"`",s:"~"},{i:"k1",c:"0",n:"1",s:"!"},{i:"k2",c:"0",n:"2",s:"@"},{i:"k3",c:"0",n:"3",s:"#"},{i:"k4",c:"0",n:"4",s:"$"},{i:"k5",c:"0",n:"5",s:"%"},{i:"k6",c:"0",n:"6",s:"^"},{i:"k7",c:"0",n:"7",s:"&"},{i:"k8",c:"0",n:"8",s:"*"},{i:"k9",c:"0",n:"9",s:"("},{i:"k10",c:"0",n:"0",s:")"},{i:"k11",c:"0",n:"[",s:"{"},{i:"k12",c:"0",n:"]",s:"}"},{i:"k13",c:"0",n:"'",s:'"'},{i:"k14",c:"0",n:",",s:"<"},{i:"k15",c:"0",n:".",s:">"},{i:"k16",c:"1",n:"p",s:"P"},{i:"k17",c:"1",n:"y",s:"Y"},{i:"k18",c:"1",n:"f",s:"F"},{i:"k19",c:"1",n:"g",s:"G"},{i:"k20",c:"1",n:"c",s:"C"},{i:"k21",c:"1",n:"r",s:"R"},{i:"k22",c:"1",n:"l",s:"L"},{i:"k23",c:"0",n:"/",s:"?"},{i:"k24",c:"0",n:"=",s:"+"},{i:"k25",c:"0",n:"\\",s:"|"},{i:"k26",c:"1",n:"a",s:"A"},{i:"k27",c:"1",n:"o",s:"O"},{i:"k28",c:"1",n:"e",s:"E"},{i:"k29",c:"1",n:"u",s:"U"},{i:"k30",c:"1",n:"i",s:"I"},{i:"k31",c:"1",n:"d",s:"D"},{i:"k32",c:"1",n:"h",s:"H"},{i:"k33",c:"1",n:"t",s:"T"},{i:"k34",c:"1",n:"n",s:"N"},{i:"k35",c:"1",n:"s",s:"S"},{i:"k36",c:"0",n:"-",s:"_"},{i:"k37",c:"0",n:";",s:":"},{i:"k38",c:"1",n:"q",s:"Q"},{i:"k39",c:"1",n:"j",s:"J"},{i:"k40",c:"1",n:"k",s:"K"},{i:"k41",c:"1",n:"x",s:"X"},{i:"k42",c:"1",n:"b",s:"B"},{i:"k43",c:"1",n:"m",s:"M"},{i:"k44",c:"1",n:"w",s:"W"},{i:"k45",c:"1",n:"v",s:"V"},{i:"k46",c:"1",n:"z",s:"Z"},{i:"k47",c:"0",n:"\\",s:"|"}],deadkeys:[]}},{Id:"ukqwerty",Name:"UK Qwerty",Json:{name:"UK Qwerty",dir:"ltr",keys:[{i:"k0",c:"0",n:"`",s:"¬",t:"¦"},{i:"k1",c:"0",n:"1",s:"!"},{i:"k2",c:"0",n:"2",s:'"'},{i:"k3",c:"0",n:"3",s:"£"},{i:"k4",c:"0",n:"4",s:"$",t:"€"},{i:"k5",c:"0",n:"5",s:"%"},{i:"k6",c:"0",n:"6",s:"^"},{i:"k7",c:"0",n:"7",s:"&"},{i:"k8",c:"0",n:"8",s:"*"},{i:"k9",c:"0",n:"9",s:"("},{i:"k10",c:"0",n:"0",s:")"},{i:"k11",c:"0",n:"-",s:"_"},{i:"k12",c:"0",n:"=",s:"+"},{i:"k13",c:"1",n:"q",s:"Q"},{i:"k14",c:"1",n:"w",s:"W"},{i:"k15",c:"5",n:"e",s:"E",t:"é"},{i:"k16",c:"1",n:"r",s:"R"},{i:"k17",c:"1",n:"t",s:"T"},{i:"k18",c:"1",n:"y",s:"Y"},{i:"k19",c:"5",n:"u",s:"U",t:"ú"},{i:"k20",c:"5",n:"i",s:"I",t:"í"},{i:"k21",c:"5",n:"o",s:"O",t:"ó"},{i:"k22",c:"1",n:"p",s:"P"},{i:"k23",c:"0",n:"[",s:"{"},{i:"k24",c:"0",n:"]",s:"}"},{i:"k25",c:"0",n:"#",s:"~"},{i:"k26",c:"5",n:"a",s:"A",t:"á"},{i:"k27",c:"1",n:"s",s:"S"},{i:"k28",c:"1",n:"d",s:"D"},{i:"k29",c:"1",n:"f",s:"F"},{i:"k30",c:"1",n:"g",s:"G"},{i:"k31",c:"1",n:"h",s:"H"},{i:"k32",c:"1",n:"j",s:"J"},{i:"k33",c:"1",n:"k",s:"K"},{i:"k34",c:"1",n:"l",s:"L"},{i:"k35",c:"0",n:";",s:":"},{i:"k36",c:"0",n:"'",s:"@"},{i:"k37",c:"1",n:"z",s:"Z"},{i:"k38",c:"1",n:"x",s:"X"},{i:"k39",c:"1",n:"c",s:"C"},{i:"k40",c:"1",n:"v",s:"V"},{i:"k41",c:"1",n:"b",s:"B"},{i:"k42",c:"1",n:"n",s:"N"},{i:"k43",c:"1",n:"m",s:"M"},{i:"k44",c:"0",n:",",s:"<"},{i:"k45",c:"0",n:".",s:">"},{i:"k46",c:"0",n:"/",s:"?"},{i:"k47",c:"0",n:"\\",s:"|"}],deadkeys:[]}},{Id:"usextended",Name:"US Extended",Json:{name:"US International",dir:"ltr",keys:[{i:"k0",c:"0",n:"`",s:"~"},{i:"k1",c:"0",n:"1",s:"!",t:"¡"},{i:"k2",c:"0",n:"2",s:"@",t:"²"},{i:"k3",c:"0",n:"3",s:"#",t:"³"},{i:"k4",c:"0",n:"4",s:"$",t:"¤"},{i:"k5",c:"0",n:"5",s:"%",t:"€"},{i:"k6",c:"0",n:"6",s:"^",t:"¼"},{i:"k7",c:"0",n:"7",s:"&",t:"½"},{i:"k8",c:"0",n:"8",s:"*",t:"¾"},{i:"k9",c:"0",n:"9",s:"(",t:"‘"},{i:"k10",c:"0",n:"0",s:")",t:"’"},{i:"k11",c:"0",n:"-",s:"_",t:"¥"},{i:"k12",c:"0",n:"=",s:"+",t:"×"},{i:"k13",c:"5",n:"q",s:"Q",t:"ä"},{i:"k14",c:"5",n:"w",s:"W",t:"å"},{i:"k15",c:"5",n:"e",s:"E",t:"é"},{i:"k16",c:"1",n:"r",s:"R",t:"®"},{i:"k17",c:"5",n:"t",s:"T",t:"þ"},{i:"k18",c:"5",n:"y",s:"Y",t:"ü"},{i:"k19",c:"5",n:"u",s:"U",t:"ú"},{i:"k20",c:"5",n:"i",s:"I",t:"í"},{i:"k21",c:"5",n:"o",s:"O",t:"ó"},{i:"k22",c:"5",n:"p",s:"P",t:"ö"},{i:"k23",c:"0",n:"[",s:"{",t:"«"},{i:"k24",c:"0",n:"]",s:"}",t:"»"},{i:"k25",c:"0",n:"\\",s:"|",t:"¬"},{i:"k26",c:"5",n:"a",s:"A",t:"á"},{i:"k27",c:"1",n:"s",s:"S",t:"ß"},{i:"k28",c:"5",n:"d",s:"D",t:"ð"},{i:"k29",c:"1",n:"f",s:"F"},{i:"k30",c:"1",n:"g",s:"G"},{i:"k31",c:"1",n:"h",s:"H"},{i:"k32",c:"1",n:"j",s:"J"},{i:"k33",c:"1",n:"k",s:"K"},{i:"k34",c:"5",n:"l",s:"L",t:"ø"},{i:"k35",c:"0",n:";",s:":",t:"¶"},{i:"k36",c:"0",n:"'",s:'"',t:"´"},{i:"k37",c:"5",n:"z",s:"Z",t:"æ"},{i:"k38",c:"1",n:"x",s:"X"},{i:"k39",c:"1",n:"c",s:"C",t:"©"},{i:"k40",c:"1",n:"v",s:"V"},{i:"k41",c:"1",n:"b",s:"B"},{i:"k42",c:"5",n:"n",s:"N",t:"ñ"},{i:"k43",c:"1",n:"m",s:"M",t:"µ"},{i:"k44",c:"4",n:",",s:"<",t:"ç"},{i:"k45",c:"0",n:".",s:">"},{i:"k46",c:"0",n:"/",s:"?",t:"¿"},{i:"k47",c:"0",n:"\\",s:"|"}],deadkeys:[{k:"~",b:"n",c:"ñ"},{k:"'",b:"C",c:"Ç"},{k:"'",b:"U",c:"Ú"},{k:"'",b:"'",c:"'"},{k:"~",b:"A",c:"Ã"},{k:"~",b:"~",c:"~"},{k:'"',b:"O",c:"Ö"},{k:"`",b:"`",c:"`"},{k:"`",b:"E",c:"È"},{k:"'",b:"E",c:"É"},{k:"~",b:"N",c:"Ñ"},{k:"`",b:"o",c:"ò"},{k:"`",b:"I",c:"Ì"},{k:'"',b:'"',c:'"'},{k:"`",b:"e",c:"è"},{k:"'",b:"y",c:"ý"},{k:"^",b:"E",c:"Ê"},{k:"^",b:"O",c:"Ô"},{k:"`",b:"U",c:"Ù"},{k:"'",b:"i",c:"í"},{k:"^",b:"i",c:"î"},{k:"'",b:"a",c:"á"},{k:"~",b:"a",c:"ã"},{k:"~",b:"O",c:"Õ"},{k:"^",b:"I",c:"Î"},{k:"^",b:"^",c:"^"},{k:'"',b:"U",c:"Ü"},{k:"^",b:"o",c:"ô"},{k:"'",b:"O",c:"Ó"},{k:'"',b:"e",c:"ë"},{k:'"',b:"o",c:"ö"},{k:'"',b:"i",c:"ï"},{k:'"',b:"A",c:"Ä"},{k:'"',b:"I",c:"Ï"},{k:'"',b:"u",c:"ü"},{k:"'",b:"Y",c:"Ý"},{k:"`",b:"A",c:"À"},{k:"^",b:"a",c:"â"},{k:"'",b:"e",c:"é"},{k:"'",b:"A",c:"Á"},{k:"^",b:"A",c:"Â"},{k:"^",b:"e",c:"ê"},{k:"`",b:"i",c:"ì"},{k:"'",b:"c",c:"ç"},{k:"`",b:"O",c:"Ò"},{k:"^",b:"U",c:"Û"},{k:'"',b:"y",c:"ÿ"},{k:"^",b:"u",c:"û"},{k:'"',b:"a",c:"ä"},{k:"`",b:"u",c:"ù"},{k:"'",b:"I",c:"Í"},{k:"~",b:"o",c:"õ"},{k:"'",b:"u",c:"ú"},{k:"'",b:"o",c:"ó"},{k:"`",b:"a",c:"à"},{k:'"',b:"E",c:"Ë"}]}},{Id:"ukextended",Name:"UK Extended",Json:{name:"UK Qwerty Extended",dir:"ltr",keys:[{i:"k0",c:"0",n:"`",s:"¬",t:"¦"},{i:"k1",c:"0",n:"1",s:"!"},{i:"k2",c:"0",n:"2",s:'"',t:"¨"},{i:"k3",c:"0",n:"3",s:"£"},{i:"k4",c:"0",n:"4",s:"$",t:"€"},{i:"k5",c:"0",n:"5",s:"%"},{i:"k6",c:"0",n:"6",s:"^",t:"^"},{i:"k7",c:"0",n:"7",s:"&"},{i:"k8",c:"0",n:"8",s:"*"},{i:"k9",c:"0",n:"9",s:"("},{i:"k10",c:"0",n:"0",s:")"},{i:"k11",c:"0",n:"-",s:"_"},{i:"k12",c:"0",n:"=",s:"+"},{i:"k13",c:"1",n:"q",s:"Q"},{i:"k14",c:"5",n:"w",s:"W",t:"ẃ"},{i:"k15",c:"5",n:"e",s:"E",t:"é"},{i:"k16",c:"1",n:"r",s:"R"},{i:"k17",c:"1",n:"t",s:"T"},{i:"k18",c:"5",n:"y",s:"Y",t:"ý"},{i:"k19",c:"5",n:"u",s:"U",t:"ú"},{i:"k20",c:"5",n:"i",s:"I",t:"í"},{i:"k21",c:"5",n:"o",s:"O",t:"ó"},{i:"k22",c:"1",n:"p",s:"P"},{i:"k23",c:"0",n:"[",s:"{"},{i:"k24",c:"0",n:"]",s:"}"},{i:"k25",c:"0",n:"#",s:"~",t:"~"},{i:"k26",c:"5",n:"a",s:"A",t:"á"},{i:"k27",c:"1",n:"s",s:"S"},{i:"k28",c:"1",n:"d",s:"D"},{i:"k29",c:"1",n:"f",s:"F"},{i:"k30",c:"1",n:"g",s:"G"},{i:"k31",c:"1",n:"h",s:"H"},{i:"k32",c:"1",n:"j",s:"J"},{i:"k33",c:"1",n:"k",s:"K"},{i:"k34",c:"1",n:"l",s:"L"},{i:"k35",c:"0",n:";",s:":"},{i:"k36",c:"0",n:"'",s:"@",t:"´"},{i:"k37",c:"1",n:"z",s:"Z"},{i:"k38",c:"1",n:"x",s:"X"},{i:"k39",c:"5",n:"c",s:"C",t:"ç"},{i:"k40",c:"1",n:"v",s:"V"},{i:"k41",c:"1",n:"b",s:"B"},{i:"k42",c:"1",n:"n",s:"N"},{i:"k43",c:"1",n:"m",s:"M"},{i:"k44",c:"0",n:",",s:"<"},{i:"k45",c:"0",n:".",s:">"},{i:"k46",c:"0",n:"/",s:"?"},{i:"k47",c:"0",n:"\\",s:"|"}],deadkeys:[{k:"´",b:"A",c:"Á"},{k:"^",b:"A",c:"Â"},{k:"~",b:"a",c:"ã"},{k:"~",b:"N",c:"Ñ"},{k:"`",b:"E",c:"È"},{k:"~",b:"A",c:"Ã"},{k:"¨",b:"E",c:"Ë"},{k:"´",b:"I",c:"Í"},{k:"^",b:"Y",c:"Ŷ"},{k:"`",b:"y",c:"ỳ"},{k:"¨",b:"e",c:"ë"},{k:"¨",b:"i",c:"ï"},{k:"`",b:"W",c:"Ẁ"},{k:"^",b:"E",c:"Ê"},{k:"^",b:"e",c:"ê"},{k:"`",b:"`",c:"`"},{k:"¨",b:"U",c:"Ü"},{k:"`",b:"i",c:"ì"},{k:"`",b:"a",c:"à"},{k:"~",b:"o",c:"õ"},{k:"^",b:"U",c:"Û"},{k:"´",b:"u",c:"ú"},{k:"`",b:"A",c:"À"},{k:"´",b:"O",c:"Ó"},{k:"`",b:"o",c:"ò"},{k:"^",b:"O",c:"Ô"},{k:"`",b:"u",c:"ù"},{k:"^",b:"y",c:"ŷ"},{k:"¨",b:"Y",c:"Ÿ"},{k:"´",b:"W",c:"Ẃ"},{k:"¨",b:"y",c:"ÿ"},{k:"^",b:"a",c:"â"},{k:"^",b:"u",c:"û"},{k:"`",b:"Y",c:"Ỳ"},{k:"´",b:"y",c:"ý"},{k:"~",b:"O",c:"Õ"},{k:"¨",b:"w",c:"ẅ"},{k:"^",b:"w",c:"ŵ"},{k:"¨",b:"¨",c:"¨"},{k:"^",b:"W",c:"Ŵ"},{k:"´",b:"´",c:"´"},{k:"´",b:"U",c:"Ú"},{k:"´",b:"w",c:"ẃ"},{k:"¨",b:"o",c:"ö"},{k:"¨",b:"W",c:"Ẅ"},{k:"´",b:"a",c:"á"},{k:"`",b:"O",c:"Ò"},{k:"`",b:"e",c:"è"},{k:"´",b:"E",c:"É"},{k:"´",b:"e",c:"é"},{k:"`",b:"U",c:"Ù"},{k:"´",b:"o",c:"ó"},{k:"^",b:"i",c:"î"},{k:"~",b:"~",c:"~"},{k:"^",b:"I",c:"Î"},{k:"`",b:"I",c:"Ì"},{k:"´",b:"i",c:"í"},{k:"¨",b:"A",c:"Ä"},{k:"´",b:"Y",c:"Ý"},{k:"`",b:"w",c:"ẁ"},{k:"~",b:"n",c:"ñ"},{k:"^",b:"^",c:"^"},{k:"¨",b:"O",c:"Ö"},{k:"¨",b:"a",c:"ä"},{k:"¨",b:"I",c:"Ï"},{k:"¨",b:"u",c:"ü"},{k:"^",b:"o",c:"ô"}]}}];if(k.length==1){g.loadVirtualLayout(k[0].Json)}else{var h=[];var l=[];if(!n.layout){n.layout=k[0].Id}var m=false;for(var c=0;c<k.length;c++){h.push("<label",(c>0?' style="margin-left:2em"':""),'><input id="',k[c].Id,'" name=type type=radio',(n.layout==k[c].Id?' checked="checked"':""),"> ",k[c].Name,"</label>");l[c]=new a.layout();l[c].load(k[c].Json);if(n.layout==k[c].Id){g.loadVirtualLayout(k[c].Json);m=true}}if(m==false){g.loadVirtualLayout(k[0].Json)}var j=document.createElement("p");j.innerHTML=h.join("");document.getElementById("keyboard").appendChild(j);for(var c=0;c<k.length;c++){var q=function(e,i){document.getElementById(e).onclick=function(){if(n.layout!=e){g.virtualLayout=i;g.currentLayout=g.virtualLayout;g.reset();g.drawKeyboard();g.textbox.style.direction=i.dir;n.layout=e;if(o&&f){localStorage.setItem(s,JSON.stringify(n))}}g.textbox.focus()}}(k[c].Id,l[c])}}if(n.fontSize==null){n.fontSize=g.getFontSize();if(o&&f){localStorage.setItem(s,JSON.stringify(n))}}document.getElementById("shrink").onclick=function(){if(n.fontSize<14){return}n.fontSize-=2;g.setFontSize(n.fontSize);g.drawKeyboard();if(o&&f){localStorage.setItem(s,JSON.stringify(n))}r.focus()};document.getElementById("enlarge").onclick=function(){if(n.fontSize>36){return}n.fontSize+=2;g.setFontSize(n.fontSize);g.drawKeyboard();if(o&&f){localStorage.setItem(s,JSON.stringify(n))}r.focus()};document.getElementById("email").onclick=function(){this.href="mailto: ?body="+r.value;r.focus();return true};document.getElementById("selectAll").onclick=function(){a.util.setCaretPosition(r,0,r.value.length);ga("send","event","Keyboard","click","Select");r.focus()};document.getElementById("copy").onclick=function(){a.util.setCaretPosition(r,0,r.value.length);var e=document.execCommand("copy");if(e){a.util.setCaretPosition(r,r.value.length,r.value.length);ga("send","event","Keyboard","click","Copy")}else{alert("Your browser does not allow automated copy. To copy the text in the text area, you can click Select All button and right click on the selected text. Then click the Copy option.");ga("send","event","Keyboard","click","Copy Fail")}r.focus()};if(o&&f){if(n.undo.length>0){r.value=n.undo.pop()}document.getElementById("clearAll").onclick=function(){if(r.value.length<10||confirm("Are you sure you want to clear all the text?")){ga("send","event","Keyboard","click","Clear");n.undo=[];n.redo=[];localStorage.setItem(s,JSON.stringify(n));r.value=""}r.focus()};document.getElementById("undo").onclick=function(){if(n.undo.length==0){return}var e=n.undo.pop();if(e!=r.value){n.redo.push(r.value);r.value=e}else{r.value=(n.undo.length==0?"":n.undo[n.undo.length-1]);n.redo.push(e)}localStorage.setItem(s,JSON.stringify(n));r.focus()};document.getElementById("redo").onclick=function(){if(n.redo.length==0){return}var e=n.redo.pop();r.value=e;n.undo.push(e);localStorage.setItem(s,JSON.stringify(n));r.focus()};setInterval(function(){var e=r.value;if(n.undo.length==0&&e.length==0){return}if(n.undo.length==0||e!=n.undo[n.undo.length-1]){n.undo.push(e);localStorage.setItem(s,JSON.stringify(n))}},3000)}else{document.getElementById("undo").style.display="none";document.getElementById("redo").style.display="none";document.getElementById("clearAll").style.display="none"}document.getElementById("postToTwitter").onclick=function(){ga("send","event","Keyboard","click","Twitter");document.getElementById("postToTwitter").href="https://twitter.com/intent/tweet?text="+encodeURIComponent(r.value);r.focus();return true};document.getElementById("searchGoogle").onclick=function(){ga("send","event","Keyboard","click","Google");document.getElementById("searchGoogle").href="https://www.google.com/search?ie=UTF-8&q="+encodeURIComponent(r.value);r.focus();return true};document.getElementById("translateGoogle").style.display="none";document.getElementById("saveAsTextFile").onsubmit=function(){ga("send","Keyboard","Save","send",(r.value.length>0?"valid":"invalid"));document.getElementById("data").value=r.value;r.focus();return true}})();</script>