package Ġcom . r kb k 6 0 . quick f lick . domain Ċ Ċ import Ġcom . r kb k 6 0 . quick f lick . model .* Ċ Ċ /** Ċ Ġ* ĠFactory Ġand Ġcontroller Ġfor ĠKey map . Ċ Ġ*/ Ċ class ĠKey map Controller Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTarget Ġkey map Ġto Ġmanage Ġby Ġthis . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġkey map Ġ= ĠKey map () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġgenerate Char Key map () ĊĠĠĠĠĠĠĠ Ġgenerate Un Char Key map () ĊĠĠĠĠĠĠĠ Ġgenerate Arrow Key map ( Arrow Key . Mode . DEFAULT ) ĊĠĠĠĠĠĠĠ Ġgenerate Fn Key map () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġarrow Ġkey Ġkey map Ġwith Ġcurrent Ġmode . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate Arrow Key map ( mode : ĠArrow Key . Mode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgenerate Arrow Key map ( mode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFinds Ġstored ĠKey Info Ġfrom Ġkey map Ġwith Ġindex Ġand ĠF lick . ĊĠĠĠĠ Ġ* ĠWhen Ġkey map Ġhave Ġnot Ġdefined Ġor Ġcan 't Ġfind Ġmatching ĠKey Info , ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġwill Ġreturn ĠKey Info . NULL . ĊĠĠĠĠ Ġ* Ġ@ param Ġindex Ġindex Ġcode Ġof Ġkey map Ġ( equal Ġto ĠKeyboard . Key . codes ) ĊĠĠĠĠ Ġ* Ġ@ param Ġf lick Ġf lick Ġobject Ġthat Ġhas Ġcurrent Ġf lick Ġinformation ĊĠĠĠĠ Ġ* Ġ@ return ĠKey Info Ġmatching Ġ[ index ] Ġand Ġ[ f lick ], Ġor ĠKey Info . NULL ĊĠĠĠĠ Ġ* Ġ@ see ĠKey map . getKey ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetKey ( index : ĠInt , Ġf lick : ĠF lick ): ĠKey Info Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey map . getKey ( index , Ġf lick ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġmax Ġdistance Ġthat Ġcan Ġfind ĠKey Info Ġin Ġkey map Ġmatching Ġparameters . ĊĠĠĠĠ Ġ* ĠIf Ġthere Ġaren 't Ġmatching Ġkey map Ġor ĠKey Info , Ġit Ġwill Ġbe Ġreturn Ġ 0 . ĊĠĠĠĠ Ġ* Ġ@ param Ġindex Ġindex Ġcode Ġof Ġkey map Ġ( equal Ġto ĠKeyboard . Key . codes ) ĊĠĠĠĠ Ġ* Ġ@ param Ġdirection Ġindex Ġdirection ĊĠĠĠĠ Ġ* Ġ@ return Ġmax Ġdistance ĊĠĠĠĠ Ġ* Ġ@ see ĠKey map . getMax Distance ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetMax Distance ( index : ĠInt , Ġdirection : ĠF lick . Direction ): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey map . getMax Distance ( index , Ġdirection ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġmax Ġdistance Ġthat Ġcan Ġfind Ġany ĠKey Info Ġin Ġall Ġkey map . ĊĠĠĠĠ Ġ* Ġ@ return Ġmax Ġdistance ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetMax Distance (): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey map . getMax Distance () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines ĠAsc ii Key Info . Char Key Ġto Ġkey map . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġgenerate Char Key map () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey map . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . D 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 1 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . EXCL AM ATION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . AT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 1 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . PO UND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . DO LL AR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . E 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . SPACE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 1 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . PERCENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . C ARE T ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 1 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . AMP ERS AND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . STAR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . C 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 2 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . PERIOD ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . COMMA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 2 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . QUEST ION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . SL ASH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . D 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ A ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ A ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ B ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ B ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ C ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ C ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . UNDER SCORE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . MINUS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . E 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ D ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ D ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ E ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ E ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . PLUS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . EQUAL S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . C 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ G ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ G ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ H ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ H ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ I ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ I ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . COL ON ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . SE MIC OL ON ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . D 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ J ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ J ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ K ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ K ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ L ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ L ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . A POST ROP HE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . D IT TO ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . E 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ M ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ M ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ N ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ N ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . BAR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . BACK SL ASH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . B 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . BRACK ET 1 _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . BRACK ET 2 _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . BRACK ET 3 _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . BRACK ET 4 _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . C 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ P ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ P ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ Q ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ Q ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ R ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ R ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . LARGE _ S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . SMALL _ S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . D 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ T ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ T ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ U ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ U ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ V ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ V ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . T IL DE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . D 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . GR AVE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . E 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . NUM _ 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . LARGE _ W ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . SMALL _ W ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LARGE _ X ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SMALL _ X ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . LARGE _ Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SMALL _ Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . LARGE _ Z ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . E 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . SMALL _ Z ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . F 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . BRACK ET 1 _ RIGHT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . BRACK ET 2 _ RIGHT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . BRACK ET 3 _ RIGHT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . BRACK ET 4 _ RIGHT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines ĠAsc ii Key Info . Un Char Key ( except Ġdirections , ĠMOVE _ HOME / END , ĠPAGE _ UP / END ) Ġand ĠMod Key Info Ġto Ġkey map . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġgenerate Un Char Key map () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey map . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . B 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . ESCAPE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . F 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . TAB ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . SHIFT _ TAB ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 1 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 1 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . SHIFT _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . B 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 2 , ĠF lick . Direction . NONE , Ġ ĠMod Key Info . META ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 2 , ĠF lick . Direction . RIGHT , ĠMod Key Info . META _ LOCK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 2 , ĠF lick . Direction . DOWN , Ġ ĠMod Key Info . ALT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 2 , ĠF lick . Direction . UP , ĠĠĠ ĠMod Key Info . ALT _ LOCK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . F 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . FORWARD _ DEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . B 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 3 , ĠF lick . Direction . NONE , Ġ ĠMod Key Info . CTRL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 3 , ĠF lick . Direction . RIGHT , ĠMod Key Info . CTRL _ LOCK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 3 , ĠF lick . Direction . DOWN , Ġ ĠMod Key Info . ALT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . B 3 , ĠF lick . Direction . UP , ĠĠĠ ĠMod Key Info . ALT _ LOCK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . F 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . F 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . BACK _ DEL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines ĠLEFT , ĠRIGHT , ĠUP , ĠDOWN , ĠMOVE _ HOME / END , Ġand ĠPAGE _ UP / END ĠKey Info Ġto Ġkey map . ĊĠĠĠĠ Ġ* Ġ@ param Ġmode Ġcurrent Ġarrow Ġkey Ġmode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġgenerate Arrow Key map ( mode : ĠArrow Key . Mode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkey map . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . C 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . NONE , ĠTrigger Key Info . ARROW KEY _ MODE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArrow Key . Mode . DEFAULT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . DOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . RIGHT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArrow Key . Mode . PAGE _ MOVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . DOWN , Ġ ĠAsc ii Key Info . PAGE _ DOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . MOVE _ HOME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . UP , ĠĠĠ ĠAsc ii Key Info . PAGE _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . C 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . MOVE _ END ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDefines ĠF 1 - F 1 2 ĠKey Info Ġand ĠTrigger Key Info Ġto Ġkey map . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġgenerate Fn Key map () Ġ{ ĊĠĠĠĠĠĠĠ Ġkey map . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . A 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 1 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 1 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 1 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . G 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 1 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 1 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 1 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 1 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . A 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 2 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 2 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 2 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . G 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 2 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 2 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 2 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 2 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . A 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 3 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 3 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 3 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . G 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 3 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 3 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 3 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 3 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . A 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 1 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 4 , ĠF lick . Direction . RIGHT , ĠAsc ii Key Info . F 1 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 4 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . A 4 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear ( Key Index . G 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 4 , ĠF lick . Direction . NONE , Ġ ĠAsc ii Key Info . F 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 1 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 4 , ĠF lick . Direction . LEFT , Ġ ĠAsc ii Key Info . F 1 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 4 , ĠF lick . Direction . UP , ĠĠĠ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Key Index . G 4 , ĠF lick . Direction . DOWN , Ġ ĠTrigger Key Info . KEY BOARD _ LAYOUT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ