//keys.js var gEdt; //Called when application is started. function OnStart() { //Create a layout with objects vertically centered. lay = app.CreateLayout("linear", "Vcenter,FillXY"); //Create a text edit and add it to layout. edt = app.CreateTextEdit("Hello"); edt.SetTextSize(32); lay.AddChild(edt); //Create a checkbox for overstrike mode chkOvertype = app.CreateCheckBox("Overtype"); lay.AddChild(chkOvertype); //create a horizontal layout for special characters lay_keys = app.CreateLayout("linear", "Horizontal,FillY"); btns = [] var ks = '{}[]();#"' + "'" for (i = 0; i < ks.length; i++) { var ch = ks.charAt(i); btn = app.CreateButton(ch); btn.SetOnTouch(btn_OnTouch); lay_keys.AddChild(btn); btns.push(btn); } lay.AddChild(lay_keys); //Add layout to app. app.AddLayout(lay); gEdt = edt; } function btn_OnTouch() { var s = this.GetText(); var pos = gEdt.GetCursorPos(); var theEnd = gEdt.GetText().length; if (!chkOvertype.GetChecked()) { gEdt.InsertText(s, pos); } else { gEdt.ReplaceText(s, pos, Math.min(pos + s.length, theEnd)); gEdt.SetCursorPos(pos + s.length); } }