UrduPhonetic.Keys['a']=new Key(0x0627, 0x0622, 0x0623);
UrduPhonetic.Keys['b']=new Key(0x0628, 0x0628, 0x202E);
UrduPhonetic.Keys['c']=new Key(0x0686, 0x062B, 0x202A);
UrduPhonetic.Keys['d']=new Key(0x062F, 0x0688);
UrduPhonetic.Keys['e']=new Key(0x0639, 0x0651, 0x0611);
UrduPhonetic.Keys['f']=new Key(0x0641, 0x64D);
UrduPhonetic.Keys['g']=new Key(0x06AF, 0x063A);
UrduPhonetic.Keys['h']=new Key(0x06BE, 0x062D, 0x0612);
UrduPhonetic.Keys['i']=new Key(0x06CC, 0x0670, 0x656);
UrduPhonetic.Keys['j']=new Key(0x062C, 0x0636);
UrduPhonetic.Keys['k']=new Key(0x06A9, 0x062E);
UrduPhonetic.Keys['l']=new Key(0x0644, 0x064C);
UrduPhonetic.Keys['m']=new Key(0x0645, 0x64B, 0x200F);
UrduPhonetic.Keys['n']=new Key(0x0646, 0x06BA, 0x202B);
UrduPhonetic.Keys['o']=new Key(0x06C1, 0x06C3, 0x06C2);
UrduPhonetic.Keys['p']=new Key(0x067E, 0x064F);
UrduPhonetic.Keys['q']=new Key(0x0642);
UrduPhonetic.Keys['r']=new Key(0x0631, 0x0691, 0x0613);
UrduPhonetic.Keys['s']=new Key(0x0633 , 0x0635, 0x610);
UrduPhonetic.Keys['t']=new Key(0x062A , 0x0679);
UrduPhonetic.Keys['u']=new Key(0x0626 , 0x0621);
UrduPhonetic.Keys['v']=new Key(0x0637, 0x0638, 0x202C);
UrduPhonetic.Keys['w']=new Key(0x0648, 0x0624, 0xFDFA);
UrduPhonetic.Keys['x']=new Key(0x0634, 0x0698, 0x202D);
UrduPhonetic.Keys['y']=new Key(0x06D2, 0x0601);
UrduPhonetic.Keys['z']=new Key(0x0632, 0x0630, 0x200E);
UrduPhonetic.AddKey('1', 0x0031, charCode('!'), 0x661);
UrduPhonetic.AddKey('2', 0x0032, charCode('@'), 0x662);
UrduPhonetic.AddKey('3', 0x0033, charCode('#'), 0x663);
UrduPhonetic.AddKey('4', 0x0034, charCode('$'), 0x664);
UrduPhonetic.AddKey('5', 0x0035, charCode('%'), 0x665);
UrduPhonetic.AddKey('6', 0x0036, charCode('^'), 0x666);
UrduPhonetic.AddKey('7', 0x0037, charCode('&'), 0x667);
UrduPhonetic.AddKey('8', 0x0038, charCode('*'), 0x668);
UrduPhonetic.AddKey('9', 0x0039, charCode('('), 0x669);
UrduPhonetic.AddKey('0', 0x0030, charCode(')'), 0x661);
UrduPhonetic.Keys['=']=new Key(0x0602);
UrduPhonetic.Keys['-']=new Key(0x002D);
UrduPhonetic.Keys[',']=new Key(0x060C);
UrduPhonetic.Keys[_s(46)]=new Key(0x06D4);
UrduPhonetic.Keys['/']=new Key(0x002F);
UrduPhonetic.Keys['\']=new Key(0x060E);
UrduPhonetic.Keys[';']=new Key(0x061B);
UrduPhonetic.Keys['[']=new Key(0x201C);
UrduPhonetic.Keys[']']=new Key(0x201D);
UrduPhonetic.Keys[charSingleQuote]=new Key(39);
UrduPhonetic.Keys['~']=new Key(0x64C); //(0x0653);
UrduPhonetic.Keys[' ']=new Key(32);
UrduPhonetic.Keys['<']=new Key(0x064E);
UrduPhonetic.Keys['´']=new Key(0x0657);
UrduPhonetic.Shifted['!']=charCode('!');
UrduPhonetic.Shifted['@']=0x0600;
UrduPhonetic.Shifted['#']=0x0654;
UrduPhonetic.Shifted['$']=0x0655;
UrduPhonetic.Shifted['%']=0x060F;
UrduPhonetic.Shifted['^']=0x0652;
UrduPhonetic.Shifted['~']=0x064C;
//UrduPhonetic.Shifted['&']=0x00BB;
UrduPhonetic.Shifted['*']=0x064C;
UrduPhonetic.Shifted['(']=0x0029;
UrduPhonetic.Shifted[')']=0x0028;
UrduPhonetic.Shifted['+']=0x0614;
UrduPhonetic.Shifted['_']=0x0640;
UrduPhonetic.Shifted['>']=0x0650;
UrduPhonetic.Shifted['<']=0x064E;
UrduPhonetic.Shifted['?']=0x061F;
UrduPhonetic.Shifted['|']=0x0603;
UrduPhonetic.Shifted['{']=0x2018;
UrduPhonetic.Shifted['}']=0x2019;
UrduPhonetic.Shifted[charDoubleQuote]=0x0022;
UrduPhonetic.Shifted['~']=0x0653;
UrduPhonetic.Shifted[':']=0x003A;
UrduPhonetic.Shifted[';']=0x061B;
UrduPhonetic.Shifted[' ']=0x200C;
UrduPhonetic.AltGr['[']=0x201C;
UrduPhonetic.AltGr[']']=0x201D;
UrduPhonetic.AltGr['{']=0x2018;
UrduPhonetic.AltGr['}']=0x2019;