package Ġcom . synt ext _ error . demo Key Board . components . keyboard . controllers Ċ Ċ import Ġandroid . view . input method . Input Connection ĊĊ Ċ open Ġclass ĠDefault Keyboard Controller ( input Connection : ĠInput Connection ): ĊĠĠĠĠĠĠĠ ĠKeyboard Controller ( input Connection ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDefault Ġcontroller Ġcharacter Ġlengths Ġshould Ġbe Ġset Ġas Ġan Ġattribute Ġof Ġtheir ĠEditText ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ CHAR ACT ERS : ĠInt Ġ= ĠInt . MAX _ VALUE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle KeyStroke ( c : ĠChar ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Character ( c ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle KeyStroke ( key : ĠKeyboard Controller . Special Key ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpecial Key . DELETE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Next Character () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpecial Key . BACK SPACE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Previous Character () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpecial Key . CLEAR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear All () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpecial Key . FORWARD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove Cursor Forward Action () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpecial Key . BACK Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmove Cursor Back Action () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġyou Ġneed Ġaccess Ġto Ġone Ġof Ġthe ĠSpecial Key 's Ġnot Ġlisted Ġhere , Ġoverride ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthis Ġmethod Ġin Ġa Ġchild Ġclass Ġand Ġimplement Ġit Ġthere . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmax Characters (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMAX _ CHAR ACT ERS ĊĠĠĠ Ġ} Ċ } Ċ