Revision: 201017 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 11 May 2010 16:31:42 +0300
branchRCL_3
changeset 18 c8fb4cf7b3ae
parent 14 e6a39382bb9c
child 19 5e18d8c489d6
Revision: 201017 Kit: 201019
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingData.h
fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp
fep/aknfep/group/AknFep.mmp
fep/aknfep/inc/AknFepManager.h
fep/aknfep/inc/AknFepPluginManager.h
fep/aknfep/inc/AknFepSharedDataInterface.h
fep/aknfep/inc/AknFepVietnameseToneManager.h
fep/aknfep/peninputplugins/PeninputPluginKr/src/peninputpluginkrcombinelistquerydialog.cpp
fep/aknfep/src/AknFepManager.cpp
fep/aknfep/src/AknFepPluginManager.cpp
fep/aknfep/src/AknFepSharedDataInterface.cpp
fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp
fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp
fep/aknfep/src/AknFepVietnameseToneManager.cpp
fep/aknfep/src/aknfepuispellcontainer.cpp
fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP
inputmethods_plat/pen_input_server_api/inc/peninputclient.h
textinput/peninputarc/bwins/peninputClientU.DEF
textinput/peninputarc/bwins/peninputlayoutcontrolU.DEF
textinput/peninputarc/eabi/peninputClientU.DEF
textinput/peninputarc/eabi/peninputlayoutcontrolU.DEF
textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputfloatctrl.h
textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h
textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.inl
textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbutton.h
textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutmultilineicf.h
textinput/peninputarc/inc/pensrvcliinc/peninputclientimpl.h
textinput/peninputarc/src/peninputclient/penclientimpl.cpp
textinput/peninputarc/src/peninputclient/peninputclient.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatbubble.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatctrl.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbasecontrol.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbutton.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrol.mmp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrolgroup.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutvkbkeyctrl.cpp
textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp
textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp
textinput/peninputcommonlayout/src/peninputlayoutwindowext.cpp
textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp
textinput/peninputfingerhwr/src/peninputfingerhwrwnd.cpp
textinput/peninputgenericitut/src/peninputgenericitutdatamgr.cpp
textinput/peninputgenericitut/src/peninputgenericitutwindow.cpp
textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp
textinput/peninputgenericitut/src/peninputitutwesternuistatespelling.cpp
textinput/peninputgenericvkb/group/bld.inf
textinput/peninputgenericvkb/src/peninputgenericlafdatamgr.cpp
textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp
textinput/peninputsplititut/inc/peninputsplititutwindowmanager.h
textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp
textinput/peninputsplititut/src/peninputsplititutlayout.cpp
textinput/peninputsplititut/src/peninputsplititutwindowmanager.cpp
textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp
textinput/peninputvkbcn/ctrlsrc/peninputvkbclientarea.cpp
textinput/peninputvkbcn/src/peninputvkblayout.cpp
textinput/peninputvkbcn/srcdata/peninputvkbcn.rss
textinput/ptienginev2/inc/PtiEngine.inl
textinput/ptienginev2/keymaps/EMU/ELangArabic.txt
textinput/ptienginev2/keymaps/EMU/ELangBrazilianPortuguese.txt
textinput/ptienginev2/keymaps/EMU/ELangBulgarian.txt
textinput/ptienginev2/keymaps/EMU/ELangCanadianFrench.txt
textinput/ptienginev2/keymaps/EMU/ELangCatalan.txt
textinput/ptienginev2/keymaps/EMU/ELangChineseLatin.txt
textinput/ptienginev2/keymaps/EMU/ELangCroatian.txt
textinput/ptienginev2/keymaps/EMU/ELangCzech.txt
textinput/ptienginev2/keymaps/EMU/ELangDanish.txt
textinput/ptienginev2/keymaps/EMU/ELangDutch.txt
textinput/ptienginev2/keymaps/EMU/ELangEnglish.txt
textinput/ptienginev2/keymaps/EMU/ELangEnglishHongKong.txt
textinput/ptienginev2/keymaps/EMU/ELangEnglishPrc.txt
textinput/ptienginev2/keymaps/EMU/ELangEstonian.txt
textinput/ptienginev2/keymaps/EMU/ELangFarsi.txt
textinput/ptienginev2/keymaps/EMU/ELangFinnish.txt
textinput/ptienginev2/keymaps/EMU/ELangFrench.txt
textinput/ptienginev2/keymaps/EMU/ELangGerman.txt
textinput/ptienginev2/keymaps/EMU/ELangGreek.txt
textinput/ptienginev2/keymaps/EMU/ELangHebrew.txt
textinput/ptienginev2/keymaps/EMU/ELangHungarian.txt
textinput/ptienginev2/keymaps/EMU/ELangIcelandic.txt
textinput/ptienginev2/keymaps/EMU/ELangIndonesian.txt
textinput/ptienginev2/keymaps/EMU/ELangItalian.txt
textinput/ptienginev2/keymaps/EMU/ELangLatinAmericanSpanish.txt
textinput/ptienginev2/keymaps/EMU/ELangLatvian.txt
textinput/ptienginev2/keymaps/EMU/ELangLithuanian.txt
textinput/ptienginev2/keymaps/EMU/ELangMalay.txt
textinput/ptienginev2/keymaps/EMU/ELangNorwegian.txt
textinput/ptienginev2/keymaps/EMU/ELangPolish.txt
textinput/ptienginev2/keymaps/EMU/ELangPortuguese.txt
textinput/ptienginev2/keymaps/EMU/ELangRomanian.txt
textinput/ptienginev2/keymaps/EMU/ELangRussian.txt
textinput/ptienginev2/keymaps/EMU/ELangSerbian.txt
textinput/ptienginev2/keymaps/EMU/ELangSlovak.txt
textinput/ptienginev2/keymaps/EMU/ELangSlovenian.txt
textinput/ptienginev2/keymaps/EMU/ELangSpanish.txt
textinput/ptienginev2/keymaps/EMU/ELangSwedish.txt
textinput/ptienginev2/keymaps/EMU/ELangTagalog.txt
textinput/ptienginev2/keymaps/EMU/ELangThai.txt
textinput/ptienginev2/keymaps/EMU/ELangThaiLatin.txt
textinput/ptienginev2/keymaps/EMU/ELangTurkish.txt
textinput/ptienginev2/keymaps/EMU/ELangUkrainian.txt
textinput/ptienginev2/keymaps/EMU/ELangUrdu.txt
textinput/ptienginev2/keymaps/EMU/ELangVietnamese.txt
textinput/ptienginev2/keymaps/EMU/KLangBasque.txt
textinput/ptienginev2/keymaps/EMU/KLangGalician.txt
textinput/ptienginev2/keymaps/EMU/Variants.txt
textinput/ptienginev2/keymaps/EMU/scan_binding.txt
textinput/ptienginev2/languages/102072F3.rss
textinput/ptienginev2/languages/102818A5.rss
textinput/ptienginev2/languages/102818A6.rss
textinput/ptienginev2/languages/102818A7.rss
textinput/ptienginev2/languages/102818A8.rss
textinput/ptienginev2/languages/102818A9.rss
textinput/ptienginev2/languages/102818AA.rss
textinput/ptienginev2/languages/102818AB.rss
textinput/ptienginev2/languages/102818AC.rss
textinput/ptienginev2/languages/102818AD.rss
textinput/ptienginev2/languages/102818AE.rss
textinput/ptienginev2/languages/102818AF.rss
textinput/ptienginev2/languages/102818B0.rss
textinput/ptienginev2/languages/102818B1.rss
textinput/ptienginev2/languages/102818B2.rss
textinput/ptienginev2/languages/102818B9.rss
textinput/ptienginev2/languages/102818BA.rss
textinput/ptienginev2/languages/102818BB.rss
textinput/ptienginev2/languages/102818BC.rss
textinput/ptienginev2/languages/10281B72.rss
textinput/ptienginev2/languages/10281B74.rss
textinput/ptienginev2/languages/10281B76.rss
textinput/ptienginev2/languages/10281B78.rss
textinput/ptienginev2/languages/10281B7A.rss
textinput/ptienginev2/languages/10281B7C.rss
textinput/ptienginev2/languages/10281B7E.rss
textinput/ptienginev2/languages/10281B80.rss
textinput/ptienginev2/languages/10281B82.rss
textinput/ptienginev2/languages/10281B84.rss
textinput/ptienginev2/languages/10281B88.rss
textinput/ptienginev2/languages/10281B89.rss
textinput/ptienginev2/languages/10281B8D.rss
textinput/ptienginev2/languages/10281B8E.rss
textinput/ptienginev2/languages/10281B8F.rss
textinput/ptienginev2/languages/10281B90.rss
textinput/ptienginev2/languages/10281B92.rss
textinput/ptienginev2/languages/10281B93.rss
textinput/ptienginev2/languages/10281B94.rss
textinput/ptienginev2/languages/10281B95.rss
textinput/ptienginev2/languages/10281B96.rss
textinput/ptienginev2/languages/10281B97.rss
textinput/ptienginev2/languages/10282545.rss
textinput/ptienginev2/languages/10282547.rss
textinput/ptienginev2/languages/10282549.rss
textinput/ptienginev2/languages/1028255C.rss
textinput/ptienginev2/languages/10282562.rss
textinput/ptienginev2/languages/10282568.rss
textinput/ptienginev2/languages/2000B17D.rss
textinput/ptienginev2/languages/2001FDFA.rss
textinput/ptienginev2/languages/2002BC83.rss
textinput/ptienginev2/languages/2002BC85.rss
textinput/ptienginev2/languages/PtiFactory_ITUT_01.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_02.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_03.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_04.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_05.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_06.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_157.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_161.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_51.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_76.cpp
textinput/ptienginev2/languages/PtiFactory_ITUT_83.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.mmp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.cpp
textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.h
textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.mmp
textinput/ptienginev2/languages/bld.inf
textinput/ptienginev2/src/PtiEngineImpl.cpp
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingData.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingData.h	Tue May 11 16:31:42 2010 +0300
@@ -34,7 +34,7 @@
 #define __AKN_FEP_PREDICTIVESETTING_DATA_H
 
 #include <e32base.h>
-#include <ptidefs.h>
+#include <PtiDefs.h>
 
 /**
  * Class: 		CAknFepPredictiveSettingData
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonImpl.cpp	Tue May 11 16:31:42 2010 +0300
@@ -495,7 +495,9 @@
         HBufC* buf = CEikonEnv::Static()->AllocReadResourceLC(aTextResId);
         if( buf->Des().Length() > 1 && EMiddleSoftkeyIndex != aPosition )
             {
-            iCba->SetCommandL(aPosition, aCommandId, buf->Des().Mid(1));                    
+            iCba->SetCommandL(aPosition, aCommandId, buf->Des().Mid(1));  
+            CEikCba *eikcba = static_cast<CEikCba*>( iCba->ButtonGroup() );
+            eikcba->EnableItemSpecificSoftkey( EFalse );                             
             }
         else
             {           
--- a/fep/aknfep/group/AknFep.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/group/AknFep.mmp	Tue May 11 16:31:42 2010 +0300
@@ -334,6 +334,13 @@
 #ifdef RD_SCALABLE_UI_V2
 LIBRARY    aknnotify.lib
 #endif //RD_SCALABLE_UI_V2
+
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
+LIBRARY         aknlistloadertfx.lib
+LIBRARY         akntransitionutils.lib
+LIBRARY         gfxtrans.lib
+#endif //RD_UI_TRANSITION_EFFECTS_LIST
+
 START WINS
 BASEADDRESS     0x70500000
 END
--- a/fep/aknfep/inc/AknFepManager.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/inc/AknFepManager.h	Tue May 11 16:31:42 2010 +0300
@@ -2759,9 +2759,6 @@
     // Save that which editor use stroke
     CAknEdwinState* iEditorStateStrokeUsed;
 
-    // Indicated focus change has done in closing SCT, the call back from framework
-    // will not lead to another focus change.
-    TBool iDisalbleFocusChangeForSCT;
 #endif //RD_SCALABLE_UI_V2
 
     /**
--- a/fep/aknfep/inc/AknFepPluginManager.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/inc/AknFepPluginManager.h	Tue May 11 16:31:42 2010 +0300
@@ -446,7 +446,6 @@
      */
     void RemoveLastFocusedWinFromOpenList();
     
-    void SetInSpellModeFlag( TBool aFlag );
 public: // inline    
     
     /**
@@ -539,6 +538,8 @@
      * @return current plugin input mode
      */      
     inline TPluginInputMode CurrentPluginInputMode();
+    
+    inline void SetLaunchSCTInSpell( TBool aLaunchSCTInSpell );
 private: 
 
     /**
@@ -1057,8 +1058,7 @@
 	
 	TInt iAlignment;
 
-    CConnectAo* iConnectAo;
-    TBool iInSpellMode;
+    CConnectAo* iConnectAo;    
 	
     /**
      * Indicate if need fetch the dim state from peninputserver
@@ -1069,6 +1069,8 @@
      * save the current dim state
      */ 	
     TBool iCurrentDimState;
+    
+    TBool iLaunchSCTInSpell;
     };
 
 class CConnectAo : public CActive
@@ -1239,6 +1241,11 @@
 	return iPluginInputMode;
 	}
 
+inline void CAknFepPluginManager::SetLaunchSCTInSpell( TBool aLaunchSCTInSpell )
+	{
+	iLaunchSCTInSpell = aLaunchSCTInSpell;
+	}
+
 #endif //RD_SCALABLE_UI_V2    
 
 #endif // __AKN_FEP_PLUGIN_MANAGER__
--- a/fep/aknfep/inc/AknFepSharedDataInterface.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/inc/AknFepSharedDataInterface.h	Tue May 11 16:31:42 2010 +0300
@@ -30,9 +30,11 @@
 #define _AKNFEP_SHARED_DATA_INT_H__
 
 #include <e32base.h>
-#include <ptidefs.h>
+#include <PtiDefs.h>
 #include <e32property.h>
 #include <cenrepnotifyhandler.h>
+#include <pslninternalcrkeys.h>
+
 class CRepository;
 
 class CAknFepRepositoryWatcher : public CBase, public MCenRepNotifyHandlerCallback
@@ -503,6 +505,8 @@
     void SetFepLastUseVkbModeForLandscape(TInt aValue);
 
     TBool AutoRotateEnabled();
+    
+    TBool ThemeEffectsEnabled();
 #ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
 #ifdef RD_INTELLIGENT_TEXT_INPUT
 	/**
@@ -736,6 +740,7 @@
     CRepository*                iGsPenSettings;   //for global setting 
     CRepository*				iLocaleRepository; // locale related settings
     CRepository*                iSensorRepository;
+    CRepository*                iThemeEffectsRepository;//transition effects
     CAknFepRepositoryWatcher*   iAknFepRepositoryWatcher;
     CAknFepRepositoryWatcher*   iAknFepLocaleRepositoryWatcher;
 
--- a/fep/aknfep/inc/AknFepVietnameseToneManager.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/inc/AknFepVietnameseToneManager.h	Tue May 11 16:31:42 2010 +0300
@@ -131,6 +131,54 @@
      * Judge if the current state is looping or not
      */
     inline TText GetDeletedVowel() const;
+    
+    /**
+     * Start key looping 
+     * 
+     * @param aKey current looping key
+     * 
+     */    
+    void StartKeyLooping(TInt aKey);
+    
+    /**
+     * stop key looping, counterpart to StartKeyLooping
+     */
+    void StopKeyLooping();
+
+    /**
+     * Get current mark index in key looping
+     * 
+     */      
+    TInt ToneMarkIndex() const;
+    
+    /**
+     * Get tone mark vowel in current key looping
+     * 
+     * @param aText return the tone mark vowel
+     * 
+     */     
+    TBool GetLoopingToneMarkVowel( TText& aText ) const;
+    
+    /**
+     * Judge if the current state is key looping or not
+     * 
+     * @param aKey current looping key
+     * 
+     */    
+    inline TBool IsKeyLooping(TInt aKey) const;
+    
+    /**
+     * Judge if the current state is key looping or not
+     */      
+    inline TBool IsLoopingCombined() const;
+    
+    /**
+     * Set whether tone mark is combined in previous looping
+     * 
+     * @param aCombined tone mark is combined
+     * 
+     */ 
+    inline void SetLoopingCombined(TBool aCombined);
 
 private:    // Data
     MAknFepManagerUIInterface* iFepMan;     // not own
@@ -138,6 +186,11 @@
     TInt iVowelIndex;                       // Index of vowel list
     TBool iIsLooping;                       // Judge if input is in looping state
     TText iPrevVowel;                       // Prev Vowel, used for undo the backdeletion
+    
+    TBool iIsKeyLooping;                    // Judge if input is in loop state, 
+                                            // iIsLooping is only used for star key
+    TInt iLoopingKey;                       // Current looping key
+    TBool iIsLoopingCombined;               // Judge if tone mark is combined in previous looping 
     };
 
 // Inline function implementation
@@ -169,6 +222,21 @@
     return iPrevVowel;
     }
 
+inline TBool CAknFepVietnameseToneManager::IsKeyLooping(TInt aKey) const
+    {
+    return iIsKeyLooping && (iLoopingKey == aKey) ;
+    }
+
+inline TBool CAknFepVietnameseToneManager::IsLoopingCombined() const
+    {
+    return iIsLoopingCombined ;
+    }
+
+inline void CAknFepVietnameseToneManager::SetLoopingCombined(TBool aCombined)
+    {
+    iIsLoopingCombined = aCombined ;
+    }
+
 #endif // __AKN_FEP_VIETNAMESE_TONE_MANAGER__
 
 // End of file
--- a/fep/aknfep/peninputplugins/PeninputPluginKr/src/peninputpluginkrcombinelistquerydialog.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/peninputplugins/PeninputPluginKr/src/peninputpluginkrcombinelistquerydialog.cpp	Tue May 11 16:31:42 2010 +0300
@@ -52,7 +52,7 @@
     CAknListQueryDialog::HandleResourceChange(aType);
     if( aType == KEikDynamicLayoutVariantSwitch ) 
         {
-        CAknListQueryDialog::TryExitL(EAknSoftkeyCancel);
+        TRAP_IGNORE(CAknListQueryDialog::TryExitL(EAknSoftkeyCancel));
         }
     }
 
--- a/fep/aknfep/src/AknFepManager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepManager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -3534,7 +3534,7 @@
             // but need to restore fep state here            
             if ( iFepPluginManager )
             	{
-            	iFepPluginManager->ResetItiStateL();
+                TRAP_IGNORE(iFepPluginManager->ResetItiStateL());
             	}
         #endif
             // Close UI
@@ -3728,7 +3728,6 @@
             case EAknClosePenInputRequest:
                 if ( iFepPluginManager )
                     {
-                    // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse.
                     iFepPluginManager->ClosePluginInputModeL( EFalse );
                     }
                 break;
@@ -3746,7 +3745,7 @@
                 // In between, if editor context not in inline edit state.
                 // Try to update the case editor gets the focus, and editor
                 // context come in inline state.                
-				//iCaseMan->UpdateCase(ENullNaviEvent);	
+				iCaseMan->UpdateCase( ENullNaviEvent );
                 break;
 
             default:
@@ -3769,7 +3768,6 @@
             env->SimulateKeyEventL(keyEvent,EEventKey);            
             iFepPluginManager->ResetMenuState();            
             iFepPluginManager->RemoveLastFocusedWinFromOpenList();
-            // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse.
             iFepPluginManager->ClosePluginInputModeL( EFalse );
             }
         }
@@ -4093,8 +4091,7 @@
         HBufC* spell = iFepPluginManager->SpellTextInput();
         
         iFepPluginManager->SetITUTSpellingStateL(EFalse); 
-        iFepPluginManager->HideSpellEditor();
-        iFepPluginManager->SetInSpellModeFlag( EFalse );
+        iFepPluginManager->HideSpellEditor();        
         
         if (spell)
             {
@@ -4153,8 +4150,7 @@
     if (iFepPluginManager->IsSpellVisible())
         {
         TRAP_IGNORE(iFepPluginManager->SetITUTSpellingStateL(EFalse)); 
-        iFepPluginManager->HideSpellEditor();
-        iFepPluginManager->SetInSpellModeFlag( EFalse );
+        iFepPluginManager->HideSpellEditor();        
 
         TRAP_IGNORE(UpdateCbaL(NULL)); 
         if (iFepPluginManager->CaseUpdatesSupressed())
@@ -7005,13 +7001,6 @@
 void CAknFepManager::HandleChangeInFocusL()
     {
     // Closing SCT has done focus change, so here just reset the flag.
-#ifdef RD_SCALABLE_UI_V2	
-    if(iDisalbleFocusChangeForSCT)
-    {
-    iDisalbleFocusChangeForSCT = EFalse;
-    return;
-    }
-#endif
     // dim state changed, need fetch it again.
     SendEventsToPluginManL(EPluginEnableFetchDimState);
 
@@ -11457,10 +11446,14 @@
             }
         case ELangVietnamese:
             {
-            validInlineCharacter = (aCharacter.IsAlpha() &&
-                                    !((category & TChar::ELetterOtherGroup))) ||
-                                    ((category == TChar::EMarkGroup) && 
-                                    (bdCategory == TChar::ENonSpacingMark));
+            // For full screen qwerty, validInlineCharacter is true
+            if( !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) )
+                {
+                validInlineCharacter = (aCharacter.IsAlpha() &&
+                                        !((category & TChar::ELetterOtherGroup))) ||
+                                        ((category == TChar::EMarkGroup) && 
+                                        (bdCategory == TChar::ENonSpacingMark));
+                }
             break;
             }
         case ELangThai:
@@ -12113,17 +12106,18 @@
 #endif        
         iHashKeyMan->SetMode(iMode, IsPredictive());
         // ensure editor is aware of new fep mode
+        TCursorSelection curSel;
         if ( IsFepAwareTextEditor() )
             {
             EditorState()->SetCurrentInputMode(EditorModeFromFepMode(aMode));
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
+            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
             AdjustCursorTypeForCurrentPosition();
             }
 
         // when cursor is in between two words and SCT is launched and
         // cancel key is pressed, dont move the cursor at the end of
         // second word.     
-         if (WesternPredictive(aMode) && !iUncommittedText.Length()
+         if (WesternPredictive(aMode) && !curSel.Length()
             && CursorInsideWord() && !IsCcpuFlagSet(ECcpuStateSupressCursorMoveToEnd)
 #ifdef RD_INTELLIGENT_TEXT_INPUT            
             && (!iSupressCursorMoveToEndChrKeyPressed)
@@ -13078,13 +13072,13 @@
         {
         if ( iLanguageCapabilities.iInputLanguageCode == ELangArabic )
             {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
+            iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
             aNewState=EArabicIndicNumeric;
             }
         else if ( iLanguageCapabilities.iInputLanguageCode == ELangFarsi 
                || iLanguageCapabilities.iInputLanguageCode == ELangUrdu )
             {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
+            iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
             aNewState=EArabicIndicNumeric;
             }    
         else if ( iLanguageCapabilities.iInputLanguageCode == ELangHindi )
@@ -14526,7 +14520,7 @@
             }
         if ( iFepPluginManager && iFepPluginManager->IsSupportITIOnFSQ() )
         	{
-            SendEventsToPluginManL( EPluginUpdatePenInputITIStatus );
+            TRAP_IGNORE(SendEventsToPluginManL( EPluginUpdatePenInputITIStatus ));
         	}
         }
     }
@@ -18363,6 +18357,11 @@
             }
         ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
         
+        if ( iFepPluginManager && iFepPluginManager->IsSpellVisible() )
+        	{
+            iFepPluginManager->SetLaunchSCTInSpell( ETrue );            
+        	}        	
+        
 		if (iUiInterface->CharMapDialogL(
 			sctChars, 
 			specialChars, 
@@ -18461,7 +18460,6 @@
                                     }                               
 //There may be several char to be inserted, need disable Focus change to avoid multi-focus change.
 #ifdef RD_SCALABLE_UI_V2 
-                                iDisalbleFocusChangeForSCT = ETrue;
 #endif       
                                 InsertTextFromDialogL(charAsDesc, cursorSelection);
                                 }
@@ -18477,7 +18475,7 @@
                     }
                 }
 #ifdef RD_SCALABLE_UI_V2 
-            
+            iNotifyPlugin = EFalse;
             if( iFepFullyConstructed && iFepPluginManager)
                 {
                  if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
@@ -18496,15 +18494,14 @@
                 HandleChangeInFocus();
                 }   
             // Set the flag, not change focus for next.
-            iDisalbleFocusChangeForSCT = ETrue;           
+            iNotifyPlugin = ETrue;
 #endif
             }
         else
             {
             iClosePeninputUi = EFalse;
             iStopProcessFocus = EFalse;                   
-            }
-            
+            }		   
         PrepareFepAfterDialogExitL(fepUid);
         }
     }
--- a/fep/aknfep/src/AknFepPluginManager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepPluginManager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -77,6 +77,15 @@
 #include <PtiKeyMappings.h>
 #include <AknPriv.hrh>
 
+#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
+#include <gfxtranseffect/gfxtranseffect.h>
+#include <akntransitionutils.h>
+#include <akntranseffect.h>
+
+#include <e32property.h>
+#include <avkondomainpskeys.h>
+#endif
+
 // Constants
 const TInt KCursorBlinkPerioid = 10000;//300000; // five tenth of a second * 2
 const TInt KMaxServerDataLength = 50;
@@ -247,8 +256,7 @@
                                           CAknFepCaseManager& aCaseMan )
     : iFepMan( aFepMan ), iLangMan( aLangMan ), iCaseMan( aCaseMan ),
       iSharedData( aSharedData ), iPluginPrimaryRange( ERangeInvalid ), iCandidateIndex(1),
-      iCharStartPostion( KInvalidValue ),
-	  iInSpellMode( EFalse )
+      iCharStartPostion( KInvalidValue )	  
     {
     iIndicatorImgID = 0;
     iIndicatorTextID = 0;
@@ -542,6 +550,10 @@
                 }
                 break;
             case ESignalLayoutClosed:
+                if(iPluginInputMode == EPluginInputModeItut)
+                	{
+					iFepMan.PtiEngine()->CancelTimerActivity();
+                	}
                 ClosePluginInputModeL(ETrue);
                 if(iPenInputSvrConnected ) //lost foreground
                     {
@@ -877,8 +889,9 @@
                 }
             else
                 {
-                OnFocusChangedL( aEventData ) ;   
+                OnFocusChangedL( aEventData );   
                 }
+            iForegroundChange = EFalse;
             }
             break;
         case EPluginFocusChanged:
@@ -1020,6 +1033,7 @@
 TBool CAknFepPluginManager::TryChangePluginInputModeByModeL
     (TPluginInputMode aSuggestMode, TInt aOpenMode,TInt aSuggestRange)
     {
+    iNeedFetchDimState = ETrue;
     if ( iSharedData.QwertyInputMode() )
         {
         return EFalse;
@@ -1165,26 +1179,16 @@
         }
     
     TBool isSplit = IsEditorSupportSplitIme();
+    TInt inputLang = iFepMan.InputLanguageCapabilities().iInputLanguageCode;
     // temp code for Chinese split view
-    if ( iSharedData.PenInputLanguage() == ELangPrcChinese || 
-         iSharedData.PenInputLanguage() == ELangTaiwanChinese ||
-         iSharedData.PenInputLanguage() == ELangHongKongChinese )
+    if ( inputLang == ELangPrcChinese || 
+    	 inputLang == ELangTaiwanChinese ||
+    	 inputLang == ELangHongKongChinese )
         {
         isSplit = EFalse;
         }    
     iLangMan.SetSplitView(isSplit);
  
-    TInt inputLang = iFepMan.InputLanguageCapabilities().iInputLanguageCode;
-    if( ( aSuggestMode == EPluginInputModeFSc || 
-            aSuggestMode == EPluginInputModeHwr ||
-            aSuggestMode == EPluginInputModeFingerHwr )
-            && ( iSharedData.PenInputLanguage() == ELangPrcChinese 
-                || iSharedData.PenInputLanguage() == ELangHongKongChinese
-                || iSharedData.PenInputLanguage() == ELangTaiwanChinese) )
-        {
-        // Solution for HWR can not be in used after switched to latin-only editor.
-        inputLang = iSharedData.PenInputLanguage();
-        }
     MAknFepManagerInterface* fepUI = iLangMan.GetPluginInputFepUiL(
                                                     aSuggestMode, 
                                                     inputLang,
@@ -1194,7 +1198,7 @@
     
     if ( iCurrentPluginInputFepUI )     
         {
-        iPenInputServer.DimUiLayout(EFalse);
+        // iPenInputServer.DimUiLayout(EFalse);
         
         AddCurrentWinToOpenListL();
         if (iPluginInputMode == EPluginInputModeItut)
@@ -1310,19 +1314,20 @@
 	    RestorePredictStateL();
         
         //  comment out the following code
-        //if ( iFepMan.EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor )
-        //    {
-        //    if( AknTextUtils::NumericEditorDigitType() == EDigitTypeEasternArabicIndic || 
-        //        AknTextUtils::NumericEditorDigitType() == EDigitTypeDevanagari ||
-        //        AknTextUtils::NumericEditorDigitType() == EDigitTypeArabicIndic )
-        //        {
-        //        iFepMan.TryChangeModeL( ENativeNumber );
-        //        }
-        //    else
-        //        {
-        //        iFepMan.TryChangeModeL( ENumber );
-        //        }
-        //    }
+        if ( iFepMan.EditorType() == CAknExtendedInputCapabilities::EPhoneNumberEditor
+             && !iOrientationChangedfromUI )
+            {
+            if( AknTextUtils::NumericEditorDigitType() == EDigitTypeEasternArabicIndic || 
+                AknTextUtils::NumericEditorDigitType() == EDigitTypeDevanagari ||
+                AknTextUtils::NumericEditorDigitType() == EDigitTypeArabicIndic )
+                {
+                iFepMan.TryChangeModeL( ENativeNumber );
+                }
+            else
+                {
+                iFepMan.TryChangeModeL( ENumber );
+                }
+            }
         }
     //iFepMan.UpdateCbaL( NULL ); 
                 
@@ -2106,8 +2111,17 @@
             return;
             }
 
-        if( iInMenu && iCurEditor == iFepMan.FepAwareTextEditor() )
-            {
+        if( iInMenu && 
+        	( iCurEditor == iFepMan.FepAwareTextEditor() || iLaunchSCTInSpell ) )
+            {            
+            iLaunchSCTInSpell = EFalse;
+#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
+            if ( PluginInputMode() == EPluginInputModeFSQ 
+                    && iSharedData.ThemeEffectsEnabled())
+                {
+                User::After(1);//waiting for menu cancel effect
+                } 
+#endif
             ResetMenuState();            
 			// If need to open setting app automatically, 
 			// do not open Touch window again. 
@@ -2852,7 +2866,9 @@
     
 //    iPenInputServer.UpdateAppInfo(KNullDesC, EAppIndicatorMsg);  
     
-    iPluginInputMode =  (TPluginInputMode)iLangMan.CurrentImePlugin()->CurrentMode();   
+    iPluginInputMode =  (TPluginInputMode)iLangMan.CurrentImePlugin()->CurrentMode(); 
+
+    iPenInputServer.SetDataQueryPopped(IsDisplayDataQuery());  
 
     //adjust VKB window if data query dialog is displaying
     if(IsDisplayDataQuery())
@@ -3169,7 +3185,7 @@
                 }
             
             
-            else if ( keyEvent.iCode >= EKeyApplication27 
+            else if ( keyEvent.iCode >= EKeyApplication27 && !( (iLangMan.InputLanguage() == ELangFarsi) && EnableITIOnFSQ())
                     || (iFepMan.IsFeatureSupportedJapanese()
                          && iFepMan.InputMode() == EHiraganaKanji
                          && edit
@@ -3310,6 +3326,9 @@
                             {                                
                             iFepMan.CommitInlineEditL();
                             iFepMan.PtiEngine()->CommitCurrentWord();
+                            iFepMan.TryCloseUiL();
+                            TKeyEvent keyEventUpdateCase = {EKeyF19, EStdKeyNull, 0, 0};
+                            env->SimulateKeyEventL(keyEventUpdateCase, EEventKey);
                             }                            
                         // set flag to ensure not to be handled by key catcher.
                         iFepMan.SetFlag(CAknFepManager::EFlagPassNextKey);
@@ -3830,12 +3849,7 @@
               }
         else
             {
-            if ( !iInSpellMode )
-            	{
-				SetITUTSpellingStateL(ETrue);
-				iInSpellMode = ETrue;
-            	}
-            
+			SetITUTSpellingStateL(ETrue);
             iIndicatorImgID = 0;
             iIndicatorTextID = 0;
             }    
@@ -4595,6 +4609,8 @@
     	}
     else
     	{
+        iSpell->InputPane()->InputWin()->SetAknEditorCurrentCase(editorCase);
+        iSpell->InputPane()->InputWin()->SetAknEditorCurrentInputMode(EAknEditorTextInputMode);
         iSpell->MakeVisible( ETrue );
         iSpell->SetInputWinFocus( ETrue );
     	}
@@ -4686,11 +4702,6 @@
     return resId;
     }
 
-void CAknFepPluginManager::SetInSpellModeFlag( TBool aFlag )
-	{
-	iInSpellMode = aFlag;
-	}
-
 void CAknFepPluginManager::SetPromptText( TBool aCleanContent )
     {
     if (IsDimed() && !iResourceChange) 
@@ -5620,8 +5631,11 @@
         TPtr unCommitedTextPtr = unCommitedText->Des();        
         TInt startPos = iFepMan.UncommittedText().LowerPos();
         MCoeFepAwareTextEditor* edit = iFepMan.FepAwareTextEditor();
-        edit->GetEditorContentForFep( unCommitedTextPtr, 
-                                      startPos, unCommitedLen ); 		
+        if ( edit )
+        	{
+            edit->GetEditorContentForFep( unCommitedTextPtr, 
+                                          startPos, unCommitedLen );       
+        	}
 		iFepMan.PtiEngine()->SetCurrentWord( *unCommitedText );
 		delete unCommitedText;
 		unCommitedText = NULL;
@@ -5779,6 +5793,8 @@
     
     //Normal editors
     CAknEdwinState* state = iFepMan.EditorState(); 
+    if (iCurEditor && state == NULL)
+		state = static_cast<CAknEdwinState *> (iCurEditor->Extension1()->State(KNullUid));
     if ( state )
         {
         return EAknEditorFlagEnablePartialScreen == 
--- a/fep/aknfep/src/AknFepSharedDataInterface.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepSharedDataInterface.cpp	Tue May 11 16:31:42 2010 +0300
@@ -73,6 +73,7 @@
     delete iGsPenSettings;
     delete iLocaleRepository;
     delete iSensorRepository;
+    delete iThemeEffectsRepository;
 
     if (iQwertyModeStatusSubscriber)
         {
@@ -525,6 +526,8 @@
     TRAP(ret, iGsPenSettings = CRepository::NewL(KCRUidPersonalizationSettings));
     
     TRAP(ret, iSensorRepository = CRepository::NewL( KCRUidSensorSettings ) );
+    
+    TRAP(ret, iThemeEffectsRepository = CRepository::NewL( KCRUidThemes ));
     }
 
 TInt CAknFepSharedDataInterface::HashKeySelectionNotification(TAny* aObj)
@@ -1752,7 +1755,18 @@
         }
     
     return EFalse;
-	}       
+	}
+
+TBool CAknFepSharedDataInterface::ThemeEffectsEnabled()
+    {
+        TInt effectsValue = KErrNone;
+        TInt error = iThemeEffectsRepository->Get( KThemesTransitionEffects, effectsValue );
+        if ( error != KErrNone || effectsValue != 0 )//zero means on
+            {
+            effectsValue = KErrNotFound;
+            }
+        return effectsValue == KErrNone ? ETrue:EFalse;
+    }
 
 #ifdef	RD_INTELLIGENT_TEXT_INPUT
 #ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
--- a/fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepUiInputStateEntryThaiPredictive.cpp	Tue May 11 16:31:42 2010 +0300
@@ -102,8 +102,17 @@
     case EPtiKey8:
     case EPtiKey9:
     case EPtiKey0:
+        response = HandleStandardNumericKeysL(aKey, aLength);
+        break;
     case EPtiKeyStar:
-        response = HandleStandardNumericKeysL(aKey, aLength);
+        if ( aLength == ELongKeyPress )
+            {
+            response = HandleStarKeyL(aLength);
+            }
+        else
+            {
+            response = HandleStandardNumericKeysL(aKey, aLength);
+            }
         break;
     case EKeyDownArrow:
         response = HandleDownKeyL();
--- a/fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepUiInputStateInitialVietnameseMultitap.cpp	Tue May 11 16:31:42 2010 +0300
@@ -177,6 +177,61 @@
             }
         }
     
+    if( toneMgr->IsKeyLooping( aKey ) )
+        {
+        if( toneMgr->ToneMarkIndex() !=  KErrNotFound )
+            {
+            // Get current tone mark
+            TText toneVowel;
+            if( toneMgr->GetLoopingToneMarkVowel( toneVowel ) )
+                {
+                // remove two previous chars
+                ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
+                ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
+    
+                TBuf<CAknFepManager::ESingleCharacter> aChr;
+                aChr.Append(toneVowel);
+                
+                // Update inline character(s)
+                fepMan->CancelInlineEdit();
+                fepMan->NewCharacterL(aChr);
+                
+                toneMgr->SetLoopingCombined( ETrue );
+                bHandled = ETrue;
+                }
+            
+            // Reset the engine timer so that we can get timer expired message
+            // We send the * key, and clear it in the next loop
+            ptiEng->ClearCurrentWord();
+            ptiEng->AppendKeyPress((TPtiKey)EPtiKeyStar);
+            }
+        else
+            {
+            if( toneMgr->IsLoopingCombined() )
+                {
+                // remove tone mark
+                TBuf<2> newText;
+                // Get the last character from the current editor
+                TText prevChar = fepMan->PreviousChar();
+                
+                // Judge if the last character needs to be converted
+                if ( NeedsVietnameseBkDelSupport(prevChar, newText) )
+                    {
+                    // Delete the prev character and send the new character to editor
+                    ((CAknFepManager*)fepMan)->RemovePreviousCharacterL();
+                    fepMan->NewCharacterL(newText);
+                    fepMan->CommitInlineEditL();
+                    }
+            
+                toneMgr->SetLoopingCombined( EFalse );
+                }
+            }
+        }
+    else
+        {
+        toneMgr->StartKeyLooping( aKey );
+        }
+    
     if(!bHandled && toneMgr->IsLooping())
     	{
     	toneMgr->StopToneMarkLooping();
@@ -196,6 +251,7 @@
     TRAP_IGNORE(fepMan->CommitInlineEditL());
 
     toneMgr->StopToneMarkLooping();
+    toneMgr->StopKeyLooping();
     ptiEng->ClearCurrentWord();
     }
     
--- a/fep/aknfep/src/AknFepVietnameseToneManager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepVietnameseToneManager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -85,3 +85,61 @@
     // First vowel row lists those tone marks themselves
     return VietToneMatrix[iVowelIndex+1][iToneIndex];
     }
+
+void CAknFepVietnameseToneManager::StartKeyLooping(TInt aKey)
+    {
+    iLoopingKey = aKey;
+    iIsKeyLooping = ETrue;
+    iIsLoopingCombined = EFalse;
+    }
+
+void CAknFepVietnameseToneManager::StopKeyLooping()
+    {
+    iLoopingKey = 0;
+    iIsKeyLooping = EFalse;
+    iIsLoopingCombined = EFalse;
+    }
+
+TInt CAknFepVietnameseToneManager::ToneMarkIndex() const
+    {
+    const TText prevChr = iFepMan->PreviousChar();
+
+    // All tone mark is after number in product key mapping.
+    // Notice: The order in product key mapping should be the same with in tone mark array. 
+    for (TUint i = 0; i < KNumberOfToneMarks; ++i)
+        {
+        TBuf<1> num;
+        num.Num( i + 2 );
+        if (prevChr == num [0])
+            {
+            return i;
+            }
+        }
+    
+    return KErrNotFound;
+    }
+
+TBool CAknFepVietnameseToneManager::GetLoopingToneMarkVowel( TText& aText ) const
+    {
+    const TText prev2prevChr = iFepMan->PreviousToPreviousChar( ETrue );
+
+    // Judge if the previous to previous Character is a vowel or not
+    TInt vowelIndex = KErrNotFound;
+    for (TUint i = 0; i < sizeof(VietVowelList) / sizeof(TText); ++i)
+        {
+        if ( prev2prevChr == VietVowelList[i] )
+            {
+            vowelIndex = i;
+            break;
+            }
+        }
+    
+    if (vowelIndex >= 0)
+        {
+        aText =  VietToneMatrix[vowelIndex+1][ ToneMarkIndex() ];
+        return ETrue;
+        }
+    
+    return EFalse;
+    }
+
--- a/fep/aknfep/src/aknfepuispellcontainer.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/aknfepuispellcontainer.cpp	Tue May 11 16:31:42 2010 +0300
@@ -92,13 +92,17 @@
 	{
 	if ( IsFocused() == aFocus )
 		{
+	    if ( !aFocus )
+	    	{
+	        iEikonEnv->EikAppUi()->RemoveFromStack( this );
+	    	}
 		return;
 		}
 	
 	// When release focus, remove from stack.
 	if( aFocus )
 		{		
-	    iEikonEnv->EikAppUi()->AddToStackL( this, ECoeStackPriorityDialog );
+	     TRAP_IGNORE(iEikonEnv->EikAppUi()->AddToStackL( this, ECoeStackPriorityDialog ));
 		}
 	else
 		{
--- a/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/frontendprocessor/test/src/TFEP1TESTTARGET.CPP	Tue May 11 16:31:42 2010 +0300
@@ -105,6 +105,10 @@
 
 TBool CTstTestTargetDialog::OkToExitL(TInt /*aKeyCode*/)
 	{
+    RDebug::Print(_L("**************************************************************"));
+    RDebug::Print(_L("****                OK or CANCEL key pressed                  "));
+    RDebug::Print(_L("**************************************************************\n"));
+    
 	// Get fields text values...
 	CEikEdwin* edwinNormal = static_cast<CEikEdwin*>(Control(EControlIdNormalEdwin));
 	edwinNormal->GetText(gTextNormalEdwin);
@@ -158,6 +162,10 @@
 */
 void CFep1TestTargetUi::ConstructL()
 	{
+    RDebug::Print(_L("**************************************************************"));
+    RDebug::Print(_L("****           CFep1TestTargetUi::ConstructL                  "));
+    RDebug::Print(_L("**************************************************************\n"));
+ 
 	CTestAppUi::ConstructL();
 
 	iCoeEnv->InstallFepL(KNullUid);
@@ -484,7 +492,12 @@
 		case 158:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event 'Shift + M' ---> Changes back to normal fep!"));
-			SendKey('M', EModifierRightShift);			
+			SendKey('M', EModifierRightShift);
+			
+		    RDebug::Print(_L("**************************************************************"));
+		    RDebug::Print(_L("****           UIF-FEPTEST-0007 Finished                      "));
+		    RDebug::Print(_L("**************************************************************\n"));
+
 			RecordTestResultL();
 			}
 			break;
@@ -646,7 +659,9 @@
 		case 234:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits '00'"));						// We should have 1230056
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
+			
+			
 			RecordTestResultL();
 			}
 			break;
@@ -699,6 +714,10 @@
 			SendKey('T', EModifierRightShift);			
 			if(aStep == 262)
 				{
+                RDebug::Print(_L("**************************************************************"));
+                RDebug::Print(_L("****           UIF-FEPTEST-0009 Finished                      "));
+                RDebug::Print(_L("**************************************************************\n"));
+
 				RecordTestResultL();
 				}
 			}
@@ -804,7 +823,12 @@
 		case 460:
 			{
 			INFO_PRINTF1(_L("...simulate Key Event Enter ---> Submits 'MNO' (not Fep installed --> No Alphabetical!"));
-			SendKey(EKeyEnter);			
+			SendKey(EKeyEnter);
+			
+		    RDebug::Print(_L("**************************************************************"));
+		    RDebug::Print(_L("****           UIF-FEPTEST-0011 Finished                      "));
+		    RDebug::Print(_L("**************************************************************\n"));
+
 			RecordTestResultL();
 			}
 			break;
@@ -844,6 +868,10 @@
 
 		case 503:
 			{
+	         RDebug::Print(_L("**************************************************************"));
+	         RDebug::Print(_L("****           Checking dialog values...                      "));
+	         RDebug::Print(_L("**************************************************************\n"));
+
 			INFO_PRINTF1(_L("Checking dialog values..."));
 			INFO_PRINTF3(_L("gTextNormalEdwin was '%S' (expected '%S')"), &gTextNormalEdwin, &KExpectedTextNormalEdwin);
 			INFO_PRINTF3(_L("gTextNormalNumEdwin was '%S' (expected '%S')"), &gTextNormalNumEdwin, &KExpectedTextNormalNumEdwin);
@@ -891,7 +919,7 @@
 */
 void CFep1TestTargetUi::SendEventToWindowGroups(TWsEvent&	aEvent)
 	{
-User::After(100000);
+    User::After(100000);
 
 	RWsSession	ws;
 	TInt theRes = ws.Connect();
@@ -907,8 +935,8 @@
 	aEvent.SetType(EEventKey);
 	aEvent.SetTimeNow();
 	ws.SendEventToWindowGroup(theId, aEvent);
-
-	aEvent.SetType(EEventKeyUp);
+	
+ 	aEvent.SetType(EEventKeyUp);
 	aEvent.SetTimeNow();
 	ws.SendEventToWindowGroup(theId, aEvent);
 	
--- a/inputmethods_plat/pen_input_server_api/inc/peninputclient.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/inputmethods_plat/pen_input_server_api/inc/peninputclient.h	Tue May 11 16:31:42 2010 +0300
@@ -426,6 +426,7 @@
     IMPORT_C void ClearTouchUI();
     IMPORT_C void SetResourceChange(TBool aFlag); 
     IMPORT_C TInt ConnectAsyc(TRequestStatus& aStatus);
+	IMPORT_C void SetDataQueryPopped(TBool aFlag);
 
 private:    // Data
     /**
--- a/textinput/peninputarc/bwins/peninputClientU.DEF	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/bwins/peninputClientU.DEF	Tue May 11 16:31:42 2010 +0300
@@ -62,4 +62,5 @@
 	?SupportInputMode@RPeninputServer@@QAEHH@Z @ 61 NONAME ; int RPeninputServer::SupportInputMode(int)
 	?SetInputLanguage@RPeninputServer@@QAEHH@Z @ 62 NONAME ; int RPeninputServer::SetInputLanguage(int)
 	?ConnectAsyc@RPeninputServer@@QAEHAAVTRequestStatus@@@Z @ 63 NONAME ; int RPeninputServer::ConnectAsyc(class TRequestStatus &)
+	?SetDataQueryPopped@RPeninputServer@@QAEXH@Z @ 64 NONAME ; void RPeninputServer::SetDataQueryPopped(int)
 
--- a/textinput/peninputarc/bwins/peninputlayoutcontrolU.DEF	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/bwins/peninputlayoutcontrolU.DEF	Tue May 11 16:31:42 2010 +0300
@@ -593,4 +593,8 @@
 	?EndStrokeL@CHwrWndBase@@UAEXH@Z @ 592 NONAME ; void CHwrWndBase::EndStrokeL(int)
 	?SetStarIcon@CVirtualKeyboard@@QAEXPAVCPenInputColorIcon@@@Z @ 593 NONAME ; void CVirtualKeyboard::SetStarIcon(class CPenInputColorIcon *)
 	?SetTextAlignment@CFepLayoutChoiceList@@QAEXW4TTextAlign@CGraphicsContext@@@Z @ 594 NONAME ; void CFepLayoutChoiceList::SetTextAlignment(enum CGraphicsContext::TTextAlign)
+	?ActiveExtResponseArea@CFepUiBaseCtrl@@QAEXXZ @ 595 NONAME ; void CFepUiBaseCtrl::ActiveExtResponseArea(void)
+	?CancelExtResponseArea@CFepUiBaseCtrl@@QAEXXZ @ 596 NONAME ; void CFepUiBaseCtrl::CancelExtResponseArea(void)
+	?EnableExtResponseArea@CFepUiBaseCtrl@@QAEXHABVTRect@@@Z @ 597 NONAME ; void CFepUiBaseCtrl::EnableExtResponseArea(int, class TRect const &)
+	?BaseConstructL@CButtonBase@@QAEXXZ @ 598 NONAME ; void CButtonBase::BaseConstructL(void)
 
--- a/textinput/peninputarc/eabi/peninputClientU.DEF	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/eabi/peninputClientU.DEF	Tue May 11 16:31:42 2010 +0300
@@ -71,4 +71,4 @@
 	_ZN15RPeninputServer16SupportInputModeEi @ 70 NONAME
 	_ZN15RPeninputServer16SetInputLanguageEi @ 71 NONAME
 	_ZN15RPeninputServer11ConnectAsycER14TRequestStatus @ 72 NONAME
-
+	_ZN15RPeninputServer18SetDataQueryPoppedEi @ 73 NONAME
--- a/textinput/peninputarc/eabi/peninputlayoutcontrolU.DEF	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/eabi/peninputlayoutcontrolU.DEF	Tue May 11 16:31:42 2010 +0300
@@ -727,4 +727,8 @@
 	_ZN21CTransparentHwrWndExt9DrawPointERK6TPointi @ 726 NONAME
 	_ZN16CVirtualKeyboard11SetStarIconEP18CPenInputColorIcon @ 727 NONAME
 	_ZN20CFepLayoutChoiceList16SetTextAlignmentEN16CGraphicsContext10TTextAlignE @ 728 NONAME
+	_ZN14CFepUiBaseCtrl21ActiveExtResponseAreaEv @ 729 NONAME
+	_ZN14CFepUiBaseCtrl21CancelExtResponseAreaEv @ 730 NONAME
+	_ZN14CFepUiBaseCtrl21EnableExtResponseAreaEiRK5TRect @ 731 NONAME
+	_ZN11CButtonBase14BaseConstructLEv @ 732 NONAME
 
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputfloatctrl.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputfloatctrl.h	Tue May 11 16:31:42 2010 +0300
@@ -89,6 +89,14 @@
      */
     void Hide();
     
+    /**
+     * Test if transparency is supported by this control
+     * 
+     * @since S60 v5.0
+     * @return ETrue if support
+     */
+    TBool SupportTransparent() const;
+    
 protected:
     /**
      * Symbian constructor
@@ -98,6 +106,8 @@
      */
     void BaseConstructL();
     
+private:
+    TBool iSupportTransparent;
     };
 
 #endif // C_PENINPUTFLOATINGCTRL_H
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h	Tue May 11 16:31:42 2010 +0300
@@ -904,6 +904,25 @@
      */                                                       
     TBool CompareOrderInSameGroup(CFepUiBaseCtrl* aCtrl);
     
+    /**
+     * Enable/disable extra response area support
+     * 
+     * @param aEnable ETrue to enable, or EFalse to disable
+     * @param aExtMargin margin of extra response area
+     * @return none
+     */
+    IMPORT_C void EnableExtResponseArea( TBool aEnable, const TRect& aExtMargin );
+    
+    /**
+     * Active extra response area
+     */
+    IMPORT_C void ActiveExtResponseArea();
+    
+    /**
+     * Cancel extra response area
+     */
+    IMPORT_C void CancelExtResponseArea();
+       
 protected:
          
     /**
@@ -1162,6 +1181,14 @@
      * @param aIndex The shadow bitmap position index
      */   
     void DrawShadowBitmap(const TRect& aRect,TInt aIndex);
+
+    /**
+     * Update extra response area
+     * 
+     * @param aRect new response area
+     * @return none
+     */
+    void UpdateExtResponseArea( const TRect& aRect );
     
 protected:
     /**
@@ -1340,43 +1367,51 @@
     RRegion iClipRegionWithoutLockedArea;     
     
     
-    TInt iOrdinalPos; 
+    TInt iOrdinalPos;
+
+private:    
+    NONSHARABLE_CLASS(CFepUiBaseCtrlExtension) : public CBase
+        {
+        public: 
+            
+        CFepUiBaseCtrlExtension();
+        
+        /**
+         * Set Tactile Feedback Type
+         * Advanced Tactile feedback REQ417-47932
+         */
+        void SetTactileFeedbackType(TInt aTactileType);
+        
+        /**
+        * Return tactile feedback type
+        *
+        * Advanced Tactile feedback REQ417-47932
+        * @return the tactile feedback type
+        */  
+        IMPORT_C TInt TactileFeedbackType();
+        public:
+            TBool iExtResponseAreaActive;
+            TRect iExtResponseArea;
+            TBool iExtResponseAreaEnabled;
+            TRect  iExtResponseAreaMargin;
+            
+        private:
+            /**
+             * Tactile Feedback type
+             */
+            TInt iTactileType;
+        };    
+private:
     /**
      * Reservered
      */
-    TInt iReservered1;
+    CFepUiBaseCtrlExtension* iExtension;
 
     /**
      * Reservered
      */
     TInt iReservered2;   
-    
-    NONSHARABLE_CLASS(CFepUiBaseCtrlExtension)
-    	{
-    	public: 
-    		
-		CFepUiBaseCtrlExtension(TInt aTactileType);
-		
-		/**
-		 * Set Tactile Feedback Type
-		 * Advanced Tactile feedback REQ417-47932
-		 */
-		void SetTactileFeedbackType(TInt aTactileType);
-		
-		/**
-		* Return tactile feedback type
-		*
-		* Advanced Tactile feedback REQ417-47932
-		* @return the tactile feedback type
-		*/  
-		IMPORT_C TInt TactileFeedbackType();
-		
-    	private:
-        /**
-         * Tactile Feedback type
-         */
-        TInt iTactileType;
-    	};
+   
     };
 //end of class CFepUiBaseCtrl
 #include "peninputlayoutbasecontrol.inl"
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.inl	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.inl	Tue May 11 16:31:42 2010 +0300
@@ -412,6 +412,6 @@
 //
 inline TInt CFepUiBaseCtrl::TactileFeedbackType() const
     {
-    return reinterpret_cast<CFepUiBaseCtrlExtension*>(iReservered1)->TactileFeedbackType();	
+    return iExtension->TactileFeedbackType();	
     }
 //end of file
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbutton.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbutton.h	Tue May 11 16:31:42 2010 +0300
@@ -50,6 +50,11 @@
     IMPORT_C static CButtonBase* NewL(const TRect& aRect,CFepUiLayout* aUiLayout,TInt aControlId);
 
     /**
+     * Do base contruction
+     */
+    IMPORT_C void BaseConstructL();
+    
+    /**
      * Set button active or deactive.        
      *
      * @since S60 V4.0        
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutmultilineicf.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutmultilineicf.h	Tue May 11 16:31:42 2010 +0300
@@ -614,6 +614,9 @@
     void DrawMfneText();
     
     void SetMsgBubbleRect();
+    
+    void SetMsgBubbleRectAccordingToLanguage();
+    
     void SetInfoBubbleRect();
     
     void HideBubbleTemp();
--- a/textinput/peninputarc/inc/pensrvcliinc/peninputclientimpl.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/inc/pensrvcliinc/peninputclientimpl.h	Tue May 11 16:31:42 2010 +0300
@@ -472,6 +472,7 @@
     void ClearTouchUI();
     void SetResourceChange(TBool aFlag);
     
+    void SetDataQueryPopped(TBool aFlag);
     /**
      * Starts the server thread
      *
@@ -560,6 +561,7 @@
     CWaitingServerAo* iWaiterAo;
     TRequestStatus* iPendingRequest;
     TBool iServerReady;
+    TBool iDataQueryIsPopped;
 };
 
 
@@ -655,7 +657,7 @@
      * Show pen UI with priority.
      */
     void Show(const TRect& aRect, TBool aGlobalNotes, 
-        TBool aInternal, TInt aPriority, TBool aResource);
+        TBool aInternal, TInt aPriority, TBool aResource, TBool aDataQueryPopped);
     
     /**
      * Called from akncapserver appui to close fastswap.
--- a/textinput/peninputarc/src/peninputclient/penclientimpl.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputclient/penclientimpl.cpp	Tue May 11 16:31:42 2010 +0300
@@ -372,7 +372,7 @@
             }
         if(iBackgroundCtrl)
             iBackgroundCtrl->Show(extend, iGlobalNotes, 
-                iInternalPopup,priority, iResourceChange);    
+                iInternalPopup,priority, iResourceChange, iDataQueryIsPopped);    
         }
     else //undim the window
         {
@@ -1160,6 +1160,10 @@
     iGlobalNotes = aFlag;    
     }
 
+void RPeninputServerImpl::SetDataQueryPopped(TBool aFlag)
+	{
+	iDataQueryIsPopped = aFlag;
+	}
 void RPeninputServerImpl::SetInternalPopUp(TBool aFlag)
     {
 	iInternalPopup = aFlag;
@@ -1484,7 +1488,7 @@
     }
 
 void CPenUiBackgroundWnd::Show(const TRect& aExtend, TBool aGlobalNotes, 
-    TBool aInternal, TInt aPriority, TBool aResource)
+    TBool aInternal, TInt aPriority, TBool aResource, TBool aDataQueryPopped)
     {
     //Show the window will cause a focus group change in global notes showing case.
     if (!iBitmap)
@@ -1517,7 +1521,10 @@
      
         // The code runs well on 5.0 platform, but on tb92,
         // it will make the backgourd screen black purely.
-        //Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);   
+        if( aDataQueryPopped )
+        	{
+            Window().SetFaded(ETrue,RWindowTreeNode::EFadeWindowOnly);  
+        	}
         }
      else
         {
--- a/textinput/peninputarc/src/peninputclient/peninputclient.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputclient/peninputclient.cpp	Tue May 11 16:31:42 2010 +0300
@@ -39,6 +39,10 @@
     //return iSingletonServer->ConnectAsync(status);
     return err;
     }
+EXPORT_C void RPeninputServer::SetDataQueryPopped(TBool aFlag)
+	{
+	iSingletonServer->SetDataQueryPopped(aFlag);
+	}
 // ---------------------------------------------------------------------------
 // RPeninputServer::Connect
 // ---------------------------------------------------------------------------
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatbubble.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatbubble.cpp	Tue May 11 16:31:42 2010 +0300
@@ -70,7 +70,11 @@
     {
     CWindowGc& gc = SystemGc();
     TRect rect = Rect();
-    gc.Clear( rect ); 
+    
+    if ( !SupportTransparent() )
+        {
+        gc.Clear( rect ); 
+        }
     
     //draw background
     if ( iBkgndSkinId.iMajor )
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatctrl.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputfloatctrl.cpp	Tue May 11 16:31:42 2010 +0300
@@ -76,6 +76,15 @@
     }
 
 // ---------------------------------------------------------------------------
+// Test if transparency is supported by this control
+// ---------------------------------------------------------------------------
+//
+TBool CPeninputFloatingCtrl::SupportTransparent() const
+    {
+    return iSupportTransparent;
+    }
+
+// ---------------------------------------------------------------------------
 // Symbian constructor
 // ---------------------------------------------------------------------------
 //
@@ -85,6 +94,8 @@
     CreateWindowL( wg );
     SetComponentsToInheritVisibility();
     Window().SetRequiredDisplayMode( EColor16MA );
+    TInt err = Window().SetTransparencyAlphaChannel();
+    iSupportTransparent = ( KErrNone == err );
     MakeVisible( EFalse );
     ActivateL();
     }
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbasecontrol.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbasecontrol.cpp	Tue May 11 16:31:42 2010 +0300
@@ -59,9 +59,9 @@
                         iOwnWndCtrl(ETrue),
                         iOrdinalPos(EOrderNomal)
     {
-#ifdef RD_TACTILE_FEEDBACK
-    iReservered1 = reinterpret_cast<TInt>(new CFepUiBaseCtrlExtension(ETouchFeedbackNone));
-#endif // RD_TACTILE_FEEDBACK    
+    //todo code refactoring needed, move to BaseConstructL
+    iExtension = new CFepUiBaseCtrlExtension();
+   
     iPenSize.SetSize(1,1);        
     iBorderSize.SetSize(KDefaultFrameWidth,KDefaultFrameWidth);
     iValidRegion.AddRect(iRect);
@@ -94,9 +94,9 @@
                     iUiLayout(aUiLayout),
                     iOwnWndCtrl(aOwnership)
     {
-#ifdef RD_TACTILE_FEEDBACK
-    iReservered1 = reinterpret_cast<TInt>(new CFepUiBaseCtrlExtension(ETouchFeedbackNone));
-#endif // RD_TACTILE_FEEDBACK
+    //todo code refactoring needed, move to BaseConstructL
+    iExtension = new CFepUiBaseCtrlExtension();
+    
     iRect = aControl->Rect();
     iControlId = aControl->UniqueHandle();
     iValidRegion.AddRect(iRect);
@@ -128,8 +128,9 @@
     //de-register the area for tactile feedback
     //if(aUiLayout) //there must be aUiLayout
     UiLayout()->DeRegisterFeedbackArea(reinterpret_cast<TInt>(this), Rect());   
-	delete reinterpret_cast<CFepUiBaseCtrlExtension*>(iReservered1);       
 #endif // RD_TACTILE_FEEDBACK 
+    
+    delete iExtension; 
     }
 
 // ---------------------------------------------------------------------------
@@ -184,7 +185,7 @@
 EXPORT_C void CFepUiBaseCtrl::SetTactileFeedbackType(TInt aTactileType)
 	{
 #ifdef RD_TACTILE_FEEDBACK
-	reinterpret_cast<CFepUiBaseCtrlExtension*>(iReservered1)->SetTactileFeedbackType(aTactileType);
+    iExtension->SetTactileFeedbackType(aTactileType);
 #endif // RD_TACTILE_FEEDBACK 
 	}
 
@@ -535,6 +536,11 @@
 //           
 EXPORT_C TBool CFepUiBaseCtrl::Contains(const TPoint& aPt)
     {
+    if( iExtension->iExtResponseAreaActive )
+        {
+        return iExtension->iExtResponseArea.Contains( aPt );
+        }
+   
     return iRect.Contains(aPt);
     //return iValidRegion.Contains(aPt);
     }
@@ -765,6 +771,11 @@
 //      
 EXPORT_C CFepUiBaseCtrl* CFepUiBaseCtrl::HandlePointerDownEventL(const TPoint& aPoint)
     {
+    if ( iExtension->iExtResponseAreaEnabled ) 
+        {
+        ActiveExtResponseArea();
+        }
+    
     iPointerDown = ETrue;
     if(iWndControl)
         {
@@ -789,6 +800,11 @@
 EXPORT_C CFepUiBaseCtrl* CFepUiBaseCtrl::HandlePointerUpEventL(
                                                          const TPoint& aPoint)
     {
+    if ( iExtension->iExtResponseAreaActive )
+        {
+        CancelExtResponseArea();
+        }
+    
     iPointerDown = EFalse;
     if(iWndControl)
         {
@@ -843,6 +859,11 @@
 //    
 EXPORT_C void CFepUiBaseCtrl::CancelPointerDownL()
     {
+    if ( iExtension->iExtResponseAreaActive )
+        {
+        CancelExtResponseArea();
+        }
+    
     if (PointerDown())
         {
         iPointerDown = EFalse;
@@ -986,6 +1007,11 @@
 //           
 EXPORT_C void CFepUiBaseCtrl::HandlePointerLeave(const TPoint& /*aPt*/)
     {
+    if ( iExtension->iExtResponseAreaActive )
+        {
+        CancelExtResponseArea();
+        }
+    
     iPointerDown = EFalse;
     iPointerLeft = ETrue;
     //report event
@@ -1000,6 +1026,11 @@
 //           
 EXPORT_C void CFepUiBaseCtrl::HandlePointerEnter(const TPoint& aPt)
     {
+    if ( iExtension->iExtResponseAreaEnabled ) 
+        {
+        ActiveExtResponseArea();
+        }
+    
     iPointerDown = ETrue;
     iPointerLeft = EFalse;
     TRAP_IGNORE(HandlePointerMoveEventL(aPt));
@@ -1334,7 +1365,73 @@
     return order;    
     }
 
+// ---------------------------------------------------------------------------
+// CFepUiBaseCtrl::EnableExtResponseArea
+// Enable/disable extra response area support
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void CFepUiBaseCtrl::EnableExtResponseArea( TBool aEnable, 
+                                                     const TRect& aExtMargin )
+    {
+    iExtension->iExtResponseAreaEnabled = aEnable;
+    iExtension->iExtResponseAreaMargin = aExtMargin;
+    }
 
+// ---------------------------------------------------------------------------
+// CFepUiBaseCtrl::EnableExtResponseArea
+// Active extra response area
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void CFepUiBaseCtrl::ActiveExtResponseArea()
+    {
+    if ( iExtension->iExtResponseAreaEnabled )
+        {
+        TRect response = Rect();
+        response.iTl -= iExtension->iExtResponseAreaMargin.iTl;
+        response.iBr += iExtension->iExtResponseAreaMargin.Size();
+        
+        UpdateExtResponseArea( response );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CFepUiBaseCtrl::EnableExtResponseArea
+// Cancel extra response area
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void CFepUiBaseCtrl::CancelExtResponseArea()
+    {
+    iExtension->iExtResponseAreaActive = EFalse;
+    
+    CFepUiBaseCtrl* parent = ParentCtrl();
+    if( parent && parent->IsKindOfControl(ECtrlControlGroup) )
+        {
+        parent->CancelExtResponseArea();
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CFepUiBaseCtrl::EnableExtResponseArea
+// Update extra response area
+// ---------------------------------------------------------------------------
+//
+void CFepUiBaseCtrl::UpdateExtResponseArea( const TRect& aRect )
+    {
+    if ( aRect.iTl.iX < Rect().iTl.iX || aRect.iTl.iY < Rect().iTl.iY ||
+         aRect.iBr.iX > Rect().iBr.iX || aRect.iBr.iY > Rect().iBr.iY )
+        {
+        iExtension->iExtResponseAreaActive = ETrue;
+        iExtension->iExtResponseArea = Rect();
+        iExtension->iExtResponseArea.BoundingRect( aRect );
+
+        //update parent
+        CFepUiBaseCtrl* parent = ParentCtrl();
+        if ( parent && parent->IsKindOfControl( ECtrlControlGroup ) )
+            {
+            parent->UpdateExtResponseArea( iExtension->iExtResponseArea );
+            }
+        }
+    }
 
 // ---------------------------------------------------------------------------
 // CFepUiBaseCtrl::CFepUiBaseCtrlExtension
@@ -1342,11 +1439,17 @@
 // ---------------------------------------------------------------------------
 //
 
-CFepUiBaseCtrl::CFepUiBaseCtrlExtension::CFepUiBaseCtrlExtension(TInt aTactileType)
+CFepUiBaseCtrl::CFepUiBaseCtrlExtension::CFepUiBaseCtrlExtension()
 	{
 #ifdef RD_TACTILE_FEEDBACK
-	iTactileType = aTactileType;
+	iTactileType = ETouchFeedbackNone;
 #endif // RD_TACTILE_FEEDBACK 
+	
+	//temp code, can be removed after refactoring of CFepUiBaseCtrl::iExtension
+    iExtResponseAreaActive = EFalse;
+    iExtResponseArea.SetRect( TPoint(0,0), TSize(0,0) );
+    iExtResponseAreaEnabled = EFalse;
+    iExtResponseAreaMargin.SetRect( TPoint(0,0), TSize(0,0) );
 	}
 
 void CFepUiBaseCtrl::CFepUiBaseCtrlExtension::SetTactileFeedbackType(TInt aTactileType)
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbutton.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbutton.cpp	Tue May 11 16:31:42 2010 +0300
@@ -15,6 +15,7 @@
 *
 */
 
+#include <featmgr.h>
 #include <AknFepGlobalEnums.h>
 #include "peninputlayoutbutton.h"
 #include "peninputlayouttimer.h"
@@ -47,7 +48,23 @@
     CleanupStack::Pop(btn);
     return btn;    
     }
+
+// ---------------------------------------------------------------------------
+// CButtonBase::BaseConstructL
+// Do base contruction
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CButtonBase::BaseConstructL()
+    {
+    CFepUiBaseCtrl::BaseConstructL();
     
+    //tap accuracy enhancement
+    if( FeatureManager::FeatureSupported( KFeatureIdFfCapacitiveDisplay ))
+        {
+        EnableExtResponseArea( ETrue, TRect(TPoint(10,10),TSize(10,10)) );
+        }
+    }
+
 // ---------------------------------------------------------------------------
 // CButtonBase::CButtonBase
 // C++ default constructor
@@ -73,6 +90,7 @@
     
     SetBkColor(KDefaultButtonBackCol);
 
+    //todo code refactoring needed, move to BaseConstructL
 #ifdef RD_TACTILE_FEEDBACK     
     //Advanced Tactile feedback REQ417-47932
     if(aUiLayout)
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrol.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrol.mmp	Tue May 11 16:31:42 2010 +0300
@@ -99,8 +99,8 @@
 LIBRARY                 AknLayout2.lib
 LIBRARY                 CdlEngine.lib
 LIBRARY         		peninputpluginutils.lib
+LIBRARY                 featmgr.lib
 #ifdef RD_TACTILE_FEEDBACK
-LIBRARY                 FeatMgr.lib                // feature manager
 LIBRARY                 touchfeedback.lib
 #endif // RD_TACTILE_FEEDBACK
 #if defined(WINSCW)
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrolgroup.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutcontrolgroup.cpp	Tue May 11 16:31:42 2010 +0300
@@ -397,6 +397,15 @@
     for ( TInt i = iCtrlList.Count() - 1 ; i > -1 ; i-- )
         {
         ctrl = iCtrlList[i];
+        if ( ctrl->iExtension->iExtResponseAreaActive && ctrl->Contains( aPt ) )
+            {
+            return ctrl;
+            }
+        }
+    
+    for ( TInt i = iCtrlList.Count() - 1 ; i > -1 ; i-- )
+        {
+        ctrl = iCtrlList[i];
         if(!ctrl->Hiden() && ctrl->Contains(aPt))
             {
             return ctrl;
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp	Tue May 11 16:31:42 2010 +0300
@@ -670,7 +670,8 @@
             
             AdjustSelectionL( icfdata.iCurSel );
             RecalcualteTextPositionL();
-            SetMsgBubbleRect();
+            //SetMsgBubbleRect();
+            SetMsgBubbleRectAccordingToLanguage();
             Draw();
             }
             break;
@@ -826,7 +827,8 @@
         }
     else
         {
-        SetMsgBubbleRect();
+        //SetMsgBubbleRect();
+		SetMsgBubbleRectAccordingToLanguage();
         SetInfoBubbleRect();
         }    
     }
@@ -1193,7 +1195,7 @@
     TInt baseLine = iFont->AscentInPixels()/2 + rect.Height()/2;
     
     TRect clipRect = 
-        TRect( TPoint(Rect().iTl.iX, rect.iTl.iY), TPoint( Rect().iBr.iX, rect.iBr.iY));    
+        TRect( TPoint(Rect().iTl.iX + 1, rect.iTl.iY), TPoint( Rect().iBr.iX - 1, rect.iBr.iY));
     
     gc->SetClippingRect( clipRect );
     gc->Clear( clipRect );
@@ -1313,7 +1315,9 @@
         }
 
     TRAP_IGNORE(RecalcualteTextPositionL());        
-    SetMsgBubbleRect();
+    
+    //SetMsgBubbleRect();
+    SetMsgBubbleRectAccordingToLanguage();
     }
 
 void CFepLayoutMultiLineIcfEditor::ResetViewHeightL()
@@ -1365,6 +1369,31 @@
     iTextView->SetViewRect(iViewRect);
     }
 
+void CFepLayoutMultiLineIcfEditor::SetMsgBubbleRectAccordingToLanguage()
+	{
+	if ( iPreLanguageID == ELangPrcChinese || 
+		 iPreLanguageID == ELangHongKongChinese ||
+		 iPreLanguageID == ELangTaiwanChinese ||
+		 iPreLanguageID == ELangKorean )
+		{
+		SetMsgBubbleRect();
+		return;
+		}
+	else
+		{
+		if(( !iMsgBubble->IsShowing() && !iHideBubbleTemp ) ||
+				iLineMaxCount < 1 || iCursorSel.iCursorPos < 0 )
+			{
+			return;
+			}
+		
+		iMsgBubble->Popup( iMsgBubble->Rect());		        
+		iHideBubbleTemp = EFalse;
+		
+		return;
+		}
+	}
+
 void CFepLayoutMultiLineIcfEditor::SetMsgBubbleRect()
     {
     if( ( !iMsgBubble->IsShowing() && !iHideBubbleTemp ) ||
@@ -1741,7 +1770,8 @@
 		iTextView->HandleGlobalChangeNoRedrawL();
 		iTextView->SetSelectionL( iTextView->Selection() );
 		RecalcualteTextPositionL();
-		SetMsgBubbleRect();
+		//SetMsgBubbleRect();
+		SetMsgBubbleRectAccordingToLanguage();
 		Draw();
     }
 
@@ -2680,7 +2710,8 @@
     {
     TRAP_IGNORE(iMsgBubble->SetTextL(aText));
     iHideBubbleTemp = ETrue;
-    SetMsgBubbleRect();
+    //SetMsgBubbleRect();
+    SetMsgBubbleRectAccordingToLanguage();
     }
     
 void CFepLayoutMultiLineIcfEditor::ShowByteWarningBubble(const TDesC& aInfo)
@@ -2780,7 +2811,8 @@
             {
             iTextView->SetViewLineAtTopL(( lineIndex + 1 ) - ( iLineMaxCount - 1 ));
             RecalcualteTextPositionL();
-            SetMsgBubbleRect();
+            //SetMsgBubbleRect();
+            SetMsgBubbleRectAccordingToLanguage();
             }
         }
     
@@ -2799,7 +2831,8 @@
                                    lineCount - pageCount + 1 < 1 ? 1 : lineCount - pageCount + 1 );
             
             RecalcualteTextPositionL();
-            SetMsgBubbleRect();
+            //SetMsgBubbleRect();
+            SetMsgBubbleRectAccordingToLanguage();
             }
         }
     }
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutvkbkeyctrl.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutvkbkeyctrl.cpp	Tue May 11 16:31:42 2010 +0300
@@ -22,6 +22,7 @@
 #include <eikenv.h>
 #include <AknsConstants.h>
 #include <AknUtils.h>
+#include <featmgr.h>
 
 #include "peninputlayoutvirtualkeyctrl.h"
 #include "peninputlayoutvkb.h"
@@ -102,6 +103,12 @@
 void CVirtualKeyCtrl::ConstructL()
     {
     BaseConstructL();
+    
+    //tap accuracy enhancement
+    if( FeatureManager::FeatureSupported( KFeatureIdFfCapacitiveDisplay ))
+        {
+        EnableExtResponseArea( ETrue, TRect(TPoint(10,10),TSize(10,10)) );
+        }
     }
 
 // ---------------------------------------------------------------------------
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp	Tue May 11 16:31:42 2010 +0300
@@ -2272,18 +2272,20 @@
 		    
         if((TBidiText::TextDirectionality(aText) == TBidiText:: ERightToLeft) && (aText.Length() > 1))
           {
-          HBufC* displayStr = aText.AllocLC();
-         
-          TInt i = 0;
-          TInt charNum = displayStr->Length();
-         
-          while(i < charNum)
-              {
-              displayStr->Des()[i] = aText[(charNum-1)-i];
-              ++i;
-              }
-           TRAP_IGNORE(iBubbleCtrl->SetTextL(*displayStr));     
-           CleanupStack::PopAndDestroy(displayStr);
+       
+              HBufC* displayStr = aText.Alloc();			 
+			  TInt i = 0;
+			  TInt charNum = displayStr->Length();
+			 
+			  while(i < charNum)
+				  {
+				  displayStr->Des()[i] = aText[(charNum-1)-i];
+				  ++i;
+				  }
+			   TRAP_IGNORE(iBubbleCtrl->SetTextL(*displayStr)); 
+			   
+			   delete displayStr;
+        
           }
        else
           {
--- a/textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputcommonctrls/src/peninputselectionlist/peninputscrollablelist.cpp	Tue May 11 16:31:42 2010 +0300
@@ -545,21 +545,17 @@
     CalcPageInfo();
     iContentRect = TRect(TPoint(), TSize(2*iHorizontalMargin + iItemSize.iWidth, 
                        (iOnePageItemCnt + 1)*iVerticalMargin + iOnePageItemCnt*iItemSize.iHeight));
-    TRect ctrlRect = iContentRect;
-
-    iItemRects.Reset();
-    for (TInt i = 0; i < iOnePageItemCnt; i++)
-        {
-        iItemRects.Append(TRect(TPoint(iContentRect.iTl.iX + iHorizontalMargin, 
-                                       iContentRect.iTl.iY + (i+1)* iVerticalMargin + 
-                                       i * iItemSize.iHeight) , 
-                                       iItemSize));
-        }        
 
     if (iNaviBtnShown)
         {
-        iScrollRect = TRect(TPoint(iContentRect.Width(), 0), 
-                            TSize(2*iHorizontalMargin + iNaviSize.iWidth, iContentRect.Height()));
+		TInt nWidthPager = 2 * iHorizontalMargin + iNaviSize.iWidth;
+		TInt nXposPager = iContentRect.Width();
+		if (iAlign == CGraphicsContext::ERight)
+			{
+		    iContentRect.Move(nWidthPager, 0);
+			nXposPager = 0;
+			}
+		iScrollRect = TRect(TPoint(nXposPager, 0), TSize(nWidthPager, iContentRect.Height()));
         iPageUpRect = TRect(TPoint(iScrollRect.iTl.iX + iHorizontalMargin, 
                                    iScrollRect.iTl.iY + iVerticalMargin),
                             iNaviSize);
@@ -579,10 +575,24 @@
         iPageInfoRect = TRect(TPoint(iScrollRect.iTl.iX, 
                               iScrollRect.iTl.iY + iScrollRect.Height()/2 - iNaviSize.iHeight/2),
                               iNaviSize);
-
-        ctrlRect.BoundingRect(iScrollRect);
         }
-
+    else
+    	{
+		iScrollRect = TRect(0, 0, 0, 0);
+    	}
+    
+    iItemRects.Reset();
+    for (TInt i = 0; i < iOnePageItemCnt; i++)
+        {
+        iItemRects.Append(TRect(TPoint(iContentRect.iTl.iX + iHorizontalMargin, 
+									   iContentRect.iTl.iY + (i + 1)* iVerticalMargin + 
+                                       i * iItemSize.iHeight) , 
+                                       iItemSize));
+        }
+    
+    TRect ctrlRect = iContentRect;
+    if (!iScrollRect.IsEmpty())
+    	ctrlRect.BoundingRect(iScrollRect);
     SetRect(ctrlRect);
     UpdateNaviButtonStates();
     }
--- a/textinput/peninputcommonlayout/src/peninputlayoutwindowext.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputcommonlayout/src/peninputlayoutwindowext.cpp	Tue May 11 16:31:42 2010 +0300
@@ -48,6 +48,7 @@
 #include "peninputlayoutcontext.h"
 #include "peninputvkbctrlext.h"
 #include "peninputnumerickeymappingmgr.h"
+#include "peninputgenericvkb.hrh"
 
 // Constants
 const TInt KIntLengthForByte = 8;
@@ -645,6 +646,8 @@
         ( iLayoutContext->RequestData( EPeninputDataTypeCurrentRange ) );
     TInt curVkbLayout = CPeninputDataConverter::AnyToInt
         ( iLayoutContext->RequestData( EPeninputDataTypeVkbLayout ) );
+    TInt curLanguage =  CPeninputDataConverter::AnyToInt
+            ( iLayoutContext->RequestData( EPeninputDataTypeInputLanguage ) );
 
     CFepUiBaseCtrl* bar = 
         Control( EPeninutWindowCtrlIdRangeBar );
@@ -689,7 +692,7 @@
             iLayoutContext->LayoutType() == EPluginInputModeFSQ )
             {
             if ( ( aRange == ERangeEnglish ) || ( aRange == ERangeAccent ) 
-                || ( aRange == ERangeNativeNumber )
+                || (( aRange == ERangeNativeNumber ) && (iLayoutContext->LayoutType() != EPluginInputModeFSQ ))
                 || ( ConfigInfo()->CaseSensitive() 
                 && ( aRange == ERangeNative ) ) )
                 {
@@ -722,6 +725,29 @@
                 // Change vkb layout
                 ChangeVkbLayout( vkblayoutid );
                 }
+            // Deal these four language in special way
+            else if((( aRange == ERangeNativeNumber ) || ( aRange == ERangeNumber ))
+            		&& ( iLayoutContext->LayoutType() == EPluginInputModeFSQ )
+            		&& (( curLanguage == ELangArabic )
+            		|| ( curLanguage == ELangFarsi) 
+            		|| ( curLanguage == ELangUrdu )
+            		|| ( curLanguage == ELangThai )))
+            	{
+                 if ( !aVkbLayoutId )
+                     {
+                     TInt shiftFlag = ( aRange == ERangeNativeNumber )? 0:1;
+                     aVkbLayoutId = ( aRange == ERangeNativeNumber )? 
+                		     EPeninputVkbLayoutNativeNumberShift : EPeninputVkbLayoutLatinNumber;
+                		   
+                     TInt capslockFlag = 0;                   
+                   
+                     iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftFlag );
+                     iLayoutContext->SetData( EPeninputDataTypeCapslockDown, &capslockFlag );
+                   
+                     ChangeMergedButtonStatus( shiftFlag, capslockFlag );  
+                     }
+                ChangeVkbLayout( aVkbLayoutId );
+                }
             else
                 {
                 TInt flag = 0;
@@ -1139,6 +1165,10 @@
         ( iLayoutContext->RequestData( EPeninputDataTypeShiftDown ) );
     TInt capslockStatus = CPeninputDataConverter::AnyToInt
         ( iLayoutContext->RequestData( EPeninputDataTypeCapslockDown ) );
+    TInt languageStatus = CPeninputDataConverter::AnyToInt
+            ( iLayoutContext->RequestData( EPeninputDataTypeInputLanguage ));
+    TInt permittedRange = CPeninputDataConverter::AnyToInt
+                ( iLayoutContext->RequestData( EPeninputDataTypePermittedRange ));
      
     if ( shiftStatus )
         {
@@ -1188,7 +1218,32 @@
         vkbLayout = vkbLayout + curAccentIndex * 2;
         }
         
-    ChangeVkbLayout( vkbLayout );
+    TBool bSupportNative = ( languageStatus == ELangArabic )
+        		        || ( languageStatus == ELangFarsi) 
+        		        || ( languageStatus == ELangUrdu )
+        		        || ( languageStatus == ELangThai );
+    
+    // Click shift will change number between "native number" and "latin number"
+    if (( iLayoutContext->LayoutType() == EPluginInputModeFSQ ) 
+     && ( bSupportNative )
+     && (( ERangeNativeNumber == curRange ) || ( ERangeNumber == curRange )))
+    	{
+        if (( ERangeNumber == curRange )
+         && ( permittedRange & ERangeNativeNumber ))
+       	    {
+            vkbLayout = EPeninputVkbLayoutNativeNumberShift;
+            }
+    
+        if (( ERangeNativeNumber == curRange )
+         && ( permittedRange & ERangeNumber ))
+       	    {
+            vkbLayout = EPeninputVkbLayoutLatinNumber;
+            }
+    	}
+    else
+    	{
+        ChangeVkbLayout( vkbLayout );
+    	}
     
     // Synchronize case if needed    
     if ( ( curRange == ERangeEnglish )  || ( curRange == ERangeAccent ) 
@@ -1201,6 +1256,41 @@
         CPeninputDataConverter::IntToDesc( fepcase, buf );
         iLayoutContext->Sendkey( ESignalCaseMode, buf );
         }
+    else if ((( curRange == ERangeNumber ) || ( curRange == ERangeNativeNumber ))
+    	   && ( iLayoutContext->LayoutType() == EPluginInputModeFSQ )
+    	   && ( bSupportNative ))
+    	{
+        // If support native number, change range to native number
+        if( curRange == ERangeNumber && ( permittedRange & ERangeNativeNumber ))
+        	{
+            ChangeRange( ERangeNativeNumber, vkbLayout );
+        	}
+        // If not support native number, set shift state back
+        else if (( curRange == ERangeNumber ) && !( permittedRange & ERangeNativeNumber ))
+        	{
+            TInt shiftButton = 1;
+            TInt capslockButton = 0;
+            ChangeMergedButtonStatus( shiftButton, capslockButton );
+            iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftButton );
+        	}
+        // If support latin number, change range to latin number
+        else if (( curRange == ERangeNativeNumber ) && ( permittedRange & ERangeNumber ) )
+        	{
+            ChangeRange( ERangeNumber, vkbLayout );
+        	}
+        // If not support latin number, set shift state back
+        else if (( curRange == ERangeNativeNumber ) && !( permittedRange & ERangeNumber ))
+            {
+            TInt shiftButton = 0;
+            TInt capslockButton = 0;
+            ChangeMergedButtonStatus( shiftButton, capslockButton );
+            iLayoutContext->SetData( EPeninputDataTypeShiftDown, &shiftButton );
+            }
+    	}
+    else
+    	{
+        // Do nothing
+    	}
     
     
     }
--- a/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp	Tue May 11 16:31:42 2010 +0300
@@ -183,6 +183,11 @@
 CFepUiBaseCtrl* CPeninputFingerHwrRangeSelector::HandlePointerDownEventL(
     const TPoint& aPoint )
     {
+    // Cancel all highlighted button, when pressing down
+	iRangeChBtn->SetHighlight( EFalse );
+	iRangeEnBtn->SetHighlight( EFalse );
+	iRangeNumBtn->SetHighlight( EFalse );
+
     CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerDownEventL( aPoint );
     
     if ( !ctrl )
@@ -205,6 +210,14 @@
     {
     CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerUpEventL( aPoint );
 
+    // When upCtrl does not equal to down ctrl, restore the highlight button state.
+    if (ctrl != iCtrlWithPointerDown)
+         {
+         iRangeChBtn->SetHighlight( iCurRange == EFingerHwrNativeRange );
+         iRangeEnBtn->SetHighlight( iCurRange == EFingerHwrEnglishRange );
+         iRangeNumBtn->SetHighlight( iCurRange == EFingerHwrNumberRange );
+         }
+
     iRangeChBtn->CancelPointerDownL();
     iRangeEnBtn->CancelPointerDownL();
     iRangeNumBtn->CancelPointerDownL(); 
--- a/textinput/peninputfingerhwr/src/peninputfingerhwrwnd.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputfingerhwr/src/peninputfingerhwrwnd.cpp	Tue May 11 16:31:42 2010 +0300
@@ -498,6 +498,11 @@
 //
 void CPeninputFingerHwrWnd::SetInputLanguage( const TInt aLanguageId )
     {
+	if ( iContextField )
+		{
+		iContextField->SetLanguageId( aLanguageId );
+		}
+	
     // special punctuations
     const TInt KSpecialPuncPos[] = { 14, 15 };
     const TInt KSpecialChsPunc[] = { 0x300A, 0x300B };
--- a/textinput/peninputgenericitut/src/peninputgenericitutdatamgr.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericitut/src/peninputgenericitutdatamgr.cpp	Tue May 11 16:31:42 2010 +0300
@@ -216,8 +216,9 @@
 	
 	// icf indicator
 	TAknWindowLineLayout icfIndiPaneWithText, icfIndiPaneWithoutText, 
-        indiIcon, indiText;
-	TAknLayoutRect icfIndiPaneRectWithText, icfIndiPaneRectWithoutText, indiIconRect, indiTextRect;
+		indiIconWithText, indiIconWithoutText;
+	TAknLayoutRect icfIndiPaneRectWithText, icfIndiPaneRectWithoutText, 
+		indiIconRectWithText, indiIconRectWithoutText;
 	TAknTextLineLayout indiTextLayout;
 	
 	icfIndiPaneWithText = AknLayoutScalable_Avkon::icf_edit_indi_pane(1).LayoutLine();
@@ -228,8 +229,14 @@
 	icfIndiPaneRectWithoutText.LayoutRect(icfRect.Rect(), icfIndiPaneWithoutText);
 	iIndiPaneRectWithoutTextForPrtWest = icfIndiPaneRectWithoutText.Rect();
 	
-	iIndiIconRectWithTextForPrtWest = TRect( 0, 0, 60, 20 );
-	iIndiIconRectWithoutTextForPrtWest = TRect( 0, 0, 60, 20 );
+	indiIconWithText = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(1).LayoutLine();
+	indiIconRectWithText.LayoutRect( icfIndiPaneRectWithText.Rect(), indiIconWithText );
+	iIndiIconRectWithTextForPrtWest = indiIconRectWithText.Rect();
+	
+	indiIconWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(0).LayoutLine();
+	indiIconRectWithoutText.LayoutRect( 
+			icfIndiPaneRectWithoutText.Rect(), indiIconWithoutText );
+	iIndiIconRectWithoutTextForPrtWest = indiIconRectWithoutText.Rect();
 	
 	indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(0).LayoutLine();
 	iIndiTextForPrtWest = indiTextLayout;
@@ -420,7 +427,8 @@
 	
 	// Middle pane
 	TRect middleButtonPaneRect = spellwndtrect.Rect();
-	middleButtonPaneRect.Move( 5, 2 );
+	TInt leftMargin = itucellrect.Rect().iTl.iX;
+	middleButtonPaneRect.Move( leftMargin, 0 );
 	
 	middleBtn = AknLayoutScalable_Avkon::cell_ituss_key_pane(3).LayoutLine();
 	middleBtnRect.LayoutRect( bottompanerect.Rect(), middleBtn );
@@ -453,7 +461,7 @@
 	TRect cellSpellRect;
 	cellSpellRect.iTl.iX = middleButtonPaneRect.iTl.iX;
 	cellSpellRect.iTl.iY = middleButtonPaneRect.iTl.iY + 
-			itucellrect.Rect().Height() * 5 + 10;
+			itucellrect.Rect().Height() * 5 + 7;
 	cellSpellRect.SetHeight( itucellrect.Rect().Height());
 	cellSpellRect.SetWidth( itucellrect.Rect().Width());
 		
@@ -516,7 +524,12 @@
 	icfSpellIndiPane = AknLayoutScalable_Avkon::icf_edit_indi_pane(0).LayoutLine();
 	icfSpellIndiPaneRect.LayoutRect(queryICFPaneRect.Rect(), icfSpellIndiPane);
 	iSpellIndiPaneWithoutTextForPrtWest = icfSpellIndiPaneRect.Rect();
-	iSpellIndiIconWithoutTextForPrtWest = TRect( 0, 0, 50, 17 );
+	
+	TAknWindowLineLayout spellIndiIcon;
+	TAknLayoutRect spellIndiIconRect;
+	spellIndiIcon = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(0).LayoutLine();
+	spellIndiIconRect.LayoutRect( icfSpellIndiPaneRect.Rect(), spellIndiIcon );
+	iSpellIndiIconWithoutTextForPrtWest = spellIndiIconRect.Rect();
 	}
 
 void CGenericItutDataMgr::ReadLafInfo()
@@ -1064,22 +1077,11 @@
     iSpellClrRect = btnClrRect.Rect();
     iSpellClrInnerRect = btnClrInnerRect.Rect();  
     
-    iBtnTextFormat  = iVkAlphaText1;//btnOKText;
-	iBtnTextFormat1 = iVkAlphaText1;//btnCancleText;
-#ifdef LAF_MODIFY	
-// manully ajust.	
-    iBtnTextFormat.iFont = btnOKText.iFont;
-    iBtnTextFormat.il = iBtnTextFormat.il - 30 > 0? iBtnTextFormat.il - 30 : 0;
-    iBtnTextFormat.iB = 10;
-	iBtnTextFormat1.iFont = btnCancleText.iFont;
-    iBtnTextFormat1.il = iBtnTextFormat1.il - 30 > 0? iBtnTextFormat1.il - 30 : 0;
-	iBtnTextFormat1.iB = 10;
+    //iBtnTextFormat  = iVkAlphaText1;//btnOKText;
+	//iBtnTextFormat1 = iVkAlphaText1;//btnCancleText;
+    iBtnTextFormat = AknLayoutScalable_Apps::popup_vitu2_query_button_pane_t1(0).LayoutLine();
+    iBtnTextFormat1 = AknLayoutScalable_Apps::popup_vitu2_query_button_pane_t1(0).LayoutLine();
 	
-//	TInt offsetY = 50;
-//    iSpellICFRect.Move(0,-offsetY);
-//    iSpellClrRect.Move(0,-offsetY);
-//    iSpellClrInnerRect.Move( 0, -offsetY );
-#endif //LAF_MODIFY
 	
     // just test if there is size change of added ctrls
     iSendRect = iArrowLeftRect;
--- a/textinput/peninputgenericitut/src/peninputgenericitutwindow.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericitut/src/peninputgenericitutwindow.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1859,6 +1859,7 @@
     TRAP_IGNORE(iStandardItutKp->StarIcon()->ReConstructL());
     if ( iDataMgr->IsPortraitWest())
         {
+        TRAP_IGNORE(iStandardItutKp->StarIcon()->ReConstructL());
         TRAP_IGNORE(iStandardItutKp->ShiftIcon()->ResizeL(iDataMgr->iShiftIconRectForPrtWest.Size()));
         TRAP_IGNORE(iStandardItutKp->StarIcon()->ResizeL(iDataMgr->iStarIconRectForPrtWest.Size()));
         }
@@ -2191,7 +2192,7 @@
 	    									  KAknsIIDQsnFrInputPreviewMiddle,
 	    									  KAknsIIDQsnFrInputPreviewSideR);  
 	    iICF->SetMsgBubbleCtrlSize(TSize(iBubbleSize.iW,iBubbleSize.iH));
-	    iICF->MsgBubbleCtrl()->SetTextL( KEmptyString );
+	    TRAP_IGNORE(iICF->MsgBubbleCtrl()->SetTextL( KEmptyString ));
 		}
 	}
 void CGenericItutWindow::SetIndiWithTextFlag( TBool aFlag )
--- a/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -170,35 +170,38 @@
             break;        
         case EEventButtonUp:
             {
-            //from pen input switch button
-            if (aCtrl->ControlId() == ECtrlIdSwitch)
-                {
-                TRAP_IGNORE( iWindow->Icf()->UpdateSecretTextL() );
-                ShowInputModeSwitchL();
-                }
-            else if (aCtrl->ControlId() == ECtrlIdArrowUp)
-                {
-                TRAP_IGNORE(iWindow->Icf()->HandleArrowBtnEventL(
-                                                          CFepLayoutMultiLineIcf::EArrowUp));
-                }
-            else if (aCtrl->ControlId() == ECtrlIdArrowDown)
-                {
-                TRAP_IGNORE(iWindow->Icf()->HandleArrowBtnEventL(
-                                                          CFepLayoutMultiLineIcf::EArrowDown));
-                }
-            else if (aCtrl->ControlId() == ECtrlIdClose)
-                {
-                iLayoutOwner->SignalOwner(ESignalLayoutClosed);
-                }
-            else if (aCtrl->ControlId() == ECtrlIdOptions)
-                {
-                iLayoutOwner->SignalOwner(ESignalLaunchOptionsMenu);
-//                static_cast<CAknFepCtrlCommonButton*>(aCtrl)->SetDimmed(ETrue);
-                }
-            else if (aCtrl->ControlId() == ECtrlIdIndicator)
-                {
-                iLayoutOwner->SignalOwner(ESignalGetEditMenuData);
-                }                
+            if ( iAllowHandleRawKeyEvent )
+            	{
+				//from pen input switch button
+				if (aCtrl->ControlId() == ECtrlIdSwitch)
+					{
+					TRAP_IGNORE( iWindow->Icf()->UpdateSecretTextL() );
+					ShowInputModeSwitchL();
+					}
+				else if (aCtrl->ControlId() == ECtrlIdArrowUp)
+					{
+					TRAP_IGNORE(iWindow->Icf()->HandleArrowBtnEventL(
+															  CFepLayoutMultiLineIcf::EArrowUp));
+					}
+				else if (aCtrl->ControlId() == ECtrlIdArrowDown)
+					{
+					TRAP_IGNORE(iWindow->Icf()->HandleArrowBtnEventL(
+															  CFepLayoutMultiLineIcf::EArrowDown));
+					}
+				else if (aCtrl->ControlId() == ECtrlIdClose)
+					{
+					iLayoutOwner->SignalOwner(ESignalLayoutClosed);
+					}
+				else if (aCtrl->ControlId() == ECtrlIdOptions)
+					{
+					iLayoutOwner->SignalOwner(ESignalLaunchOptionsMenu);
+	//                static_cast<CAknFepCtrlCommonButton*>(aCtrl)->SetDimmed(ETrue);
+					}
+				else if (aCtrl->ControlId() == ECtrlIdIndicator)
+					{
+					iLayoutOwner->SignalOwner(ESignalGetEditMenuData);
+					}
+            	}
             }
             break;
         case EItutCmdArrowUp:
--- a/textinput/peninputgenericitut/src/peninputitutwesternuistatespelling.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericitut/src/peninputitutwesternuistatespelling.cpp	Tue May 11 16:31:42 2010 +0300
@@ -199,7 +199,7 @@
     iOwner->LayoutContext()->ShowArrowBtn(0);
     iOwner->LayoutContext()->Control(ECtrlIdBackspace)->Hide( ETrue );
     iOwner->LayoutContext()->Control(ECtrlIdICF)->Hide( ETrue );
-    iICF->SetPromptTextL( KNullDesC );
+    TRAP_IGNORE(iICF->SetPromptTextL( KNullDesC ));
     iOk->Hide(ETrue);
     iCancel->Hide(ETrue);
     iOwner->DataMgr()->SetSpellMode(EFalse);
--- a/textinput/peninputgenericvkb/group/bld.inf	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericvkb/group/bld.inf	Tue May 11 16:31:42 2010 +0300
@@ -22,6 +22,7 @@
 
 PRJ_EXPORTS
 ../loc/peninputgenericvkbaccentlist.loc MW_LAYER_LOC_EXPORT_PATH(peninputgenericvkbaccentlist.loc)
+../inc/peninputgenericvkb.hrh |../../../inc/peninputgenericvkb.hrh
 
 ../rom/peninputgenericvkb_variant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH( peninputgenericvkb_variant.iby )
 ../rom/peninputgenericvkbresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( peninputgenericvkbresources.iby )
--- a/textinput/peninputgenericvkb/src/peninputgenericlafdatamgr.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericlafdatamgr.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1096,9 +1096,9 @@
     
     // icf indicator
     TAknWindowLineLayout icfIndiPaneWithText, icfIndiPaneWithoutText, 
-        indiIconWithText, indiIconWithoutText, indiText;
-    TAknLayoutRect icfIndiPaneRectWithText, icfIndiPaneRectWithoutText, 
-    indiIconRectWithText, indiIconRectWithoutText, indiTextRect;
+		indiIconWithText, indiIconWithoutText;
+    TAknLayoutRect icfIndiPaneRectWithText, icfIndiPaneRectWithoutText,
+		indiIconRectWithText, indiIconRectWithoutText;
     TAknTextLineLayout indiTextLayout;
     
     icfIndiPaneWithText = AknLayoutScalable_Avkon::icf_edit_indi_pane(1).LayoutLine();
@@ -1108,9 +1108,14 @@
     icfIndiPaneWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane(0).LayoutLine();
     icfIndiPaneRectWithoutText.LayoutRect( rectICF, icfIndiPaneWithoutText );
     aDataInfo.iIndiPaneRectWithoutTextForFSQ = icfIndiPaneRectWithoutText.Rect();
-
-    aDataInfo.iIndiIconRectWithTextForFSQ = TRect( 0, 0, 60, 20 );
-    aDataInfo.iIndiIconRectWithoutTextForFSQ = TRect( 0, 0, 60, 20 );
+    
+    indiIconWithText = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(1).LayoutLine();
+    indiIconRectWithText.LayoutRect( icfIndiPaneRectWithText.Rect(), indiIconWithText );
+    aDataInfo.iIndiIconRectWithTextForFSQ = indiIconRectWithText.Rect();
+    
+    indiIconWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(0).LayoutLine();
+    indiIconRectWithoutText.LayoutRect( icfIndiPaneRectWithoutText.Rect(), indiIconWithoutText );
+    aDataInfo.iIndiIconRectWithoutTextForFSQ = indiIconRectWithoutText.Rect();
     
     indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(0).LayoutLine();
     aDataInfo.iIndiTextForFSQ = indiTextLayout;
--- a/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1219,6 +1219,7 @@
     TInt currentRange = IntContext( EPeninputDataTypeCurrentRange );
     TInt permittedRange = IntContext( EPeninputDataTypePermittedRange );
     TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent );
+    TInt currentLanguage = IntContext( EPeninputDataTypeInputLanguage );
     
     CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo();
     CPeninputRangeInfo* rgninfo = NULL;
@@ -1253,7 +1254,9 @@
             }
         }
     
-    if ( permittedRange & ERangeNativeNumber )
+    if (( permittedRange & ERangeNativeNumber ) && ( currentRange != ERangeNumber ) 
+    && (( ELangArabic == currentLanguage ) || ( ELangFarsi == currentLanguage ) 
+    || ( ELangUrdu == currentLanguage )))
         {
         rgninfo = rbinfo->FindRange( ERangeNativeNumber );
         if ( rgninfo && currentRange != ERangeNativeNumber )
@@ -1263,6 +1266,21 @@
             aRangeItems.Append( item );
             }
         }
+    else if(( permittedRange & ERangeNumber ) && ( currentRange != ERangeNumber ) 
+    		&& !(( ELangThai == currentLanguage ) && ( currentRange == ERangeNativeNumber )))
+       {
+       rgninfo = rbinfo->FindRange( ERangeNumber );
+       if ( rgninfo && currentRange != ERangeNumber )
+           {
+           item.iCommand = EPeninputVkbLayoutLatinNumber;
+           item.iText.Copy( iRangeLabels.iLabelLatinNumber );
+    	   aRangeItems.Append( item );
+    	   }
+        }
+    else
+      	{        
+            // Do nothing
+       }    
    
     if ( permittedRange & ERangeEnglish )
         {
@@ -1275,16 +1293,6 @@
             }
         }
     
-    if ( permittedRange & ERangeNumber )
-        {
-        rgninfo = rbinfo->FindRange( ERangeNumber );
-        if ( rgninfo && currentRange != ERangeNumber )
-            {
-            item.iCommand = EPeninputVkbLayoutLatinNumber;
-            item.iText.Copy( iRangeLabels.iLabelLatinNumber );
-            aRangeItems.Append( item );
-            }
-        }  
     }
 
 // ---------------------------------------------------------------------------
--- a/textinput/peninputsplititut/inc/peninputsplititutwindowmanager.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputsplititut/inc/peninputsplititutwindowmanager.h	Tue May 11 16:31:42 2010 +0300
@@ -247,6 +247,8 @@
      */
     inline CSplitItutWindow* Window();
     
+    void SetLanguage( TInt aLanguage );
+    
 private:
     /**
      * C++ constructor
--- a/textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp	Tue May 11 16:31:42 2010 +0300
@@ -316,24 +316,22 @@
     spellwndtrect.LayoutRect(rect, spellwnd);    
     
     // icf in spell mode
-    TAknWindowLineLayout icfpane, querypane, focuspane, 
+    TAknWindowLineLayout icfpane, focuspane, 
 		bottomInnerBtn, middleInnerBtn, middleBtn;
-    TAknLayoutRect icfpaneRect, querypaneRect, focuspaneRect, 
+    TAknLayoutRect icfpaneRect, focuspaneRect, 
 		bottomButton, bottomInnerRect, middleBtnRect, okBtnRect, cancelBtnRect;
     
     icfpane = AknLayoutScalable_Avkon::popup_fep_vtchi_icf_pane(1).LayoutLine();
     icfpaneRect.LayoutRect(rect, icfpane);
     
-    querypane = AknLayoutScalable_Avkon::vtchi_query_pane().LayoutLine();
-    querypaneRect.LayoutRect(icfpaneRect.Rect(), querypane);
-        
     focuspane = AknLayoutScalable_Avkon::vtchi_query_pane(0).LayoutLine();
-    focuspaneRect.LayoutRect(querypaneRect.Rect(), focuspane);
+    focuspaneRect.LayoutRect(icfpaneRect.Rect(), focuspane);
     iSpellICFRect = focuspaneRect.Rect();
     
     // Middle pane
 	TRect middleButtonPaneRect = spellwndtrect.Rect();
-	middleButtonPaneRect.Move( 5, 2 );
+	TInt leftMargin = itucellrect.Rect().iTl.iX;
+	middleButtonPaneRect.Move( leftMargin, 0 );
 	
 	middleBtn = AknLayoutScalable_Avkon::cell_ituss_key_pane(3).LayoutLine();
 	middleBtnRect.LayoutRect( splitpanerect.Rect(), middleBtn );
@@ -361,7 +359,7 @@
 	TRect cellSpellRect;
 	cellSpellRect.iTl.iX = middleButtonPaneRect.iTl.iX;
 	cellSpellRect.iTl.iY = middleButtonPaneRect.iTl.iY + 
-			itucellrect.Rect().Height() * 5 + 10;
+			itucellrect.Rect().Height() * 5 + 7;
 	cellSpellRect.SetHeight( itucellrect.Rect().Height());
 	cellSpellRect.SetWidth( itucellrect.Rect().Width());
 
@@ -390,15 +388,19 @@
 	iSpellBackSpcaceInner = bottomInnerRect.Rect();
     
 	// icf indicator
-	TAknWindowLineLayout icfIndiPaneWithoutText, indiIcon, indiText;
-	TAknLayoutRect icfIndiPaneRectWithoutText, indiIconRect, indiTextRect;
+	TAknWindowLineLayout icfIndiPaneWithoutText;
+	TAknLayoutRect icfIndiPaneRectWithoutText;
 	TAknTextLineLayout indiTextLayout;
 	
 	icfIndiPaneWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane(0).LayoutLine();
-	icfIndiPaneRectWithoutText.LayoutRect(icfpaneRect.Rect(), icfIndiPaneWithoutText);
+	icfIndiPaneRectWithoutText.LayoutRect( focuspaneRect.Rect(), icfIndiPaneWithoutText );
 	iIndiPaneRectWithoutTextForPrtWest = icfIndiPaneRectWithoutText.Rect();
 	
-	iIndiIconRectWithoutTextForPrtWest = TRect( 0, 0, 60, 20 );
+	TAknWindowLineLayout spellIndiIcon;
+	TAknLayoutRect spellIndiIconRect;
+	spellIndiIcon = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(0).LayoutLine();
+	spellIndiIconRect.LayoutRect( icfIndiPaneRectWithoutText.Rect(), spellIndiIcon );
+	iIndiIconRectWithoutTextForPrtWest = spellIndiIconRect.Rect();
 	
 	indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(0).LayoutLine();
 	iIndiTextForPrtWest = indiTextLayout;  
--- a/textinput/peninputsplititut/src/peninputsplititutlayout.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutlayout.cpp	Tue May 11 16:31:42 2010 +0300
@@ -418,6 +418,7 @@
     {
     TInt previousLang = iDataMgr->InputLanguage();
     iDataMgr->SetLanguageL(aLanguage);
+    iWindowMgr->SetLanguage( aLanguage );
     
     if (previousLang != aLanguage)
         {
--- a/textinput/peninputsplititut/src/peninputsplititutwindowmanager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutwindowmanager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -507,5 +507,14 @@
     {
     iWindow->SetPromptTextL(aData);
     }
-         
+
+void CSplitItutWindowManager::SetLanguage( TInt aLanguage )
+    {
+	CFepLayoutMultiLineIcf* icf = iWindow->Icf();
+	if ( icf )
+		{
+		icf->SetLanguageId( aLanguage );
+		}
+    }
+
 // End Of File
--- a/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1868,6 +1868,7 @@
     TInt currentRange = IntContext( EPeninputDataTypeCurrentRange );
     TInt permittedRange = IntContext( EPeninputDataTypePermittedRange );
     TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent );
+    TInt currentLanguage = IntContext( EPeninputDataTypeInputLanguage );
     
     CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo();
     CPeninputRangeInfo* rgninfo = NULL;
@@ -1903,7 +1904,9 @@
             }
         }
     
-    if ( permittedRange & ERangeNativeNumber )
+    if (( permittedRange & ERangeNativeNumber ) && ( currentRange != ERangeNumber ) 
+    && (( ELangArabic == currentLanguage ) || ( ELangFarsi == currentLanguage ) 
+    || ( ELangUrdu == currentLanguage )))
         {
         rgninfo = rbinfo->FindRange( ERangeNativeNumber );
         if ( rgninfo && currentRange != ERangeNativeNumber )
@@ -1913,6 +1916,21 @@
             aRangeItems.Append( item );
             }
         }
+    else if(( permittedRange & ERangeNumber ) && ( currentRange != ERangeNumber ) 
+    		&& !(( ELangThai == currentLanguage ) && ( currentRange == ERangeNativeNumber )))
+       {
+       rgninfo = rbinfo->FindRange( ERangeNumber );
+       if ( rgninfo && currentRange != ERangeNumber )
+           {
+           item.iCommand = EPeninputVkbLayoutLatinNumber;
+           item.iText.Copy( iRangeLabels.iLabelLatinNumber );
+    	   aRangeItems.Append( item );
+    	   }
+        }
+    else
+      	{        
+            // Do nothing
+       }    
    
     if ( permittedRange & ERangeEnglish )
         {
@@ -1924,16 +1942,5 @@
             aRangeItems.Append( item );
             }
         }
-    
-    if ( permittedRange & ERangeNumber )
-        {
-        rgninfo = rbinfo->FindRange( ERangeNumber );
-        if ( rgninfo && currentRange != ERangeNumber )
-            {
-            item.iCommand = EPeninputVkbLayoutLatinNumber;
-            item.iText.Copy( iRangeLabels.iLabelLatinNumber );
-            aRangeItems.Append( item );
-            }
-        }  
     }
 // End Of File
--- a/textinput/peninputvkbcn/ctrlsrc/peninputvkbclientarea.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputvkbcn/ctrlsrc/peninputvkbclientarea.cpp	Tue May 11 16:31:42 2010 +0300
@@ -119,7 +119,8 @@
 void CAknFepVkbClientArea::SetTextProperty()
 	{
     TAknTextLineLayout compositionText;
-    compositionText = AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
+    //compositionText = AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
+    compositionText = AknLayoutScalable_Avkon::cell_vkb2_top_candi_pane_t1(0).LayoutLine();
 
     iCompositionField->SetNormalColor(AKN_LAF_COLOR_STATIC(compositionText.iC));
     iCompositionField->SetWarningColor(KRgbRed);
@@ -321,8 +322,10 @@
     // modify drop down list font
     if (iDataProvider->SizeChanging() || (!iDropdownPropertySet))
     	{
+        //TAknTextLineLayout listText = 
+        //      AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
         TAknTextLineLayout listText = 
-                                AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
+        		AknLayoutScalable_Avkon::cell_vkb2_top_candi_pane_t1(0).LayoutLine();
         iDropdownList->SetFont(AknLayoutUtils::FontFromId(listText.iFont, NULL));
         //iDropdownList->SetTextColor(AKN_LAF_COLOR_STATIC(listText.iC), ETrue);
 
@@ -1751,8 +1754,10 @@
     TInt btnHeight = iDataProvider->RequestData(EAknFepDataTypeUnitHeight);
         	
     	
+    //TAknTextLineLayout listText = 
+    //    AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
     TAknTextLineLayout listText = 
-                              AknLayoutScalable_Avkon::cell_vkb_candidate_pane_t1().LayoutLine();
+        AknLayoutScalable_Avkon::cell_vkb2_top_candi_pane_t1(0).LayoutLine();
 
     TDropdownListDrawInfo candiDrawInfo(KAknsIIDQsnFrFunctionButtonInactive, 
     						            KAknsIIDQsnFrFunctionButtonNormal,
--- a/textinput/peninputvkbcn/src/peninputvkblayout.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputvkbcn/src/peninputvkblayout.cpp	Tue May 11 16:31:42 2010 +0300
@@ -874,6 +874,13 @@
     //1.Notify engine the language need to change
     //const TDesC& showText = iDataMgr->SetInputLanguage(aLangID);
     TInt switchDisplayLang = iDataMgr->SetInputLanguage(aLangID);
+    
+    CFepLayoutMultiLineIcf* icf = iVkbWindow->InputContextField();
+    if ( icf )
+    	{
+		icf->SetLanguageId( aLangID );
+    	}
+    
     TBuf<10> showText;    
     AknPenInputUtils::GetISOLanguageCode(TLanguage(switchDisplayLang), showText);
     
--- a/textinput/peninputvkbcn/srcdata/peninputvkbcn.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputvkbcn/srcdata/peninputvkbcn.rss	Tue May 11 16:31:42 2010 +0300
@@ -904,7 +904,7 @@
     
     colormajorskinid=EAknsMajorSkin;
     textcolorgrp=EAknsMinorQsnTextColors;
-    textcoloridx=59;
+    textcoloridx = 64;
 
     bordercolormajorskinid=EAknsMajorSkin;
     bordercolorgrp=EAknsMinorQsnOtherColors;
--- a/textinput/ptienginev2/inc/PtiEngine.inl	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/inc/PtiEngine.inl	Tue May 11 16:31:42 2010 +0300
@@ -304,6 +304,11 @@
 			return EFalse;
 			}				
 		}
+	
+	if (iCurrentLanguage->LanguageCode() == ELangGreek && aChar == 0x3C2)
+	    {
+	    return EFalse;
+	    }
 
 	return ETrue;	
 	}	
--- a/textinput/ptienginev2/keymaps/EMU/ELangArabic.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangArabic.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,110 +45,74 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031
-key upper (1 2) 0x0021
-key lower (1 3) 0x0032
-key upper (1 3) 0x0022
-key lower (1 4) 0x0033
-key upper (1 4) 0x20ac
-key lower (1 5) 0x0034
-key upper (1 5) 0x0024
-key lower (1 6) 0x0035
-key upper (1 6) 0x0025
-key lower (1 7) 0x0036
-key upper (1 7) 0x0026
-key lower (1 8) 0x0037
-key upper (1 8) 0x002a
-key lower (1 9) 0x0038
-key upper (1 9) 0x0029
-key lower (1 10) 0x0039
-key upper (1 10) 0x0028
-key lower (1 11) 0x0030
-key upper (1 11) 0x003d
-key lower (3 2) 0x0634
-key upper (3 2) 0x0634
-key lower (4 6) 0xfefb
-key upper (4 6) 0xfef5
-key lower (4 4) 0x0624
-key upper (4 4) 0x0624
-key lower (3 4) 0x064a
-key upper (3 4) 0x064a
-key lower (2 4) 0x062b
-key upper (2 4) 0x062b
-key lower (3 5) 0x0628
-key upper (3 5) 0x0628
-key lower (3 6) 0x0644
-key upper (3 6) 0x0fef7
-key lower (3 7) 0x0627
-key upper (3 7) 0x0623
-key lower (2 9) 0x0647
-key upper (2 9) 0x0647
-key lower (3 8) 0x062a
-key upper (3 8) 0x062a
-key lower (3 9) 0x0646
-key upper (3 9) 0x0646
-key lower (3 10) 0x0645
-key upper (3 10) 0x0645
-key lower (4 8) 0x0629
-key upper (4 8) 0x0629
-key lower (4 7) 0x0649
-key upper (4 7) 0x0622
-key lower (2 10) 0x062e
-key upper (2 10) 0x062e
-key lower (2 11) 0x062d
-key upper (2 11) 0x061b
-key lower (2 2) 0x0636
-key upper (2 2) 0x0636
-key lower (2 5) 0x0642
-key upper (2 5) 0x0642
-key lower (3 3) 0x0633
-key upper (3 3) 0x0633
-key lower (2 6) 0x0641
-key upper (2 6) 0xfef9
-key lower (2 8) 0x0639
-key upper (2 8) 0x0639
-key lower (4 5) 0x0631
-key upper (4 5) 0x0631
-key lower (2 3) 0x0635
-key upper (2 3) 0x0635
-key lower (4 3) 0x0621
-key upper (4 3) 0x0621
-key lower (2 7) 0x063a
-key upper (2 7) 0x0625
-key lower (4 2) 0x0626
-key upper (4 2) 0x0626
-key lower (2 1) 0x002d
-key upper (2 1) 0x0040
-key lower (2 12) 0x062c
-key upper (2 12) 0x062f
-key lower (4 9) 0x0648
-key upper (4 9) 0x060c
-key lower (3 11) 0x0643
-key upper (3 11) 0x003a
-key lower (4 10) 0x0632
-key upper (4 10) 0x002e
-key lower (3 1) 0x002b
-key upper (3 1) 0x0023
-key lower (4 11) 0x0638
-key upper (4 11) 0x061f
-key lower (3 12) 0x0637
-key upper (3 12) 0x0630
+key lower (1 1) 0x0636
+key upper (1 1) 0x0029
+key lower (1 2) 0x0635
+key upper (1 2) 0x0028
+key lower (1 3) 0x062B
+key upper (1 3) 0x005C
+key lower (1 4) 0x0642
+key upper (1 4) 0x0644,0x0622
+key lower (1 5) 0x0641
+key upper (1 5) 0x0644,0x0627
+key lower (1 6) 0x063A
+key upper (1 6) 0x0625
+key lower (1 7) 0x0639
+key upper (1 7) 0x0022
+key lower (1 8) 0x0647
+key upper (1 8) 0x0027
+key lower (1 9) 0x062E
+key upper (1 9) 0x061B
+key lower (1 10) 0x062D
+key upper (1 10) 0x060C
+key lower (1 11) 0x062C
+key upper (1 11) 0x002E
+key lower (2 1) 0x0634
+key upper (2 1) 0x005D
+key lower (2 2) 0x0633
+key upper (2 2) 0x005B
+key lower (2 3) 0x064A
+key upper (2 3) 0x002D
+key lower (2 4) 0x0628
+key upper (2 4) 0x002B
+key lower (2 5) 0x0644
+key upper (2 5) 0x0644,0x0625
+key lower (2 6) 0x0627
+key upper (2 6) 0x0623
+key lower (2 7) 0x062A
+key upper (2 7) 0x201D
+key lower (2 8) 0x0646
+key upper (2 8) 0x201E
+key lower (2 9) 0x0645
+key upper (2 9) 0x003B
+key lower (2 10) 0x0643
+key upper (2 10) 0x003A
+key lower (2 11) 0x062F
+key upper (2 11) 0x002C
+key lower (3 1) 0x0626
+key upper (3 1) 0x003E
+key lower (3 2) 0x0621
+key upper (3 2) 0x003C
+key lower (3 3) 0x0624
+key upper (3 3) 0x00A7
+key lower (3 4) 0x0631
+key upper (3 4) 0x003D
+key lower (3 5) 0x0649
+key upper (3 5) 0x0644,0x0623
+key lower (3 6) 0x0629
+key upper (3 6) 0x0622
+key lower (3 7) 0x0648
+key upper (3 7) 0x0026
+key lower (3 8) 0x0632
+key upper (3 8) 0x0640
+key lower (3 9) 0x0638
+key upper (3 9) 0x003F
+key lower (3 10) 0x0637
+key upper (3 10) 0x0021
+key lower (3 11) 0x0630
+key upper (3 11) 0x061F
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key E (2 4) upper
-numeric_mode_key / (4 11) lower
-numeric_mode_key ? (4 11) upper
-numeric_mode_key , (4 9) lower
-numeric_mode_key ; (3 11) lower
 
 #
 # Three row mini qwerty keymap data. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/keymaps/EMU/ELangBrazilianPortuguese.txt	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,324 @@
+##
+# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  PtiEngine keymapping file.
+#
+[KEYBOARD BLOCK 12-KEY]
+
+key lower (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key upper (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key lower (1 2) 0x61,0x62,0x63,0x32,0xe3,0xe1,0xe0,0xe2,0xaa,0xe4,0xe5,0xe6,0xe7
+key upper (1 2) 0x41,0x42,0x43,0x32,0xc3,0xc1,0xc0,0xc2,0xaa,0xc4,0xc5,0xc6,0xc7
+key lower (1 3) 0x64,0x65,0x66,0x33,0xe9,0xea,0xe8,0xeb,0xf0
+key upper (1 3) 0x44,0x45,0x46,0x33,0xc9,0xca,0xc8,0xcb,0xd0
+key lower (2 1) 0x67,0x68,0x69,0x34,0xed,0xec,0xee,0xef
+key upper (2 1) 0x47,0x48,0x49,0x34,0xcd,0xcc,0xce,0xcf
+key lower (2 2) 0x6a,0x6b,0x6c,0x35,0xa3
+key upper (2 2) 0x4a,0x4b,0x4c,0x35,0xa3
+key lower (2 3) 0x6d,0x6e,0x6f,0x36,0xf5,0xf3,0xf4,0xba,0xf2,0xf6,0xf8,0xf1
+key upper (2 3) 0x4d,0x4e,0x4f,0x36,0xd5,0xd3,0xd4,0xba,0xd2,0xd6,0xd8,0xd1
+key lower (3 1) 0x70,0x71,0x72,0x73,0x37,0xdf,0x24
+key upper (3 1) 0x50,0x51,0x52,0x53,0x37,0x24
+key lower (3 2) 0x74,0x75,0x76,0x38,0xfa,0xfc,0xf9,0xfb
+key upper (3 2) 0x54,0x55,0x56,0x38,0xda,0xdc,0xd9,0xdb
+key lower (3 3) 0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe
+key upper (3 3) 0x57,0x58,0x59,0x5a,0x39,0xdd,0xde
+key lower (4 2) 0x20,0x30,0x21b2
+key upper (4 2) 0x20,0x30,0x21b2
+
+#
+# Standard 4x12 qwerty keymap data
+#
+[KEYBOARD BLOCK QWERTY STANDARD]
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00EA,0x00E8,0x00E9
+key upper (1 3) 0x0045,0x00CA,0x00C8,0x00C9
+deadkeydata lower (1 3) 0x00EA,0x00E8,0xf000,0x00E9,0xf000
+deadkeydata upper (1 3) 0x00CA,0x00C8,0xf000,0x00C9,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0xf000,0xf000,0xf000,0x0155,0xf000
+deadkeydata upper (1 4) 0xf000,0xf000,0xf000,0x0154,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0xf000,0xf000,0xf000,0x00FD,0xf000
+deadkeydata upper (1 6) 0xf000,0xf000,0xf000,0x00DD,0xf000
+key lower (1 7) 0x0075,0x00FB,0x00F9,0x00FA
+key upper (1 7) 0x0055,0x00DB,0x00D9,0x00DA
+deadkeydata lower (1 7) 0x00FB,0x00F9,0xf000,0x00FA,0xf000
+deadkeydata upper (1 7) 0x00DB,0x00D9,0xf000,0x00DA,0xf000
+key lower (1 8) 0x0069,0x00EE,0x00EC,0x00ED
+key upper (1 8) 0x0049,0x00CE,0x00CC,0x00CD
+deadkeydata lower (1 8) 0x00EE,0x00EC,0xf000,0x00ED,0xf000
+deadkeydata upper (1 8) 0x00CE,0x00CC,0xf000,0x00CD,0xf000
+key lower (1 9) 0x006F,0x00F4,0x00F2,0x00F5,0x00F3
+key upper (1 9) 0x004F,0x00D4,0x00D2,0x00D5,0x00D3
+deadkeydata lower (1 9) 0x00F4,0x00F2,0x00F5,0x00F3,0xf000
+deadkeydata upper (1 9) 0x00D4,0x00D2,0x00D5,0x00D3,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xf004,0x00B4
+key upper (1 11) 0xf004,0x00B4
+key lower (2 1) 0x0061,0x00E2,0x00E0,0x00E3,0x00E1
+key upper (2 1) 0x0041,0x00C2,0x00C0,0x00C3,0x00C1
+deadkeydata lower (2 1) 0x00E2,0x00E0,0x00E3,0x00E1,0xf000
+deadkeydata upper (2 1) 0x00C2,0x00C0,0x00C3,0x00C1,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0xf000,0xf000,0xf000,0x015B,0xf000
+deadkeydata upper (2 2) 0xf000,0xf000,0xf000,0x015A,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0xf000,0xf000,0xf000,0x013A,0xf000
+deadkeydata upper (2 9) 0xf000,0xf000,0xf000,0x0139,0xf000
+key lower (2 10) 0x00E7
+key upper (2 10) 0x00C7
+key lower (2 11) 0xf003,0x007E
+key upper (2 11) 0xf003,0x007E
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0xf000,0xf000,0xf000,0x017A,0xf000
+deadkeydata upper (3 1) 0xf000,0xf000,0xf000,0x0179,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0xf000,0xf000,0xf000,0x0107,0xf000
+deadkeydata upper (3 3) 0xf000,0xf000,0xf000,0x0106,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0xf000,0xf000,0xf000,0x0144,0xf000
+deadkeydata upper (3 6) 0xf000,0xf000,0xf000,0x0143,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0xf002,0x0060
+key upper (3 10) 0xf002,0x0060
+key lower (3 11) 0xf001,0x005E
+key upper (3 11) 0xf001,0x005E
+
+#
+# Three row mini qwerty keymap data. 
+#
+[KEYBOARD BLOCK QWERTY 3X11]
+
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key fn_lower (1 1) 0x0031
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key fn_lower (1 2) 0x0032
+key lower (1 3) 0x0065,0x00EA,0x00E9,0x00E8,0x00EB
+key upper (1 3) 0x0045,0x00CA,0x00C9,0x00C8,0x00CB
+key fn_lower (1 3) 0x0033
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key fn_lower (1 4) 0x0034
+key lower (1 5) 0x0074,0x00FE
+key upper (1 5) 0x0054,0x00DE
+key fn_lower (1 5) 0x0035
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+key fn_lower (1 6) 0x0036
+key lower (1 7) 0x0075,0x00FA,0x00FB,0x00F9,0x00FC
+key upper (1 7) 0x0055,0x00DA,0x00DB,0x00D9,0x00DC
+key fn_lower (1 7) 0x0037
+key lower (1 8) 0x0069,0x00ED,0x00EE,0x00EC,0x00EF
+key upper (1 8) 0x0049,0x00CD,0x00CE,0x00CC,0x00CF
+key fn_lower (1 8) 0x0038
+key lower (1 9) 0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8
+key upper (1 9) 0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8
+key fn_lower (1 9) 0x0039
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key fn_lower (1 10) 0x0030
+key lower (2 1) 0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6
+key upper (2 1) 0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6
+key fn_lower (2 1) 0x0040
+key lower (2 2) 0x0073,0x00DF
+key upper (2 2) 0x0053
+key fn_lower (2 2) 0x002F
+key lower (2 3) 0x0064,0x00F0
+key upper (2 3) 0x0044,0x00D0
+key fn_lower (2 3) 0x002B
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key fn_lower (2 4) 0x002D
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key fn_lower (2 5) 0x002A
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key fn_lower (2 6) 0x0023
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key fn_lower (2 7) 0x003D
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key fn_lower (2 8) 0x003F
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key fn_lower (2 9) 0x0021
+key lower (2 10) 0x00E7
+key upper (2 10) 0x00C7
+key fn_lower (2 10) 0x0027
+key lower (3 2) 0x007A
+key upper (3 2) 0x005A
+key fn_lower (3 2) 0x0028
+key lower (3 3) 0x0078
+key upper (3 3) 0x0058
+key fn_lower (3 3) 0x0029
+key lower (3 4) 0x0063,0x00E7
+key upper (3 4) 0x0043,0x00C7
+key fn_lower (3 4) 0x0025
+key lower (3 5) 0x0076
+key upper (3 5) 0x0056
+key fn_lower (3 5) 0x002C
+key lower (3 6) 0x0062
+key upper (3 6) 0x0042
+key fn_lower (3 6) 0x002E
+key lower (3 7) 0x006E,0x00F1
+key upper (3 7) 0x004E,0x00D1
+key fn_lower (3 7) 0x003B
+key lower (3 8) 0x006D
+key upper (3 8) 0x004D
+key fn_lower (3 8) 0x003A
+
+#
+# Four row mini qwerty keymap data. 
+#
+[KEYBOARD BLOCK QWERTY 4X10]
+
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key fn_lower (1 1) 0x0021
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key fn_lower (1 2) 0x0022
+key lower (1 3) 0x0065,0x00EA,0x00E9,0x00E8,0x00EB
+key upper (1 3) 0x0045,0x00CA,0x00C9,0x00C8,0x00CB
+key fn_lower (1 3) 0x0031
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key fn_lower (1 4) 0x0031
+key lower (1 5) 0x0074,0x00FE
+key upper (1 5) 0x0054,0x00DE
+key fn_lower (1 5) 0x0032
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+key fn_lower (1 6) 0x0032
+key lower (1 7) 0x0075,0x00FA,0x00FB,0x00F9,0x00FC
+key upper (1 7) 0x0055,0x00DA,0x00DB,0x00D9,0x00DC
+key fn_lower (1 7) 0x0033
+key lower (1 8) 0x0069,0x00ED,0x00EE,0x00EC,0x00EF
+key upper (1 8) 0x0049,0x00CD,0x00CE,0x00CC,0x00CF
+key fn_lower (1 8) 0x0033
+key lower (1 9) 0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8
+key upper (1 9) 0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8
+key fn_lower (1 9) 0x002B
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6
+key upper (2 1) 0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6
+key fn_lower (2 1) 0x002F
+key lower (2 2) 0x0073,0x00DF
+key upper (2 2) 0x0053
+key fn_lower (2 2) 0x0025
+key lower (2 3) 0x0064,0x00F0
+key upper (2 3) 0x0044,0x00D0
+key fn_lower (2 3) 0x0034
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key fn_lower (2 4) 0x0034
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key fn_lower (2 5) 0x0035
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key fn_lower (2 6) 0x0035
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key fn_lower (2 7) 0x0036
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key fn_lower (2 8) 0x0036
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key fn_lower (2 9) 0x00E7
+key fn_upper (2 9) 0x00C7
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key fn_lower (3 1) 0x002D
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key fn_lower (3 2) 0x003D
+key lower (3 3) 0x0063,0x00E7
+key upper (3 3) 0x0043,0x00C7
+key fn_lower (3 3) 0x0037
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key fn_lower (3 4) 0x0037
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key fn_lower (3 5) 0x0038
+key lower (3 6) 0x006E,0x00F1
+key upper (3 6) 0x004E,0x00D1
+key fn_lower (3 6) 0x0038
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key fn_lower (3 7) 0x0039
+key lower (3 8) 0x002C
+key upper (3 8) 0x003B
+key fn_lower (3 8) 0x0039
+key lower (3 9) 0x002E
+key upper (3 9) 0x003A
+key fn_lower (3 9) 0x0027
+key lower (4 3) 0x0040
+key fn_lower (4 3) 0x002A
+key lower (4 4) 0x003F
+key fn_lower (4 4) 0x002A
+key fn_lower (4 5) 0x0030
+key fn_lower (4 6) 0x0030
+key lower (4 7) 0x00B4
+key upper (4 7) 0x0060
+key fn_lower (4 7) 0x0023
+key lower (4 8) 0x007E
+key upper (4 8) 0x005E
+key fn_lower (4 8) 0x0023
+
+#end of file
+
--- a/textinput/ptienginev2/keymaps/EMU/ELangBulgarian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangBulgarian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,107 +45,73 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x3f
-key lower (1 4) 0x33
-key upper (1 4) 0x2b
-key lower (1 5) 0x34
-key upper (1 5) 0x22
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x3d
-key lower (1 8) 0x37
-key upper (1 8) 0x3a
-key lower (1 9) 0x38
-key upper (1 9) 0x2f
-key lower (1 10) 0x39
-key upper (1 10) 0x5f
-key lower (1 11) 0x30
-key upper (1 11) 0x3b
-key lower (3 2) 0x44f
-key upper (3 2) 0x42f
-key lower (4 6) 0x444
-key upper (4 6) 0x424
-key lower (4 4) 0x44a
-key upper (4 4) 0x42a
-key lower (3 4) 0x43e
-key upper (3 4) 0x41e
-key lower (2 4) 0x438
-key upper (2 4) 0x418
-key lower (3 5) 0x436
-key upper (3 5) 0x416
-key lower (3 6) 0x433
-key upper (3 6) 0x413
-key lower (3 7) 0x442
-key upper (3 7) 0x422
-key lower (2 9) 0x434
-key upper (2 9) 0x414
-key lower (3 8) 0x43d
-key upper (3 8) 0x41d
-key lower (3 9) 0x432
-key upper (3 9) 0x412
-key lower (3 10) 0x43c
-key upper (3 10) 0x41c
-key lower (4 8) 0x43f
-key upper (4 8) 0x41f
-key lower (4 7) 0x445
-key upper (4 7) 0x425
-key lower (2 10) 0x437
-key upper (2 10) 0x417
-key lower (2 11) 0x446
-key upper (2 11) 0x426
-key lower (2 2) 0x443
-key upper (2 2) 0x423
-key lower (2 5) 0x448
-key upper (2 5) 0x428
-key lower (3 3) 0x430
-key upper (3 3) 0x410
-key lower (2 6) 0x449
-key upper (2 6) 0x429
-key lower (2 8) 0x441
-key upper (2 8) 0x421
-key lower (4 5) 0x44d
-key upper (4 5) 0x42d
-key lower (2 3) 0x435
-key upper (2 3) 0x415
-key lower (4 3) 0x439
-key upper (4 3) 0x419
-key lower (2 7) 0x43a
-key upper (2 7) 0x41a
-key lower (4 2) 0x44e
-key upper (4 2) 0x42e
-key lower (2 1) 0x2c
-key upper (2 1) 0x44b
-key lower (2 12) 0x2e
-key upper (2 12) 0x2d
-key lower (4 9) 0x440
-key upper (4 9) 0x420
-key lower (3 11) 0x447
-key upper (3 11) 0x427
-key lower (4 10) 0x43b
-key upper (4 10) 0x41b
-key lower (3 1) 0x44c
-key upper (3 1) 0x42c
-key lower (4 11) 0x431
-key upper (4 11) 0x411
-key lower (3 12) 0x28
-key upper (3 12) 0x29
+key lower (1 1) 0x002C
+key upper (1 1) 0x044B
+key lower (1 2) 0x0443
+key upper (1 2) 0x0423
+key lower (1 3) 0x0435
+key upper (1 3) 0x0415
+key lower (1 4) 0x0438
+key upper (1 4) 0x0418
+key lower (1 5) 0x0448
+key upper (1 5) 0x0428
+key lower (1 6) 0x0449
+key upper (1 6) 0x0429
+key lower (1 7) 0x043A
+key upper (1 7) 0x041A
+key lower (1 8) 0x0441
+key upper (1 8) 0x0421
+key lower (1 9) 0x0434
+key upper (1 9) 0x0414
+key lower (1 10) 0x0437
+key upper (1 10) 0x0417
+key lower (1 11) 0x0446
+key upper (1 11) 0x0426
+key lower (2 1) 0x044C
+key upper (2 1) 0x042C
+key lower (2 2) 0x044F
+key upper (2 2) 0x042F
+key lower (2 3) 0x0430
+key upper (2 3) 0x0410
+key lower (2 4) 0x043E
+key upper (2 4) 0x041E
+key lower (2 5) 0x0436
+key upper (2 5) 0x0416
+key lower (2 6) 0x0433
+key upper (2 6) 0x0413
+key lower (2 7) 0x0442
+key upper (2 7) 0x0422
+key lower (2 8) 0x043D
+key upper (2 8) 0x041D
+key lower (2 9) 0x0432
+key upper (2 9) 0x0412
+key lower (2 10) 0x043C
+key upper (2 10) 0x041C
+key lower (2 11) 0x0447
+key upper (2 11) 0x0427
+key lower (3 1) 0x044E
+key upper (3 1) 0x042E
+key lower (3 2) 0x0439
+key upper (3 2) 0x0419
+key lower (3 3) 0x044A
+key upper (3 3) 0x042A
+key lower (3 4) 0x044D
+key upper (3 4) 0x042D
+key lower (3 5) 0x0444
+key upper (3 5) 0x0424
+key lower (3 6) 0x0445
+key upper (3 6) 0x0425
+key lower (3 7) 0x043F
+key upper (3 7) 0x041F
+key lower (3 8) 0x0440
+key upper (3 8) 0x0420
+key lower (3 9) 0x043B
+key upper (3 9) 0x041B
+key lower (3 10) 0x0431
+key upper (3 10) 0x0411
+key lower (3 11) 0x002E
+key upper (3 11) 0x003F
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key * (1 9) upper
-numeric_mode_key # (3 1) lower
-numeric_mode_key E (2 4) upper
 
 # End of file
--- a/textinput/ptienginev2/keymaps/EMU/ELangCanadianFrench.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangCanadianFrench.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,112 +45,100 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031
-key upper (1 2) 0x0021
-key lower (1 3) 0x0032
-key upper (1 3) 0x0040 
-key lower (1 4) 0x0033
-key upper (1 4) 0x0023
-key lower (1 5) 0x0034
-key upper (1 5) 0x0024
-key lower (1 6) 0x0035
-key upper (1 6) 0x003F
-key lower (1 7) 0x0036
-key upper (1 7) 0x002B
-key lower (1 8) 0x0037
-key upper (1 8) 0x002D
-key lower (1 9) 0x0038
-key upper (1 9) 0x002A
-key lower (1 10) 0x0039
-key upper (1 10) 0x0028
-key lower (1 11) 0x0030
-key upper (1 11) 0x0029
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
 
-key lower (2 1) 0xF001,0x005E 
-key upper (2 1) 0xF002,0x00A8
-key lower (2 2) 0x0071
-key upper (2 2) 0x0051
-key lower (2 3) 0x0077
-key upper (2 3) 0x0057
-key lower (2 4) 0x0065,0x00EB,0x00EA,0x00E8,0x00E9
-key upper (2 4) 0x0045,0x00CB,0x00CA,0x00C8,0x00C9
-key lower (2 5) 0x0072
-key upper (2 5) 0x0052
-key lower (2 6) 0x0074,0x00FE
-key upper (2 6) 0x0054,0x00DE
-key lower (2 7) 0x0079,0x00FD
-key upper (2 7) 0x0059,0x00DD
-key lower (2 8) 0x0075,0x00F9,0x00FB,0x00FA,0x00FC
-key upper (2 8) 0x0055,0x00D9,0x00DB,0x00DA,0x00DC
-key lower (2 9) 0x0069,0x00EF,0x00EE,0x00EC,0x00ED
-key upper (2 9) 0x0049,0x00CF,0x00CE,0x00CC,0x00CD
-key lower (2 10) 0x006F,0x0153,0x00F4,0x00F2,0x00F3,0x00F5,0x00F6,0x00F8
-key upper (2 10) 0x004F,0x0152,0x00D4,0x00D2,0x00D3,0x00D5,0x00D6,0x00D8
-key lower (2 11) 0x0070
-key upper (2 11) 0x0050
-key lower (2 12) 0x00E7
-key upper (2 12) 0x00C7
+key lower (1 3) 0x0065,0x00ea,0x00e8,0x00eb,0x00e9
+key upper (1 3) 0x0045,0x00ca,0x00c8,0x00cb,0x00c9
+deadkeydata lower (1 3) 0x00ea,0x00e8,0x00eb,0x00e9,0xf000
+deadkeydata upper (1 3) 0x00ca,0x00c8,0x00cb,0x00c9,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0xf000,0xf000,0xf000,0x0155,0xf000
+deadkeydata upper (1 4) 0xf000,0xf000,0xf000,0x0154,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00ff,0x00fd
+key upper (1 6) 0x0059,0x0178,0x00dd
+deadkeydata lower (1 6) 0xf000,0xf000,0x00ff,0x00fd,0xf000
+deadkeydata upper (1 6) 0xf000,0xf000,0x0178,0x00dd,0xf000
+key lower (1 7) 0x0075,0x00fb,0x00f9,0x00fc,0x00fa
+key upper (1 7) 0x0055,0x00db,0x00d9,0x00dc,0x00da
+deadkeydata lower (1 7) 0x00fb,0x00f9,0x00fc,0x00fa,0xf000
+deadkeydata upper (1 7) 0x00db,0x00d9,0x00dc,0x00da,0xf000
+key lower (1 8) 0x0069,0x00ee,0x00ec,0x00ef,0x00ed
+key upper (1 8) 0x0049,0x00ce,0x00cc,0x00cf,0x00cd
+deadkeydata lower (1 8) 0x00ee,0x00ec,0x00ef,0x00ed,0xf000
+deadkeydata upper (1 8) 0x00ce,0x00cc,0x00cf,0x00cd,0xf000
+key lower (1 9) 0x006F,0x00f4,0x00f2,0x00F6,0x00f3
+key upper (1 9) 0x004F,0x00d4,0x00d2,0x00D6,0x00d3
+deadkeydata lower (1 9) 0x00f4,0x00f2,0x00F6,0x00f3,0xf000
+deadkeydata upper (1 9) 0x00d4,0x00d2,0x00D6,0x00d3,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x005E
 
-key lower (3 1) 0x003B
-key upper (3 1) 0x003A
-key lower (3 2) 0x0061,0x00E6,0x00E2,0x00E0,0x00E1,0x00E3,0x00E4,0x00E5
-key upper (3 2) 0x0041,0x00C6,0x00C2,0x00C0,0x00C1,0x00C3,0x00C4,0x00C5
-key lower (3 3) 0x0073,0x00DF
-key upper (3 3) 0x0053
-key lower (3 4) 0x0064,0x00F0
-key upper (3 4) 0x0044,0x00D0
-key lower (3 5) 0x0066
-key upper (3 5) 0x0046
-key lower (3 6) 0x0067
-key upper (3 6) 0x0047
-key lower (3 7) 0x0068
-key upper (3 7) 0x0048
-key lower (3 8) 0x006A
-key upper (3 8) 0x004A
-key lower (3 9) 0x006B
-key upper (3 9) 0x004B
-key lower (3 10) 0x006C
-key upper (3 10) 0x004C
-key lower (3 11) 0x00E8
-key upper (3 11) 0x00C8
-key lower (3 12) 0x00E0
-key upper (3 12) 0x00C0
+key upper (1 11) 0xF001,0x005E
+key lower (2 1) 0x0061,0x00E2,0x00E0,0x00E1
+key upper (2 1) 0x0041,0x00C2,0x00C0,0x00C1
+deadkeydata lower (2 1) 0x00E2,0x00E0,0xF000,0x00E1,0xF000
+deadkeydata upper (2 1) 0x00C2,0x00C0,0xF000,0x00C1,0xF000
+key lower (2 2) 0x0073,0x015b
+key upper (2 2) 0x0053,0x015a
+deadkeydata lower (2 2) 0xf000,0xf000,0xf000,0x015b,0xf000
+deadkeydata upper (2 2) 0xf000,0xf000,0xf000,0x015a,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013a
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0xf000,0xf000,0xf000,0x013a,0xf000
+deadkeydata upper (2 9) 0xf000,0xf000,0xf000,0x0139,0xf000
+key lower (2 10) 0xF004,0x00B4
+key upper (2 10) 0xF004,0x00B4
+key lower (2 11) 0xF002,0x0060
+key upper (2 11) 0xF002,0x0060
 
-key lower (4 2) 0x007A
-key upper (4 2) 0x005A
-key lower (4 3) 0x0078
-key upper (4 3) 0x0058
-key lower (4 4) 0x0063,0x00E7
-key upper (4 4) 0x0043,0x00C7
-key lower (4 5) 0x0076
-key upper (4 5) 0x0056
-key lower (4 6) 0x0062
-key upper (4 6) 0x0042
-key lower (4 7) 0x006E,0x00F1
-key upper (4 7) 0x004E,0x00D1
-key lower (4 8) 0x006D
-key upper (4 8) 0x004D
-key lower (4 9) 0x002C
-key upper (4 9) 0x0027
-key lower (4 10) 0x002E
-key upper (4 10) 0x0022
-key lower (4 11) 0x00E9
-key upper (4 11) 0x00C9
+key lower (3 1) 0x007A,0x017a
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0xf000,0xf000,0xf000,0x017a,0xf000
+deadkeydata upper (3 1) 0xf000,0xf000,0xf000,0x0179,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0xf000,0xf000,0xf000,0x0107,0xf000
+deadkeydata upper (3 3) 0xf000,0xf000,0xf000,0x0106,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0xf000,0xf000,0xf000,0x0144,0xf000
+deadkeydata upper (3 6) 0xf000,0xf000,0xf000,0x0143,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0027
+key lower (3 10) 0x00E7
+key upper (3 10) 0x00C7
+key lower (3 11) 0xF003,0x00A8
+key upper (3 11) 0xF003,0x00A8
 
-#
-# Dead key data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00EA,0x00EB,0xf000,0xf000,0xf000
-dead_key_data upper (2 4) 0x00CA,0x00CB,0xf000,0xf000,0xf000
-dead_key_data lower (2 8) 0x00FB,0x00FC,0xf000,0xf000,0xf000
-dead_key_data upper (2 8) 0x00DB,0x00DC,0xf000,0xf000,0xf000
-dead_key_data lower (2 9) 0x00EE,0x00EF,0xf000,0xf000,0xf000
-dead_key_data upper (2 9) 0x00CE,0x00CF,0xf000,0xf000,0xf000
-dead_key_data lower (2 10) 0x00F4,0x00F6,0xf000,0xf000,0xf000
-dead_key_data upper (2 10) 0x00D4,0x00D6,0xf000,0xf000,0xf000
-dead_key_data lower (3 2) 0x00E2,0x00E4,0xf000,0xf000,0xf000
-dead_key_data upper (3 2) 0x00C2,0x00C4,0xf000,0xf000,0xf000
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangCatalan.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangCatalan.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,113 +45,97 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x40
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x2b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x2a
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x27
-key lower (3 2) 0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6
-key upper (3 2) 0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xeb,0xe8,0xea
-key upper (2 4) 0x45,0xc9,0xcb,0xc8,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xef,0xec,0xee
-key upper (2 9) 0x49,0xcd,0xcf,0xcc,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8
-key upper (2 10) 0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xfa,0xf9,0xfb
-key upper (2 8) 0x55,0xdc,0xda,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x3f
-key upper (2 1) 0x21
-key lower (2 12) 0xf001,0xb4
-key upper (2 12) 0xf002,0xa8
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf1,0xe7
-key upper (3 11) 0xd1,0xc7
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0xbf
-key upper (3 1) 0xa1
-key lower (4 11) 0x2d
-key upper (4 11) 0xf003,0x60
-key lower (3 12) 0xf005,0x7e
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x0140
+key upper (2 10) 0x013F
+key lower (2 11) 0x00E7
+key upper (2 11) 0x00C7
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x00BF
+key lower (3 11) 0x0021
+key upper (3 11) 0x00A1
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9,0x00EB,0x00E8,0x00EA,0xF000
-dead_key_data upper (2 4) 0x00C9,0x00CB,0x00C8,0x00CA,0xF000
-dead_key_data lower (2 7) 0x00FD,0xF000,0xF000,0xF000,0xF000
-dead_key_data upper (2 7) 0x00DD,0xF000,0xF000,0xF000,0xF000
-dead_key_data lower (2 8) 0x00FA,0x00FC,0x00F9,0x00FB,0xF000
-dead_key_data upper (2 8) 0x00DA,0x00DC,0x00D9,0x00DB,0xF000
-dead_key_data lower (2 9) 0x0069,0x00ED,0x00EF,0x00EC,0x00EE
-dead_key_data upper (2 9) 0x00CD,0x00CF,0x00CC,0x00CE,0xF000
-dead_key_data lower (2 10) 0x00F3,0x00F6,0x00F2,0x00F4,0x00F5
-dead_key_data upper (2 10) 0x00D3,0x00D6,0x00D2,0x00D4,0x00D5
-dead_key_data lower (3 2) 0x00E1,0x00E4,0x00E0,0x00E2,0x00E3
-dead_key_data upper (3 2) 0x00C1,0x00C4,0x00C0,0x00C2,0x00C3
-dead_key_data lower (4 7) 0xF000,0xF000,0xF000,0xF000,0x00F1
-dead_key_data upper (4 7) 0xF000,0xF000,0xF000,0xF000,0x00D1
 
 #
 # 4x10 mini qwerty keymap data. These are from Surfer keymap spec
--- a/textinput/ptienginev2/keymaps/EMU/ELangChineseLatin.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangChineseLatin.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,95 +45,74 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031
-key upper (1 2) 0x0021
-key lower (1 3) 0x0032 
-key upper (1 3) 0x0022 
-key lower (1 4) 0x0033
-key upper (1 4) 0x0024
-key lower (1 5) 0x0034
-key upper (1 5) 0x20AC
-key lower (1 6) 0x0035
-key upper (1 6) 0x0025
-key lower (1 7) 0x0036
-key upper (1 7) 0x0026
-key lower (1 8) 0x0037
-key upper (1 8) 0x002A
-key lower (1 9) 0x0038
-key upper (1 9) 0x0028
-key lower (1 10) 0x0039
-key upper (1 10) 0x0029
-key lower (1 11) 0x0030
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
 
-key lower (2 1) 0x002B
-key upper (2 1) 0x003D
-key lower (2 2) 0x0071
-key upper (2 2) 0x0051
-key lower (2 3) 0x0077 
-key upper (2 3) 0x0057
-key lower (2 4) 0x0065,0x00E8,0x00E9,0x00EA,0x00EB
-key upper (2 4) 0x0045,0x00C8,0x00C9,0x00CA,0x00CB
-key lower (2 5) 0x0072
-key upper (2 5) 0x0052
-key lower (2 6) 0x0074,0x00FE
-key upper (2 6) 0x0054,0x00DE
-key lower (2 7) 0x0079,0x00FD
-key upper (2 7) 0x0059,0x00DD
-key lower (2 8) 0x0075,0x00F9,0x00FA,0x00FB,0x00FC
-key upper (2 8) 0x0055,0x00D9,0x00DA,0x00DB,0x00DC
-key lower (2 9) 0x0069,0x00EC,0x00ED,0x00EE,0x00EF
-key upper (2 9) 0x0049,0x00CC,0x00CD,0x00CE,0x00CF
-key lower (2 10) 0x006F,0x00F6,0x00F8,0x00F2,0x00F3,0x00F4,0x00F5
-key upper (2 10) 0x004F,0x00D6,0x00D8,0x00D2,0x00D3,0x00D4,0x00D5
-key lower (2 11) 0x0070
-key upper (2 11) 0x0050
-key lower (2 12) 0x002D
-key upper (2 12) 0x005C
+key upper (1 10) 0x0050
+key lower (1 11) 0x003A
+key upper (1 11) 0x003A
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
 
-key lower (3 1) 0x0023
-key upper (3 1) 0x007E
-key lower (3 2) 0x0061,0x00E4,0x00E6,0x00E5,0x00E0,0x00E1,0x00E2,0x00E3
-key upper (3 2) 0x0041,0x00C4,0x00C6,0x00C5,0x00C0,0x00C1,0x00C2,0x00C3
-key lower (3 3) 0x0073,0x00DF
-key upper (3 3) 0x0053
-key lower (3 4) 0x0064,0x00F0
-key upper (3 4) 0x0044,0x00D0
-key lower (3 5) 0x0066
-key upper (3 5) 0x0046
-key lower (3 6) 0x0067
-key upper (3 6) 0x0047
-key lower (3 7) 0x0068
-key upper (3 7) 0x0048
-key lower (3 8) 0x006A
-key upper (3 8) 0x004A
-key lower (3 9) 0x006B
-key upper (3 9) 0x004B
-key lower (3 10) 0x006C
-key upper (3 10) 0x004C
-key lower (3 11) 0x003A
-key upper (3 11) 0x003B
-key lower (3 12) 0x0027
-key upper (3 12) 0x0040
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0028
+key upper (2 10) 0x0028
+key lower (2 11) 0x0029
+key upper (2 11) 0x0029
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
 
-key lower (4 2) 0x007A
-key upper (4 2) 0x005A
-key lower (4 3) 0x0078
-key upper (4 3) 0x0058
-key lower (4 4) 0x0063,0x00E7
-key upper (4 4) 0x0043,0x00C7
-key lower (4 5) 0x0076
-key upper (4 5) 0x0056
-key lower (4 6) 0x0062
-key upper (4 6) 0x0042
-key lower (4 7) 0x006E,0x00F1
-key upper (4 7) 0x004E,0x00D1
-key lower (4 8) 0x006D
-key upper (4 8) 0x004D
-key lower (4 9) 0x002C
-key upper (4 9) 0x003C
-key lower (4 10) 0x002E
-key upper (4 10) 0x003E
-key lower (4 11) 0x002F
-key upper (4 11) 0x003F
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002C
+key lower (3 9) 0x002E
+key upper (3 9) 0x002E
+key lower (3 10) 0x003F
+key upper (3 10) 0x003F
+key lower (3 11) 0x0021
+key upper (3 11) 0x0021
 
 # End of file
--- a/textinput/ptienginev2/keymaps/EMU/ELangCroatian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangCroatian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x40
-key lower (1 7) 0x36
-key upper (1 7) 0x27
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe1,0xe2,0xe4,0x103,0x105
-key upper (3 2) 0x41,0xc1,0xc2,0xc4,0x102,0x104
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63
-key upper (4 4) 0x43
-key lower (3 4) 0x64,0x111,0x10f
-key upper (3 4) 0x44,0x110,0x10e
-key lower (2 4) 0x65,0xe9,0x119,0x11b
-key upper (2 4) 0x45,0xc9,0x118,0x11a
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x142
-key upper (3 10) 0x4c,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x144,0x148
-key upper (4 7) 0x4e,0x143,0x147
-key lower (2 10) 0x6f,0xf3,0xf4,0xf6,0x151
-key upper (2 10) 0x4f,0xd3,0xd4,0xd6,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0xdf,0x15b,0x15f
-key upper (3 3) 0x53,0x15a,0x15e
-key lower (2 6) 0x74,0x163,0x165
-key upper (2 6) 0x54,0x162,0x164
-key lower (2 8) 0x75,0xfa,0xfc,0x16f,0x171
-key upper (2 8) 0x55,0xda,0xdc,0x16e,0x170
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x7a,0x17a,0x17c
-key upper (2 7) 0x5a,0x179,0x17b
-key lower (4 2) 0x79,0xfd
-key upper (4 2) 0x59,0xdd
-key lower (2 1) 0x2d
-key upper (2 1) 0x3d
-key lower (2 12) 0x161,0x111
-key upper (2 12) 0x160,0x110
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0x10d
-key upper (3 11) 0x10c
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x17e
-key upper (4 11) 0x17d
-key lower (3 12) 0x107
-key upper (3 12) 0x106
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x007A
+key upper (1 6) 0x005A
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x0161
+key upper (1 11) 0x0160
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x010D
+key upper (2 10) 0x010C
+key lower (2 11) 0x0107
+key upper (2 11) 0x0106
+key lower (3 1) 0x0079
+key upper (3 1) 0x0059
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0x017E
+key upper (3 10) 0x017D
+key lower (3 11) 0x0111
+key upper (3 11) 0x0110
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangCzech.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangCzech.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,132 +45,102 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x23
-key upper (1 2) 0x31
-key lower (1 3) 0x161
-key upper (1 3) 0x32
-key lower (1 4) 0x10d
-key upper (1 4) 0x33
-key lower (1 5) 0x40
-key upper (1 5) 0x34
-key lower (1 6) 0x17e
-key upper (1 6) 0x35
-key lower (1 7) 0xfd
-key upper (1 7) 0x36
-key lower (1 8) 0xe1
-key upper (1 8) 0x37
-key lower (1 9) 0xed
-key upper (1 9) 0x38
-key lower (1 10) 0xe9
-key upper (1 10) 0x39
-key lower (1 11) 0x22
-key upper (1 11) 0x30
-key lower (3 2) 0x61,0xe1,0x103,0xe2,0x105,0xe4
-key upper (3 2) 0x41,0xc1,0x102,0xc2,0x104,0xc4
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x10d,0x107
-key upper (4 4) 0x43,0x10c,0x106
-key lower (3 4) 0x64,0x10f,0x111
-key upper (3 4) 0x44,0x10e,0x110
-key lower (2 4) 0x65,0x11b,0xe9,0x119
-key upper (2 4) 0x45,0x11a,0xc9,0x118
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x13e,0x13a,0x142
-key upper (3 10) 0x4c,0x13d,0x139,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x148,0x144
-key upper (4 7) 0x4e,0x147,0x143
-key lower (2 10) 0x6f,0xf3,0xf6,0x151,0xf4
-key upper (2 10) 0x4f,0xd3,0xd6,0x150,0xd4
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x159,0x155
-key upper (2 5) 0x52,0x158,0x154
-key lower (3 3) 0x73,0x161,0xdf,0x15b,0x15f
-key upper (3 3) 0x53,0x160,0x15a,0x15e
-key lower (2 6) 0x74,0x165,0x163
-key upper (2 6) 0x54,0x164,0x162
-key lower (2 8) 0x75,0x16f,0xfa,0xfc,0x171,0xf9,0xfb
-key upper (2 8) 0x55,0x16e,0xda,0xdc,0x170,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a,0x17e,0x17a,0x17c
-key upper (4 2) 0x5a,0x17d,0x179,0x17b
-key lower (2 1) 0x2b
-key upper (2 1) 0x2a
-key lower (2 12) 0xe4
-key upper (2 12) 0x2f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3f
-key lower (3 11) 0xf001,0xb4
-key upper (3 11) 0xf003,0xb0
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x28
-key upper (3 1) 0x29
-key lower (4 11) 0x2d
-key upper (4 11) 0x21
-key lower (3 12) 0xf002,0x2c7
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9,0x011B
+key upper (1 3) 0x0045,0x00C9,0x011A
+deadkeydata lower (1 3) 0x00E9,0x011B,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0x011A,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155,0x0159
+key upper (1 4) 0x0052,0x0154,0x0158
+deadkeydata lower (1 4) 0x0155,0x0159,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0x0158,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074,0xf000,0x0165
+key upper (1 5) 0x0054,0x0164
+deadkeydata lower (1 5) 0xf000,0x0165,0xf000,0xf000,0xf000
+deadkeydata upper (1 5) 0xf000,0x0164,0xf000,0xf000,0xf000
+key lower (1 6) 0x007A,0x017A,0x017E
+key upper (1 6) 0x005A,0x0179,0x017D
+deadkeydata lower (1 6) 0x017A,0x017E,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x0179,0x017D,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B,0x0161
+key upper (2 2) 0x0053,0x015A,0x0160
+deadkeydata lower (2 2) 0x015B,0x0161,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0x0160,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064,0x010F
+key upper (2 3) 0x0044,0x010E
+deadkeydata lower (2 3) 0xf000,0x010F,0xf000,0xf000,0xf000
+deadkeydata upper (2 3) 0xf000,0x010E,0xf000,0xf000,0xf000
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x016F
+key upper (2 10) 0x016E
+key lower (2 11) 0xF002,0x02C7
+key upper (2 11) 0xF002,0x02C7
+key lower (3 1) 0x0079,0x00FD
+key upper (3 1) 0x0059,0x00DD
+deadkeydata lower (3 1) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107,0x010D
+key upper (3 3) 0x0043,0x0106,0x010C
+deadkeydata lower (3 3) 0x0107,0x010D,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0x010C,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144,0x0148
+key upper (3 6) 0x004E,0x0143,0x0147
+deadkeydata lower (3 6) 0x0144,0x0148,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0x0147,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
-#
-# Dead key data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9,0x011B,0xF000,0x00EA,0xf000
-dead_key_data upper (2 4) 0x00C9,0x011A,0xF000,0x00CA,0xf000
-dead_key_data lower (2 5) 0x0155,0x0159,0xF000,0xF000,0xf000
-dead_key_data upper (2 5) 0x0154,0x0158,0xF000,0xF000,0xf000
-dead_key_data lower (2 6) 0xF000,0x0165,0xF000,0xF000,0xf000
-dead_key_data upper (2 6) 0xF000,0x0164,0xF000,0xF000,0xf000
-dead_key_data lower (2 7) 0x00FD,0xF000,0xF000,0xF000,0xf000
-dead_key_data upper (2 7) 0x00DD,0xF000,0xF000,0xF000,0xf000
-dead_key_data lower (2 8) 0x00FA,0xF000,0x016F,0xF000,0xf000
-dead_key_data upper (2 8) 0x00DA,0xF000,0x016E,0xF000,0xf000
-dead_key_data lower (2 9) 0x00ED,0xF000,0xF000,0x00EE,0xf000
-dead_key_data upper (2 9) 0x00CD,0xF000,0xF000,0x00CE,0xf000
-dead_key_data lower (2 10) 0x00F3,0xF000,0xF000,0x00F4,0xf000
-dead_key_data upper (2 10) 0x00D3,0xF000,0xF000,0x00D4,0xf000
-dead_key_data lower (3 2) 0x00E1,0xF000,0x00E5,0x00E2,0xf000
-dead_key_data upper (3 2) 0x00C1,0xF000,0x00C5,0x00C2,0xf000
-dead_key_data lower (3 3) 0x015B,0x0161,0xF000,0xF000,0xf000
-dead_key_data upper (3 3) 0x015A,0x0160,0xF000,0xF000,0xf000
-dead_key_data lower (3 4) 0xF000,0x010F,0xF000,0xF000,0xf000
-dead_key_data upper (3 4) 0xF000,0x010E,0xF000,0xF000,0xf000
-dead_key_data lower (3 10) 0x013A,0x013E,0xF000,0xF000,0xf000
-dead_key_data upper (3 10) 0x0139,0x013D,0xF000,0xF000,0xf000
-dead_key_data lower (4 2) 0x017A,0x017E,0xF000,0xF000,0xf000
-dead_key_data upper (4 2) 0x0179,0x017D,0xF000,0xF000,0xf000
-dead_key_data lower (4 4) 0x0107,0x010D,0xF000,0xF000,0xf000
-dead_key_data upper (4 4) 0x0106,0x010C,0xF000,0xF000,0xf000
-dead_key_data lower (4 7) 0x0144,0x0148,0xF000,0xF000,0xf000
-dead_key_data upper (4 7) 0x0143,0x0147,0xF000,0xF000,0xf000
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key ; (4 10) upper
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangDanish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangDanish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x20ac
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe4,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xe8,0xeb,0xea
-key upper (2 4) 0x45,0xc9,0xc8,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf4,0xf2,0xf3,0xf5
-key upper (2 10) 0x4f,0xd6,0xd4,0xd2,0xd3,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x23
-key upper (2 1) 0x3d
-key lower (2 12) 0xe5
-key upper (2 12) 0xc5
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf8,0xf6
-key upper (3 11) 0xd8,0xd6
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2d
-key upper (4 11) 0x27
-key lower (3 12) 0xe6,0xe4
-key upper (3 12) 0xc6,0xc4
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00E5
+key upper (1 11) 0x00C5
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00E6
+key upper (2 10) 0x00C6
+key lower (2 11) 0x00F8
+key upper (2 11) 0x00D8
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x0027
+key upper (3 11) 0x002F
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangDutch.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangDutch.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,66 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe0,0xe1,0xe2,0xe6,0xe3,0xe5
-key upper (3 2) 0x41,0xc4,0xc0,0xc1,0xc2,0xc6,0xc3,0xc5
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xe8,0xeb,0xea
-key upper (2 4) 0x45,0xc9,0xc8,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf4,0xf2,0xf3,0xf5,0xf8
-key upper (2 10) 0x4f,0xd6,0xd4,0xd2,0xd3,0xd5,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangEnglish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangEnglish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,66 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xea,0xeb
-key upper (2 4) 0x45,0xc8,0xc9,0xca,0xcb
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb,0xfc
-key upper (2 8) 0x55,0xd9,0xda,0xdb,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
@@ -356,7 +328,7 @@
 key lower (2 11) 0x003f
 key lower (2 12) 0x003e
 
-key upper (2 1) 0x0021 
+key upper (3 10) 0x0021
 key upper (2 2) 0x0022
 key upper (2 3) 0x0023
 key upper (2 4) 0x0024
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/keymaps/EMU/ELangEnglishHongKong.txt	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,108 @@
+#
+# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  PtiEngine keymapping file.
+#
+
+#
+# Multitapping keymap data.
+#
+[KEYBOARD BLOCK 12-KEY]
+
+key lower (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key upper (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key lower (1 2) 0x61,0x62,0x63,0x32,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,0xe7
+key upper (1 2) 0x41,0x42,0x43,0x32,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,0xc7
+key lower (1 3) 0x64,0x65,0x66,0x33,0xe8,0xe9,0xea,0xeb,0xf0
+key upper (1 3) 0x44,0x45,0x46,0x33,0xc8,0xc9,0xca,0xcb,0xd0
+key lower (2 1) 0x67,0x68,0x69,0x34,0xec,0xed,0xee,0xef
+key upper (2 1) 0x47,0x48,0x49,0x34,0xcc,0xcd,0xce,0xcf
+key lower (2 2) 0x6a,0x6b,0x6c,0x35,0xa3
+key upper (2 2) 0x4a,0x4b,0x4c,0x35,0xa3
+key lower (2 3) 0x6d,0x6e,0x6f,0x36,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,0xf1
+key upper (2 3) 0x4d,0x4e,0x4f,0x36,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,0xd1
+key lower (3 1) 0x70,0x71,0x72,0x73,0x37,0xdf,0x24
+key upper (3 1) 0x50,0x51,0x52,0x53,0x37,0x24
+key lower (3 2) 0x74,0x75,0x76,0x38,0xf9,0xfa,0xfb,0xfc
+key upper (3 2) 0x54,0x55,0x56,0x38,0xd9,0xda,0xdb,0xdc
+key lower (3 3) 0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe
+key upper (3 3) 0x57,0x58,0x59,0x5a,0x39,0xdd,0xde
+key lower (4 2) 0x20,0x30,0x21b2
+key upper (4 2) 0x20,0x30,0x21b2
+
+#
+# Standard 4x12 qwerty keymap data.
+#
+[KEYBOARD BLOCK QWERTY STANDARD]
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0021
+key upper (2 10) 0x0021
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002C
+key lower (3 9) 0x002E
+key upper (3 9) 0x002E
+key lower (3 10) 0x003F
+key upper (3 10) 0x002F
+
+# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/keymaps/EMU/ELangEnglishPrc.txt	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,108 @@
+#
+# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  PtiEngine keymapping file.
+#
+
+#
+# Multitapping keymap data.
+#
+[KEYBOARD BLOCK 12-KEY]
+
+key lower (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key upper (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key lower (1 2) 0x61,0x62,0x63,0x32,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,0xe7
+key upper (1 2) 0x41,0x42,0x43,0x32,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,0xc7
+key lower (1 3) 0x64,0x65,0x66,0x33,0xe8,0xe9,0xea,0xeb,0xf0
+key upper (1 3) 0x44,0x45,0x46,0x33,0xc8,0xc9,0xca,0xcb,0xd0
+key lower (2 1) 0x67,0x68,0x69,0x34,0xec,0xed,0xee,0xef
+key upper (2 1) 0x47,0x48,0x49,0x34,0xcc,0xcd,0xce,0xcf
+key lower (2 2) 0x6a,0x6b,0x6c,0x35,0xa3
+key upper (2 2) 0x4a,0x4b,0x4c,0x35,0xa3
+key lower (2 3) 0x6d,0x6e,0x6f,0x36,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,0xf1
+key upper (2 3) 0x4d,0x4e,0x4f,0x36,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,0xd1
+key lower (3 1) 0x70,0x71,0x72,0x73,0x37,0xdf,0x24
+key upper (3 1) 0x50,0x51,0x52,0x53,0x37,0x24
+key lower (3 2) 0x74,0x75,0x76,0x38,0xf9,0xfa,0xfb,0xfc
+key upper (3 2) 0x54,0x55,0x56,0x38,0xd9,0xda,0xdb,0xdc
+key lower (3 3) 0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe
+key upper (3 3) 0x57,0x58,0x59,0x5a,0x39,0xdd,0xde
+key lower (4 2) 0x20,0x30,0x21b2
+key upper (4 2) 0x20,0x30,0x21b2
+
+#
+# Standard 4x12 qwerty keymap data.
+#
+[KEYBOARD BLOCK QWERTY STANDARD]
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0021
+key upper (2 10) 0x0021
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002C
+key lower (3 9) 0x002E
+key upper (3 9) 0x002E
+key lower (3 10) 0x003F
+key upper (3 10) 0x002F
+
+# End of file
--- a/textinput/ptienginev2/keymaps/EMU/ELangEstonian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangEstonian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,101 +45,73 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x20ac
-key lower (1 5) 0x34
-key upper (1 5) 0x2a
-key lower (1 6) 0x35
-key upper (1 6) 0x2f
-key lower (1 7) 0x36
-key upper (1 7) 0x28
-key lower (1 8) 0x37
-key upper (1 8) 0x29
-key lower (1 9) 0x38
-key upper (1 9) 0x3d
-key lower (1 10) 0x39
-key upper (1 10) 0x3f
-key lower (1 11) 0x30
-key upper (1 11) 0xdf
-key lower (3 2) 0x61,0x101,0x105,0xe5,0xe6
-key upper (3 2) 0x41,0x100,0x104,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x10d
-key upper (4 4) 0x43,0x10c
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0xe9,0x113,0x117,0x119
-key upper (2 4) 0x45,0xc9,0x112,0x116,0x118
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x123
-key upper (3 6) 0x47,0x122
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0x12b,0x12f
-key upper (2 9) 0x49,0x12a,0x12e
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b,0x137
-key upper (3 9) 0x4b,0x136
-key lower (3 10) 0x6c,0x13c
-key upper (3 10) 0x4c,0x13b
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x146
-key upper (4 7) 0x4e,0x145
-key lower (2 10) 0x6f,0xf5,0xf8
-key upper (2 10) 0x4f,0xd5,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x157
-key upper (2 5) 0x52,0x156
-key lower (3 3) 0x73,0x161,0xdf
-key upper (3 3) 0x53,0x160
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0x16b,0x173
-key upper (2 8) 0x55,0x16a,0x172
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x7a,0x17e
-key upper (2 7) 0x5a,0x17d
-key lower (4 2) 0x79
-key upper (4 2) 0x59
-key lower (2 1) 0x40
-key upper (2 1) 0xf001,0x7e
-key lower (2 12) 0xfc
-key upper (2 12) 0xdc
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf6
-key upper (3 11) 0xd6
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2d
-key upper (4 11) 0x27
-key lower (3 12) 0xe4
-key upper (3 12) 0xc4
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00FC
+key upper (1 11) 0x00DC
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00F6
+key upper (2 10) 0x00D6
+key lower (2 11) 0x00E4
+key upper (2 11) 0x00C4
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x00F5
+key upper (3 11) 0x00D5
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 10) 0x00f5,0xf000,0xf000,0xf000,0xf000
-dead_key_data upper (2 10) 0x00d5,0xf000,0xf000,0xf000,0xf000
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangFarsi.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangFarsi.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,117 +45,74 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x6f1
-key upper (1 2) 0x66c
-key lower (1 3) 0x6f2
-key upper (1 3) 0x66b
-key lower (1 4) 0x6f3
-key upper (1 4) 0xfdfc
-key lower (1 5) 0x6f4
-key upper (1 5) 0x66a
-key lower (1 6) 0x6f5
-key upper (1 6) 0x3d
-key lower (1 7) 0x6f6
-key upper (1 7) 0x21
-key lower (1 8) 0x6f7
-key upper (1 8) 0x2a
-key lower (1 9) 0x6f8
-key upper (1 9) 0x2d
-key lower (1 10) 0x6f9
-key upper (1 10) 0x2b
-key lower (1 11) 0x6f0
-key upper (1 11) 0x640
-key lower (3 2) 0x633
-key upper (3 2) 0x626
-key lower (4 6) 0x630
-key upper (4 6) 0x200c
-key lower (4 4) 0x632
-key upper (4 4) 0x698
-key lower (3 4) 0x628
-key upper (3 4) 0x625
-key lower (2 4) 0x642
-key upper (2 4) 0x642
-key lower (3 5) 0x644
-key upper (3 5) 0x623
-key lower (3 6) 0x627
-key upper (3 6) 0x622
-key lower (3 7) 0x62a
-key upper (3 7) 0x629
-key lower (2 9) 0x62e
-key upper (2 9) 0x7d
-key lower (3 8) 0x646
-key upper (3 8) 0xbb
-key lower (3 9) 0x645
-key upper (3 9) 0xab
-key lower (3 10) 0x6a9
-key upper (3 10) 0x3a
-key lower (4 8) 0x67e
-key upper (4 8) 0x621
-key lower (4 7) 0x62f
-key upper (4 7) 0x200d
-key lower (2 10) 0x62d
-key upper (2 10) 0x7b
-key lower (2 11) 0x62c
-key upper (2 11) 0x5c
-key lower (2 2) 0x635
-key upper (2 2) 0x635
-key lower (2 5) 0x641
-key upper (2 5) 0x641
-key lower (3 3) 0x6cc
-key upper (3 3) 0x64a
-key lower (2 6) 0x63a
-key upper (2 6) 0x63a
-key lower (2 8) 0x647
-key upper (2 8) 0x28
-key lower (4 5) 0x631
-key upper (4 5) 0x631
-key lower (2 3) 0x62b
-key upper (2 3) 0x62b
-key lower (4 3) 0x637
-key upper (4 3) 0x637
-key lower (2 7) 0x639
-key upper (2 7) 0x28
-key lower (4 2) 0x638
-key upper (4 2) 0x643
-key lower (2 1) 0x636
-key upper (2 1) 0x636
-key lower (2 12) 0x686
-key upper (2 12) 0x7c
-key lower (4 9) 0x648
-key upper (4 9) 0x3e
-key lower (3 11) 0x6af
-key upper (3 11) 0x61b
-key lower (4 10) 0x2e
-key upper (4 10) 0x3c
-key lower (3 1) 0x634
-key upper (3 1) 0x624
-key lower (4 11) 0x2f
-key upper (4 11) 0x61f
-key lower (3 12) 0x40
-key upper (3 12) 0x60c
+key lower (1 1) 0x0636
+key upper (1 1) 0x066C
+key lower (1 2) 0x0635
+key upper (1 2) 0x066B
+key lower (1 3) 0x062B
+key upper (1 3) 0xFDFC
+key lower (1 4) 0x0642
+key upper (1 4) 0x066A
+key lower (1 5) 0x0641
+key upper (1 5) 0x003D
+key lower (1 6) 0x063A
+key upper (1 6) 0x0021
+key lower (1 7) 0x0639
+key upper (1 7) 0x002A
+key lower (1 8) 0x0647
+key upper (1 8) 0x002D
+key lower (1 9) 0x062E
+key upper (1 9) 0x002B
+key lower (1 10) 0x062D
+key upper (1 10) 0x0640
+key lower (1 11) 0x062C
+key upper (1 11) 0x060C
+key lower (2 1) 0x0634
+key upper (2 1) 0x0624
+key lower (2 2) 0x0633
+key upper (2 2) 0x0626
+key lower (2 3) 0x06CC
+key upper (2 3) 0x064A
+key lower (2 4) 0x0628
+key upper (2 4) 0x0625
+key lower (2 5) 0x0644
+key upper (2 5) 0x0623
+key lower (2 6) 0x0627
+key upper (2 6) 0x0622
+key lower (2 7) 0x062A
+key upper (2 7) 0x0629
+key lower (2 8) 0x0646
+key upper (2 8) 0x003E
+key lower (2 9) 0x0645
+key upper (2 9) 0x003C
+key lower (2 10) 0x06A9
+key upper (2 10) 0x003A
+key lower (2 11) 0x0686
+key upper (2 11) 0x061B
+key lower (3 1) 0x0638
+key upper (3 1) 0x0643
+key lower (3 2) 0x0637
+key upper (3 2) 0x0621
+key lower (3 3) 0x0698
+key upper (3 3) 0x201D
+key lower (3 4) 0x0632
+key upper (3 4) 0x201E
+key lower (3 5) 0x0631
+key upper (3 5) 0x200C
+key lower (3 6) 0x0630
+key upper (3 6) 0x200D
+key lower (3 7) 0x062F
+key upper (3 7) 0x0022
+key lower (3 8) 0x0648
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x061F
+key lower (3 10) 0x067E
+key upper (3 10) 0x0029
+key lower (3 11) 0x06AF
+key upper (3 11) 0x0028
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key # (3 1) lower
-numeric_mode_key 1 (1 2) lower
-numeric_mode_key 2 (1 3) lower
-numeric_mode_key 3 (1 4) lower
-numeric_mode_key 4 (1 5) lower
-numeric_mode_key 5 (1 6) lower
-numeric_mode_key 6 (1 7) lower
-numeric_mode_key 7 (1 8) lower
-numeric_mode_key 8 (1 9) lower
-numeric_mode_key 9 (1 10) lower
-numeric_mode_key 0 (1 11) lower
-numeric_mode_key E (2 4) upper
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangFinnish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangFinnish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031
-key upper (1 2) 0x0021
-key lower (1 3) 0x0032
-key upper (1 3) 0x0022
-key lower (1 4) 0x0033
-key upper (1 4) 0x0040
-key lower (1 5) 0x0034
-key upper (1 5) 0x20ac
-key lower (1 6) 0x0035
-key upper (1 6) 0x0025
-key lower (1 7) 0x0036
-key upper (1 7) 0x0026
-key lower (1 8) 0x0037
-key upper (1 8) 0x002f
-key lower (1 9) 0x0038
-key upper (1 9) 0x0028
-key lower (1 10) 0x0039
-key upper (1 10) 0x0029
-key lower (1 11) 0x0030
-key upper (1 11) 0x003f
-key lower (3 2) 0x0061,0x00e6,0x00e0,0x00e1,0x00e2,0x00e3
-key upper (3 2) 0x0041,0x00c6,0x00c0,0x00c1,0x00c2,0x00c3
-key lower (4 6) 0x0062
-key upper (4 6) 0x0042
-key lower (4 4) 0x0063,0x00e7
-key upper (4 4) 0x0043,0x00c7
-key lower (3 4) 0x0064,0x00f0
-key upper (3 4) 0x0044,0x00d0
-key lower (2 4) 0x0065,0x00e9,0x00e8,0x00eb,0x00ea
-key upper (2 4) 0x0045,0x00c9,0x00c8,0x00cb,0x00ca
-key lower (3 5) 0x0066
-key upper (3 5) 0x0046
-key lower (3 6) 0x0067
-key upper (3 6) 0x0047
-key lower (3 7) 0x0068
-key upper (3 7) 0x0048
-key lower (2 9) 0x0069,0x00ee,0x00ef,0x00ec,0x00ed
-key upper (2 9) 0x0049,0x00ce,0x00cf,0x00cc,0x00cd
-key lower (3 8) 0x006a
-key upper (3 8) 0x004a
-key lower (3 9) 0x006b
-key upper (3 9) 0x004b
-key lower (3 10) 0x006c
-key upper (3 10) 0x004c
-key lower (4 8) 0x006d
-key upper (4 8) 0x004d
-key lower (4 7) 0x006e,0x00f1
-key upper (4 7) 0x004e,0x00d1
-key lower (2 10) 0x006f,0x00f8,0x00f2,0x00f3,0x00f4,0x00f5
-key upper (2 10) 0x004f,0x00d8,0x00d2,0x00d3,0x00d4,0x00d5
-key lower (2 11) 0x0070
-key upper (2 11) 0x0050
-key lower (2 2) 0x0071
-key upper (2 2) 0x0051
-key lower (2 5) 0x0072
-key upper (2 5) 0x0052
-key lower (3 3) 0x0073,0x0161,0x00DF
-key upper (3 3) 0x0053,0x0160
-key lower (2 6) 0x0074,0x00fe
-key upper (2 6) 0x0054,0x00de
-key lower (2 8) 0x0075,0x00f9,0x00fa,0x00fb,0x00fc
-key upper (2 8) 0x0055,0x00dc,0x00d9,0x00db,0x00da
-key lower (4 5) 0x0076
-key upper (4 5) 0x0056
-key lower (2 3) 0x0077
-key upper (2 3) 0x0057
-key lower (4 3) 0x0078
-key upper (4 3) 0x0058
-key lower (2 7) 0x0079,0x00fd
-key upper (2 7) 0x0059,0x00dd
-key lower (4 2) 0x007A,0x017E
-key upper (4 2) 0x005a
-key lower (2 1) 0x0023
-key upper (2 1) 0x003d
-key lower (2 12) 0x00e5
-key upper (2 12) 0x00c5
-key lower (4 9) 0x002c
-key upper (4 9) 0x003b
-key lower (3 11) 0x00f6,0x00f8
-key upper (3 11) 0x00d6,0x00d8
-key lower (4 10) 0x002e
-key upper (4 10) 0x003a
-key lower (3 1) 0x002b
-key upper (3 1) 0x002a
-key lower (4 11) 0x002d
-key upper (4 11) 0x0027
-key lower (3 12) 0x00e4,0x00e6
-key upper (3 12) 0x00c4,0x00c6
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00E5
+key upper (1 11) 0x00C5
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00F6
+key upper (2 10) 0x00D6
+key lower (2 11) 0x00E4
+key upper (2 11) 0x00C4
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
 
 #
--- a/textinput/ptienginev2/keymaps/EMU/ELangFrench.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangFrench.txt	Tue May 11 16:31:42 2010 +0300
@@ -44,110 +44,97 @@
 # Standard 4x12 qwerty keymap data.
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
+key lower (1 1) 0x0061,0x00E2,0x00E0,0x00E1
+key upper (1 1) 0x0041,0x00C2,0x00C0,0x00C1
+deadkeydata lower (1 1) 0x00E2,0x00E0,0xF000,0x00E1,0xF000
+deadkeydata upper (1 1) 0x00C2,0x00C0,0xF000,0x00C1,0xF000
+key lower (1 2) 0x007A,0x017a
+key upper (1 2) 0x005A,0x0179
+deadkeydata lower (1 2) 0xf000,0xf000,0xf000,0x017a,0xf000
+deadkeydata upper (1 2) 0xf000,0xf000,0xf000,0x0179,0xf000
+key lower (1 3) 0x0065,0x00ea,0x00e8,0x00eb,0x00e9
+key upper (1 3) 0x0045,0x00ca,0x00c8,0x00cb,0x00c9
+deadkeydata lower (1 3) 0x00ea,0x00e8,0x00eb,0x00e9,0xf000
+deadkeydata upper (1 3) 0x00ca,0x00c8,0x00cb,0x00c9,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0xf000,0xf000,0xf000,0x0155,0xf000
+deadkeydata upper (1 4) 0xf000,0xf000,0xf000,0x0154,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00ff,0x00fd
+key upper (1 6) 0x0059,0x0178,0x00dd
+deadkeydata lower (1 6) 0xf000,0xf000,0x00ff,0x00fd,0xf000
+deadkeydata upper (1 6) 0xf000,0xf000,0x0178,0x00dd,0xf000
+key lower (1 7) 0x0075,0x00fb,0x00f9,0x00fc,0x00fa
+key upper (1 7) 0x0055,0x00db,0x00d9,0x00dc,0x00da
+deadkeydata lower (1 7) 0x00fb,0x00f9,0x00fc,0x00fa,0xf000
+deadkeydata upper (1 7) 0x00db,0x00d9,0x00dc,0x00da,0xf000
+key lower (1 8) 0x0069,0x00ee,0x00ec,0x00ef,0x00ed
+key upper (1 8) 0x0049,0x00ce,0x00cc,0x00cf,0x00cd
+deadkeydata lower (1 8) 0x00ee,0x00ec,0x00ef,0x00ed,0xf000
+deadkeydata upper (1 8) 0x00ce,0x00cc,0x00cf,0x00cd,0xf000
+key lower (1 9) 0x006F,0x00f4,0x00f2,0x00F6,0x00f3
+key upper (1 9) 0x004F,0x00d4,0x00d2,0x00D6,0x00d3
+deadkeydata lower (1 9) 0x00f4,0x00f2,0x00F6,0x00f3,0xf000
+deadkeydata upper (1 9) 0x00d4,0x00d2,0x00D6,0x00d3,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x005E
+key upper (1 11) 0xF001,0x005E
+key lower (2 1) 0x0071
+key upper (2 1) 0x0051
+key lower (2 2) 0x0073,0x015b
+key upper (2 2) 0x0053,0x015a
+deadkeydata lower (2 2) 0xf000,0xf000,0xf000,0x015b,0xf000
+deadkeydata upper (2 2) 0xf000,0xf000,0xf000,0x015a,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013a
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0xf000,0xf000,0xf000,0x013a,0xf000
+deadkeydata upper (2 9) 0xf000,0xf000,0xf000,0x0139,0xf000
+key lower (2 10) 0x006D
+key upper (2 10) 0x004D
+key lower (2 11) 0xF002,0x0060
+key upper (2 11) 0xF002,0x0060
+key lower (3 1) 0x0077
+key upper (3 1) 0x0057
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0xf000,0xf000,0xf000,0x0107,0xf000
+deadkeydata upper (3 3) 0xf000,0xf000,0xf000,0x0106,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0xf000,0xf000,0xf000,0x0144,0xf000
+deadkeydata upper (3 6) 0xf000,0xf000,0xf000,0x0143,0xf000
+key lower (3 7) 0x002E
+key upper (3 7) 0x002C
+key lower (3 8) 0x003F
+key upper (3 8) 0x0027
+key lower (3 9) 0x00E7
+key upper (3 9) 0x00C7
+key lower (3 10) 0xF003,0x00A8
+key upper (3 10) 0xF003,0x00A8
+key lower (3 11) 0xF004,0x00B4
+key upper (3 11) 0xF004,0x00B4
 
-key lower (1 2) 0x26
-key upper (1 2) 0x31
-key lower (1 3) 0xe9
-key upper (1 3) 0x32
-key lower (1 4) 0x22
-key upper (1 4) 0x33
-key lower (1 5) 0x27
-key upper (1 5) 0x34
-key lower (1 6) 0x28
-key upper (1 6) 0x35
-key lower (1 7) 0x2d
-key upper (1 7) 0x36
-key lower (1 8) 0xe8
-key upper (1 8) 0x37
-key lower (1 9) 0x29
-key upper (1 9) 0x38
-key lower (1 10) 0xe7
-key upper (1 10) 0x39
-key lower (1 11) 0xe0
-key upper (1 11) 0x30
-key lower (3 2) 0x71
-key upper (3 2) 0x51
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0xeb,0xea,0xe8,0xe9
-key upper (2 4) 0x45,0xcb,0xca,0xc8,0xc9
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x11f
-key upper (3 6) 0x47,0x11e
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xef,0xee,0xec,0xed,0x131
-key upper (2 9) 0x49,0xcf,0xce,0xcc,0xcd,0x130
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x2c
-key upper (4 8) 0x3f
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0x153,0xf6,0xf4,0xf2,0xf3,0xf8
-key upper (2 10) 0x4f,0x152,0xd6,0xd4,0xd2,0xd3,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x61,0xe6,0xe2,0xe0,0xe1,0xe3,0xe4
-key upper (2 2) 0x41,0xc6,0xc2,0xc0,0xc1,0xc3,0xc4
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0xf9,0xfb,0xfa,0xfc
-key upper (2 8) 0x55,0xd9,0xdb,0xda,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x7a
-key upper (2 3) 0x5a
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59
-key lower (4 2) 0x77
-key upper (4 2) 0x57
-key lower (2 1) 0x40
-key upper (2 1) 0x20ac
-key lower (2 12) 0xf001,0x5e
-key upper (2 12) 0xf002,0xa8
-key lower (4 9) 0x3b
-key upper (4 9) 0x2e
-key lower (3 11) 0x6d
-key upper (3 11) 0x4d
-key lower (4 10) 0x3a
-key upper (4 10) 0x2f
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x21
-key upper (4 11) 0x25
-key lower (3 12) 0xf9
-key upper (3 12) 0x2a
-
-#
-# Dead key data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 2) 0x00e2,0x00e4,0xf000,0xf000,0xf000
-dead_key_data upper (2 2) 0x00c2,0x00c4,0xf000,0xf000,0xf000
-dead_key_data lower (2 4) 0x00ea,0x00eb,0xf000,0xf000,0xf000
-dead_key_data upper (2 4) 0x00ca,0x00cb,0xf000,0xf000,0xf000
-dead_key_data lower (2 8) 0x00fb,0x00fc,0xf000,0xf000,0xf000
-dead_key_data upper (2 8) 0x00db,0x00dc,0xf000,0xf000,0xf000
-dead_key_data lower (2 9) 0x00ee,0x00ef,0xf000,0xf000,0xf000
-dead_key_data upper (2 9) 0x00ce,0x00cf,0xf000,0xf000,0xf000
-dead_key_data lower (2 10) 0x00f4,0x00f6,0xf000,0xf000,0xf000
-dead_key_data upper (2 10) 0x00d4,0x00d6,0x0000,0x0000,0x0000
 
 #
 # 4x10 mini qwerty keymap data. These are from Surfer keyboard spec.
--- a/textinput/ptienginev2/keymaps/EMU/ELangGerman.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangGerman.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x20ac
-key lower (1 5) 0x34
-key upper (1 5) 0x2a
-key lower (1 6) 0x35
-key upper (1 6) 0x2f
-key lower (1 7) 0x36
-key upper (1 7) 0x28
-key lower (1 8) 0x37
-key upper (1 8) 0x29
-key lower (1 9) 0x38
-key upper (1 9) 0x3d
-key lower (1 10) 0x39
-key upper (1 10) 0x3f
-key lower (1 11) 0x30
-key upper (1 11) 0xdf
-key lower (3 2) 0x61,0xe0,0xe1,0xe3,0xe2,0xe5,0xe6
-key upper (3 2) 0x41,0xc0,0xc1,0xc3,0xc2,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xeb,0xea
-key upper (2 4) 0x45,0xc8,0xc9,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e
-key upper (4 7) 0x4e
-key lower (2 10) 0x6f,0xf2,0xf3,0xf4,0xf5,0xf8
-key upper (2 10) 0x4f,0xd2,0xd3,0xd4,0xd5,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb
-key upper (2 8) 0x55,0xd9,0xda,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x7a
-key upper (2 7) 0x5a
-key lower (4 2) 0x79,0xfd
-key upper (4 2) 0x59,0xdd
-key lower (2 1) 0x40
-key upper (2 1) 0x7e
-key lower (2 12) 0xfc
-key upper (2 12) 0xdc
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf6
-key upper (3 11) 0xd6
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2d
-key upper (4 11) 0x27
-key lower (3 12) 0xe4
-key upper (3 12) 0xc4
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x007A
+key upper (1 6) 0x005A
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00FC
+key upper (1 11) 0x00DC
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00F6
+key upper (2 10) 0x00D6
+key lower (2 11) 0x00E4
+key upper (2 11) 0x00C4
+key lower (3 1) 0x0079
+key upper (3 1) 0x0059
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x00DF
+key upper (3 11) 0x0027
 
 #
 # 4X10 mini qwerty mappings. These are from Surfer key mapping spec.
--- a/textinput/ptienginev2/keymaps/EMU/ELangGreek.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangGreek.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,86 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x40
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x20ac
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x5c
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x3b1,0x3ac
-key upper (3 2) 0x391,0x386
-key lower (4 6) 0x3b2
-key upper (4 6) 0x392
-key lower (4 4) 0x3c8
-key upper (4 4) 0x3a8
-key lower (3 4) 0x3b4
-key upper (3 4) 0x394
-key lower (2 4) 0x3b5,0x3ad
-key upper (2 4) 0x395,0x388
-key lower (3 5) 0x3c6
-key upper (3 5) 0x3a6
-key lower (3 6) 0x3b3
-key upper (3 6) 0x393
-key lower (3 7) 0x3b7,0x3ae
-key upper (3 7) 0x397,0x389
-key lower (2 9) 0x3b9,0x3af,0x3ca,0x390
-key upper (2 9) 0x399,0x38a,0x3aa
-key lower (3 8) 0x3be
-key upper (3 8) 0x39e
-key lower (3 9) 0x3ba
-key upper (3 9) 0x39a
-key lower (3 10) 0x3bb
-key upper (3 10) 0x39b
-key lower (4 8) 0x3bc
-key upper (4 8) 0x39c
-key lower (4 7) 0x3bd
-key upper (4 7) 0x39d
-key lower (2 10) 0x3bf,0x3cc
-key upper (2 10) 0x39f,0x38c
-key lower (2 11) 0x3c0
-key upper (2 11) 0x3a0
-key lower (2 2) 0x387
-key upper (2 2) 0x387
-key lower (2 5) 0x3c1
-key upper (2 5) 0x3a1
-key lower (3 3) 0x3c3
-key upper (3 3) 0x3a3
-key lower (2 6) 0x3c4
-key upper (2 6) 0x3a4
-key lower (2 8) 0x3b8
-key upper (2 8) 0x398
-key lower (4 5) 0x3c9,0x3ce
-key upper (4 5) 0x3a9,0x38f
-key lower (2 3) 0x3c2
-key upper (2 3) 0xf003,0x385
-key lower (4 3) 0x3c7
-key upper (4 3) 0x3a7
-key lower (2 7) 0x3c5,0x3cd,0x3cb,0x3b0
-key upper (2 7) 0x3a5,0x38e,0x3ab
-key lower (4 2) 0x3b6
-key upper (4 2) 0x396
-key lower (2 1) 0x3b
-key upper (2 1) 0x3a
-key lower (2 12) 0x2d
-key upper (2 12) 0x3d
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0xf001,0x384
-key upper (3 11) 0xf002,0xa8
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0xab
-key upper (3 12) 0xbb
+key lower (1 1) 0x003B
+key upper (1 1) 0x003B
+key lower (1 2) 0x03C2
+key upper (1 2) 0x03C2
+key lower (1 3) 0x03B5,0x03AD
+key upper (1 3) 0x0395,0x0388
+deadkeydata lower (1 3) 0xf000,0x03AD,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0xf000,0x0388,0xf000,0xf000,0xf000
+key lower (1 4) 0x03C1
+key upper (1 4) 0x03A1
+key lower (1 5) 0x03C4
+key upper (1 5) 0x03A4
+key lower (1 6) 0x03C5,0x03CB,0x03CD,0x03B0
+key upper (1 6) 0x03A5,0x03AB,0x038E
+deadkeydata lower (1 6) 0x03CB,0x03CD,0x03B0,0xf000,0xf000
+deadkeydata upper (1 6) 0x03AB,0x038E,0xf000,0xf000,0xf000
+key lower (1 7) 0x03B8
+key upper (1 7) 0x0398
+key lower (1 8) 0x03B9,0x03CA,0x03AF,0x0390
+key upper (1 8) 0x0399,0x03AA,0x038A
+deadkeydata lower (1 8) 0x03CA,0x03AF,0x0390,0xf000,0xf000
+deadkeydata upper (1 8) 0x03AA,0x038A,0xf000,0xf000,0xf000
+key lower (1 9) 0x03BF
+key upper (1 9) 0x039F,0x038C
+deadkeydata lower (1 9) 0xf000,0x03CC,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0xf000,0x038C,0xf000,0xf000,0xf000
+key lower (1 10) 0x03C0
+key upper (1 10) 0x03A0
+key lower (1 11) 0xF003,0x0385
+key upper (1 11) 0xF003,0x0385
+key lower (2 1) 0x03B1,0x03AC
+key upper (2 1) 0x0391,0x0386
+deadkeydata lower (2 1) 0xf000,0x03AC,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0xf000,0x0386,0xf000,0xf000,0xf000
+key lower (2 2) 0x03C3
+key upper (2 2) 0x03A3
+key lower (2 3) 0x03B4
+key upper (2 3) 0x0394
+key lower (2 4) 0x03C6
+key upper (2 4) 0x03A6
+key lower (2 5) 0x03B3
+key upper (2 5) 0x0393
+key lower (2 6) 0x03B7,0x03AE
+key upper (2 6) 0x0397,0x0389
+deadkeydata lower (2 6) 0xf000,0x03AE,0xf000,0xf000,0xf000
+deadkeydata upper (2 6) 0xf000,0x0389,0xf000,0xf000,0xf000
+key lower (2 7) 0x03BE
+key upper (2 7) 0x039E
+key lower (2 8) 0x03BA
+key upper (2 8) 0x039A
+key lower (2 9) 0x03BB
+key upper (2 9) 0x039B
+key lower (2 10) 0xF002,0x0384
+key upper (2 10) 0xF002,0x0384
+key lower (2 11) 0xF001,0x00A8
+key upper (2 11) 0xF001,0x00A8
+key lower (3 1) 0x03B6
+key upper (3 1) 0x0396
+key lower (3 2) 0x03C7
+key upper (3 2) 0x03A7
+key lower (3 3) 0x03C8
+key upper (3 3) 0x03A8
+key lower (3 4) 0x03C9,0x03CE
+key upper (3 4) 0x03A9,0x038F
+deadkeydata lower (3 4) 0xf000,0x03CE,0xf000,0xf000,0xf000
+deadkeydata upper (3 4) 0xf000,0x038F,0xf000,0xf000,0xf000
+key lower (3 5) 0x03B2
+key upper (3 5) 0x0392
+key lower (3 6) 0x03BD
+key upper (3 6) 0x039D
+key lower (3 7) 0x03BC
+key upper (3 7) 0x039C
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x0022
+key lower (3 10) 0x002D
+key upper (3 10) 0x002B
+key lower (3 11) 0x0021
+key upper (3 11) 0x002F
 
 #
 # This language can't be used in "latin only" editors.
--- a/textinput/ptienginev2/keymaps/EMU/ELangHebrew.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangHebrew.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x40
-key lower (1 4) 0x33
-key upper (1 4) 0x20ac
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2a
-key lower (1 9) 0x38
-key upper (1 9) 0x29
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x3d
-key lower (3 2) 0x5e9
-key upper (3 2) 0x5e9
-key lower (4 6) 0x5e0
-key upper (4 6) 0x5e0
-key lower (4 4) 0x5d1
-key upper (4 4) 0x5d1
-key lower (3 4) 0x5d2
-key upper (3 4) 0x5d2
-key lower (2 4) 0x5e7
-key upper (2 4) 0x5e7
-key lower (3 5) 0x5db
-key upper (3 5) 0x5db
-key lower (3 6) 0x5e2
-key upper (3 6) 0x5e2
-key lower (3 7) 0x5d9
-key upper (3 7) 0x5d9
-key lower (2 9) 0x5df
-key upper (2 9) 0x5df
-key lower (3 8) 0x5d7
-key upper (3 8) 0x5d7
-key lower (3 9) 0x5dc
-key upper (3 9) 0x5dc
-key lower (3 10) 0x5da
-key upper (3 10) 0x5da
-key lower (4 8) 0x5e6
-key upper (4 8) 0x5e6
-key lower (4 7) 0x5de
-key upper (4 7) 0x5de
-key lower (2 10) 0x5dd
-key upper (2 10) 0x5dd
-key lower (2 11) 0x5e4
-key upper (2 11) 0x5e4
-key lower (2 2) 0x2f
-key upper (2 2) 0x2f
-key lower (2 5) 0x5e8
-key upper (2 5) 0x5e8
-key lower (3 3) 0x5d3
-key upper (3 3) 0x5d3
-key lower (2 6) 0x5d0
-key upper (2 6) 0x5d0
-key lower (2 8) 0x5d5
-key upper (2 8) 0x5d5
-key lower (4 5) 0x5d4
-key upper (4 5) 0x5d4
-key lower (2 3) 0x5c
-key upper (2 3) 0x5c
-key lower (4 3) 0x5e1
-key upper (4 3) 0x5e1
-key lower (2 7) 0x5d8
-key upper (2 7) 0x5d8
-key lower (4 2) 0x5d6
-key upper (4 2) 0x5d6
-key lower (2 1) 0x2d
-key upper (2 1) 0x5f
-key lower (2 12) 0x3a
-key upper (2 12) 0x3b
-key lower (4 9) 0x5ea
-key upper (4 9) 0x3e
-key lower (3 11) 0x5e3
-key upper (3 11) 0x27
-key lower (4 10) 0x5e5
-key upper (4 10) 0x3c
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2e
-key upper (4 11) 0x3f
-key lower (3 12) 0x2c
-key upper (3 12) 0x22
+key lower (1 1) 0x002F
+key upper (1 1) 0x005C
+key lower (1 2) 0x0027
+key upper (1 2) 0x0027
+key lower (1 3) 0x05E7
+key upper (1 3) 0x05E7
+key lower (1 4) 0x05E8
+key upper (1 4) 0x05E8
+key lower (1 5) 0x05D0
+key upper (1 5) 0x05D0
+key lower (1 6) 0x05D8
+key upper (1 6) 0x05D8
+key lower (1 7) 0x05D5
+key upper (1 7) 0x05D5
+key lower (1 8) 0x05DF
+key upper (1 8) 0x05DF
+key lower (1 9) 0x05DD
+key upper (1 9) 0x05DD
+key lower (1 10) 0x05E4
+key upper (1 10) 0x05E4
+key lower (1 11) 0x0021
+key upper (1 11) 0x0022
+key lower (2 1) 0x05E9
+key upper (2 1) 0x05E9
+key lower (2 2) 0x05D3
+key upper (2 2) 0x05D3
+key lower (2 3) 0x05D2
+key upper (2 3) 0x05D2
+key lower (2 4) 0x05DB
+key upper (2 4) 0x05DB
+key lower (2 5) 0x05E2
+key upper (2 5) 0x05E2
+key lower (2 6) 0x05D9
+key upper (2 6) 0x05D9
+key lower (2 7) 0x05D7
+key upper (2 7) 0x05D7
+key lower (2 8) 0x05DC
+key upper (2 8) 0x05DC
+key lower (2 9) 0x05DA
+key upper (2 9) 0x05DA
+key lower (2 10) 0x05E3
+key upper (2 10) 0x05E3
+key lower (2 11) 0x002C
+key upper (2 11) 0x003A
+key lower (3 1) 0x05D6
+key upper (3 1) 0x05D6
+key lower (3 2) 0x05E1
+key upper (3 2) 0x05E1
+key lower (3 3) 0x05D1
+key upper (3 3) 0x05D1
+key lower (3 4) 0x05D4
+key upper (3 4) 0x05D4
+key lower (3 5) 0x05E0
+key upper (3 5) 0x05E0
+key lower (3 6) 0x05DE
+key upper (3 6) 0x05DE
+key lower (3 7) 0x05E6
+key upper (3 7) 0x05E6
+key lower (3 8) 0x05EA
+key upper (3 8) 0x05EA
+key lower (3 9) 0x05E5
+key upper (3 9) 0x05E5
+key lower (3 10) 0x002E
+key upper (3 10) 0x0029
+key lower (3 11) 0x003F
+key upper (3 11) 0x0028
 
 #
 # This language can't be used in "latin only" editors.
--- a/textinput/ptienginev2/keymaps/EMU/ELangHungarian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangHungarian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,96 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x27
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x2b
-key lower (1 5) 0x34
-key upper (1 5) 0x21
-key lower (1 6) 0x35
-key upper (1 6) 0x40
-key lower (1 7) 0x36
-key upper (1 7) 0x2f
-key lower (1 8) 0x37
-key upper (1 8) 0x3d
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x20ac
-key lower (3 2) 0x61,0xe4,0xe2,0x103,0x105,0xe1
-key upper (3 2) 0x41,0xc4,0xc2,0x102,0x104,0xc1
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x107,0x10d
-key upper (4 4) 0x43,0x106,0x10c
-key lower (3 4) 0x64,0x111,0x10f
-key upper (3 4) 0x44,0x110,0x10e
-key lower (2 4) 0x65,0x119,0x11b,0xe9
-key upper (2 4) 0x45,0x118,0x11a,0xc9
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x142
-key upper (3 10) 0x4c,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x144,0x148
-key upper (4 7) 0x4e,0x143,0x147
-key lower (2 10) 0x6f,0xf3,0xf4,0x151
-key upper (2 10) 0x4f,0xd3,0xd4,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0xdf,0x15b,0x15f,0x161
-key upper (3 3) 0x53,0x15a,0x15e,0x160
-key lower (2 6) 0x74,0x163,0x165
-key upper (2 6) 0x54,0x162,0x164
-key lower (2 8) 0x75,0xfa,0x16f,0x171
-key upper (2 8) 0x55,0xda,0x16e,0x170
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a,0x17a,0x17c,0x17e
-key upper (4 2) 0x5a,0x179,0x17b,0x17d
-key lower (2 1) 0x2d
-key upper (2 1) 0x3b
-key lower (2 12) 0xf6,0x151
-key upper (2 12) 0xd6,0x150
-key lower (4 9) 0x2c
-key upper (4 9) 0x3f
-key lower (3 11) 0xe9
-key upper (3 11) 0xc9
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x23
-key upper (3 1) 0x2a
-key lower (4 11) 0xfc,0x171
-key upper (4 11) 0xdc,0x170
-key lower (3 12) 0xe1
-key upper (3 12) 0xc1
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00EB,0x00E9
+key upper (1 3) 0x0045,0x00CB,0x00C9
+deadkeydata lower (1 3) 0x00EB,0x00E9,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00CB,0x00C9,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0xF000,0xF000,0x0155,0xf000,0xf000
+deadkeydata upper (1 4) 0xF000,0xF000,0x0154,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FF,0x00FD
+key upper (1 6) 0x0059,0x0178,0x00DD
+deadkeydata lower (1 6) 0x00FF,0x00FD,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x0178,0x00DD,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FC,0x00FA,0x0171
+key upper (1 7) 0x0055,0x00DC,0x00DA,0x0170
+deadkeydata lower (1 7) 0x00FC,0x00FA,0x0171,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DC,0x00DA,0x0170,0xf000,0xf000
+key lower (1 8) 0x0069,0x00EF,0x00ED
+key upper (1 8) 0x0049,0x00CF,0x00CD
+deadkeydata lower (1 8) 0x00EF,0x00ED,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CF,0x00CD,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F6,0x00F3,0x0151
+key upper (1 9) 0x004F,0x00D6,0x00D3,0x0150
+deadkeydata lower (1 9) 0x00F6,0x00F3,0x0151,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D6,0x00D3,0x0150,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF002,0x00B4
+key upper (1 11) 0xF002,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0xF000,0x00E1,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0xF000,0x00C1,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0xF000,0xF000,0x015B,0xf000,0xf000
+deadkeydata upper (2 2) 0xF000,0xF000,0x015A,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0xF000,0x013A,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0xF000,0x0139,0xf000,0xf000,0xf000
+key lower (2 10) 0xF001,0x00A8
+key upper (2 10) 0xF001,0x00A8
+key lower (2 11) 0xF003,0x02DD
+key upper (2 11) 0xF003,0x02DD
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0xF000,0x017A,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0xF000,0x0179,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0xF000,0x0107,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0xF000,0x0106,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0xF000,0x0144,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0xF000,0x0143,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangIcelandic.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangIcelandic.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x20ac
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x2d
-key lower (1 10) 0x39
-key upper (1 10) 0x27
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe4,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0xe9,0xe8,0xeb,0xea
-key upper (2 4) 0x45,0xc9,0xc8,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf4,0xf2,0xf3,0xf5
-key upper (2 10) 0x4f,0xd6,0xd4,0xd2,0xd3,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x23
-key upper (2 1) 0x3d
-key lower (2 12) 0xf0
-key upper (2 12) 0xd0
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xe6,0xe4
-key upper (3 11) 0xc6,0xc4
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0xfe
-key upper (4 11) 0xde
-key lower (3 12) 0xf6,0xf8
-key upper (3 12) 0xd6,0xd8
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00F0
+key upper (1 11) 0x00D0
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00E6
+key upper (2 10) 0x00C6
+key lower (2 11) 0x00F6
+key upper (2 11) 0x00D6
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x00FE
+key upper (3 11) 0x00DE
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangIndonesian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangIndonesian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,66 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xea,0xeb
-key upper (2 4) 0x45,0xc8,0xc9,0xca,0xcb
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb,0xfc
-key upper (2 8) 0x55,0xd9,0xda,0xdb,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangItalian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangItalian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,82 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x20ac
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x27
-key lower (3 2) 0x61,0xe0,0xaa,0xe4,0xe1,0xe2,0xe3,0xe5,0xe6
-key upper (3 2) 0x41,0xc0,0xaa,0xc4,0xc1,0xc2,0xc3,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63
-key upper (4 4) 0x43
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xeb,0xea
-key upper (2 4) 0x45,0xc8,0xc9,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xee,0xef,0xed
-key upper (2 9) 0x49,0xcc,0xce,0xcf,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf3,0xf2,0xba,0xf6,0xf4,0xf5,0xf8
-key upper (2 10) 0x4f,0xd3,0xd2,0xba,0xd6,0xd4,0xd5,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfc,0xfb,0xfa
-key upper (2 8) 0x55,0xd9,0xdc,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x3f
-key upper (2 1) 0x40
-key lower (2 12) 0xe8
-key upper (2 12) 0xe9
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf2
-key upper (3 11) 0xec
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2d
-key upper (4 11) 0x3d
-key lower (3 12) 0xe0
-key upper (3 12) 0xf9
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E8
+key upper (1 3) 0x0045,0x00C8
+deadkeydata lower (1 3) 0x00E8,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C8,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075,0x00F9
+key upper (1 7) 0x0055,0x00D9
+deadkeydata lower (1 7) 0x00F9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00D9,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00EC
+key upper (1 8) 0x0049,0x00CC
+deadkeydata lower (1 8) 0x00EC,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CC,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F2
+key upper (1 9) 0x004F,0x00D2
+deadkeydata lower (1 9) 0x00F2,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D2,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xf001,0x0060
+key upper (1 11) 0xf001,0x0060
+key lower (2 1) 0x0061,0x00E0
+key upper (2 1) 0x0041,0x00C0
+deadkeydata lower (2 1) 0x00E0,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C0,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00E9
+key upper (2 10) 0x00C9
+key lower (2 11) 0x0027
+key upper (2 11) 0x0022
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0040
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
 #
 # 4x10 mini qwerty keymap data. These are from Surfer keymap spec.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/keymaps/EMU/ELangLatinAmericanSpanish.txt	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,325 @@
+#
+# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  PtiEngine keymapping file.
+#
+
+#
+# Multitapping keymap data
+#
+[KEYBOARD BLOCK 12-KEY]
+
+key lower (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key upper (1 1) 0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf
+key lower (1 2) 0x61,0x62,0x63,0x32,0xe1,0xe0,0xaa,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7
+key upper (1 2) 0x41,0x42,0x43,0x32,0xc1,0xc0,0xaa,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7
+key lower (1 3) 0x64,0x65,0x66,0x33,0xe9,0xe8,0xeb,0xea,0xf0
+key upper (1 3) 0x44,0x45,0x46,0x33,0xc9,0xc8,0xcb,0xca,0xd0
+key lower (2 1) 0x67,0x68,0x69,0x34,0xed,0xee,0xef,0xec
+key upper (2 1) 0x47,0x48,0x49,0x34,0xcd,0xce,0xcf,0xcc
+key lower (2 2) 0x6a,0x6b,0x6c,0x35,0xa3
+key upper (2 2) 0x4a,0x4b,0x4c,0x35,0xa3
+key lower (2 3) 0x6d,0x6e,0x6f,0x36,0xf1,0xf3,0xba,0xf6,0xf4,0xf2,0xf5,0xf8
+key upper (2 3) 0x4d,0x4e,0x4f,0x36,0xd1,0xd3,0xba,0xd6,0xd4,0xd2,0xd5,0xd8
+key lower (3 1) 0x70,0x71,0x72,0x73,0x37,0xdf,0x24
+key upper (3 1) 0x50,0x51,0x52,0x53,0x37,0x24
+key lower (3 2) 0x74,0x75,0x76,0x38,0xfa,0xfc,0xf9,0xfb
+key upper (3 2) 0x54,0x55,0x56,0x38,0xda,0xdc,0xd9,0xdb
+key lower (3 3) 0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe
+key upper (3 3) 0x57,0x58,0x59,0x5a,0x39,0xdd,0xde
+key lower (4 2) 0x20,0x30,0x21b2
+key upper (4 2) 0x20,0x30,0x21b2
+
+#
+# Standard 4x12 qwerty keymap data.
+#
+[KEYBOARD BLOCK QWERTY STANDARD]
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x00F1
+key upper (2 10) 0x00D1
+key lower (2 11) 0x00E7
+key upper (2 11) 0x00C7
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x00BF
+key lower (3 11) 0x0021
+key upper (3 11) 0x00A1
+
+#
+# 4x10 mini qwerty keymap data. These are from Surfer keymap spec
+#
+[KEYBOARD BLOCK QWERTY 4X10]
+
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key fn_lower (1 1) 0x0021
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key fn_lower (1 2) 0x003F
+key lower (1 3) 0x0065,0x00E9,0x00EB,0x00E8,0x00EA
+key upper (1 3) 0x0045,0x00C9,0x00CB,0x00C8,0x00CA
+key fn_lower (1 3) 0x0031
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key fn_lower (1 4) 0x0031
+key lower (1 5) 0x0074,0x00FE
+key upper (1 5) 0x0054,0x00DE
+key fn_lower (1 5) 0x0032
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+key fn_lower (1 6) 0x0032
+key lower (1 7) 0x0075,0x00FC,0x00FA,0x00F9,0x00FB
+key upper (1 7) 0x0055,0x00DC,0x00DA,0x00D9,0x00DB
+key fn_lower (1 7) 0x0033
+key lower (1 8) 0x0069,0x00ED,0x00EF,0x00EC,0x00EE
+key upper (1 8) 0x0049,0x00CD,0x00CF,0x00CC,0x00CE
+key fn_lower (1 8) 0x0033
+key lower (1 9) 0x006F,0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,0x00BA,0x00F8
+key upper (1 9) 0x004F,0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,0x00BA,0x00D8
+key fn_lower (1 9) 0x002B
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E5,0x00E6
+key upper (2 1) 0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C5,0x00C6
+key fn_lower (2 1) 0x00A1
+key lower (2 2) 0x0073,0x00DF
+key upper (2 2) 0x0053
+key fn_lower (2 2) 0x00BF
+key lower (2 3) 0x0064,0x00F0
+key upper (2 3) 0x0044,0x00D0
+key fn_lower (2 3) 0x0034
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key fn_lower (2 4) 0x0034
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key fn_lower (2 5) 0x0035
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key fn_lower (2 6) 0x0035
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key fn_lower (2 7) 0x0036
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key fn_lower (2 8) 0x0036
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key fn_lower (2 9) 0x002D
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key fn_lower (3 1) 0x002F
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key fn_lower (3 2) 0x0022
+key lower (3 3) 0x0063,0x00E7
+key upper (3 3) 0x0043,0x00C7
+key fn_lower (3 3) 0x0037
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key fn_lower (3 4) 0x0037
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key fn_lower (3 5) 0x0038
+key lower (3 6) 0x006E,0x00F1
+key upper (3 6) 0x004E,0x00D1
+key fn_lower (3 6) 0x0038
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key fn_lower (3 7) 0x0039
+key lower (3 8) 0x00F1
+key upper (3 8) 0x00D1
+key fn_lower (3 8) 0x0039
+key lower (3 9) 0x00E7
+key upper (3 9) 0x00C7
+key fn_lower (3 9) 0x003D
+key lower (4 3) 0x0040
+key fn_lower (4 3) 0x002A
+key lower (4 4) 0x0027
+key fn_lower (4 4) 0x002A
+key fn_lower (4 5) 0x0030
+key fn_lower (4 6) 0x0030
+key lower (4 7) 0x002C
+key upper (4 7) 0x003B
+key fn_lower (4 7) 0x0023
+key lower (4 8) 0x002E
+key upper (4 8) 0x003A
+key fn_lower (4 8) 0x0023
+
+#
+# Three row mini qwerty keymap data.
+#
+[KEYBOARD BLOCK QWERTY 3X11]
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key fn_lower (1 1) 0x0031
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key fn_lower (1 2) 0x0032
+key lower (1 3) 0x0065,0x00E9,0x00E8,0x00EA,0x00EB
+key upper (1 3) 0x0045,0x00C9,0x00C8,0x00CA,0x00CB
+key fn_lower (1 3) 0x0033
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key fn_lower (1 4) 0x0034
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key fn_lower (1 5) 0x0035
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key fn_lower (1 6) 0x0036
+key lower (1 7) 0x0075,0x00FA,0x00FC,0x00F9,0x00FB
+key upper (1 7) 0x0055,0x00DA,0x00DC,0x00D9,0x00DB
+key fn_lower (1 7) 0x0037
+key lower (1 8) 0x0069,0x00ED,0x00EF,0x00EC,0x00EE
+key upper (1 8) 0x0049,0x00CD,0x00CF,0x00CC,0x00CE
+key fn_lower (1 8) 0x0038
+key lower (1 9) 0x006F,0x00F3,0x00BA,0x00F2,0x00F4,0x00F5
+key upper (1 9) 0x004F,0x00D3,0x00BA,0x00D2,0x00D4,0x00D5
+key fn_lower (1 9) 0x0039
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key fn_lower (1 10) 0x0030
+key lower (2 1) 0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E6
+key upper (2 1) 0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C6
+key fn_lower (2 1) 0x0040
+key lower (2 2) 0x0073,0x00DF
+key upper (2 2) 0x0053
+key fn_lower (2 2) 0x002F
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key fn_lower (2 3) 0x002D
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key fn_lower (2 4) 0x002B
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key fn_lower (2 5) 0x003D
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key fn_lower (2 6) 0x0023
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key fn_lower (2 7) 0x002A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key fn_lower (2 8) 0x003B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key fn_lower (2 9) 0x003A
+key lower (2 10) 0x002E
+key upper (2 10) 0x002C
+key fn_lower (2 10) 0x0027
+key lower (3 2) 0x007A
+key upper (3 2) 0x005A
+key fn_lower (3 2) 0x0028
+key lower (3 3) 0x0078
+key upper (3 3) 0x0058
+key fn_lower (3 3) 0x0029
+key lower (3 4) 0x0063,0x00E7
+key upper (3 4) 0x0043,0x00C7
+key fn_lower (3 4) 0x0025
+key lower (3 5) 0x0076
+key upper (3 5) 0x0056
+key fn_lower (3 5) 0x0026
+key lower (3 6) 0x0062
+key upper (3 6) 0x0042
+key fn_lower (3 6) 0x0022
+key lower (3 7) 0x006E,0x00F1
+key upper (3 7) 0x004E,0x00D1
+key fn_lower (3 7) 0x003F
+key lower (3 8) 0x006D
+key upper (3 8) 0x004D
+key fn_lower (3 8) 0x0021
+
+# End of file.
--- a/textinput/ptienginev2/keymaps/EMU/ELangLatvian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangLatvian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,123 +45,101 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x3b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x3a
-key lower (1 8) 0x37
-key upper (1 8) 0x3f
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0x101,0x105,0xe4,0xe5,0xe6
-key upper (3 2) 0x41,0x100,0x104,0xc4,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x10d
-key upper (4 4) 0x43,0x10c
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0x113,0x119,0x117,0xe9
-key upper (2 4) 0x45,0x112,0x118,0x116,0xc9
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x123
-key upper (3 6) 0x47,0x122
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0x12b,0x12f
-key upper (2 9) 0x49,0x12a,0x12e
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b,0x137
-key upper (3 9) 0x4b,0x136
-key lower (3 10) 0x6c,0x13c
-key upper (3 10) 0x4c,0x13b
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x146
-key upper (4 7) 0x4e,0x145
-key lower (2 10) 0x6f,0xf5,0xf6,0xf8
-key upper (2 10) 0x4f,0xd5,0xd6,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x157
-key upper (2 5) 0x52,0x156
-key lower (3 3) 0x73,0x161,0xdf
-key upper (3 3) 0x53,0x160
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0x16b,0x173,0xfc
-key upper (2 8) 0x55,0x16a,0x172,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59
-key lower (4 2) 0x7a,0x17e
-key upper (4 2) 0x5a,0x17d
-key lower (2 1) 0x2d
-key upper (2 1) 0x2f
-key lower (2 12) 0xf005,0x2d9
-key upper (2 12) 0xf005,0x2d9
-key lower (4 9) 0xf004,0xb8
-key upper (4 9) 0xf004,0xb8
-key lower (3 11) 0xf002,0x2c7
-key upper (3 11) 0xf002,0x2c7
-key lower (4 10) 0xf001,0x2c9
-key upper (4 10) 0xf001,0x2c9
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2e
-key upper (4 11) 0x2c
-key lower (3 12) 0xf003,0x2db
-key upper (3 12) 0xf003,0x2db
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x0113,0x011B
+key upper (1 3) 0x0045,0x0112,0x011A
+deadkeydata lower (1 3) 0x0113,0xf000,0x011B,0xf000,0xf000
+deadkeydata upper (1 3) 0x0112,0xf000,0x011A,0xf000,0xf000
+key lower (1 4) 0x0072,0x0157,0x0159
+key upper (1 4) 0x0052,0x0156,0x0158
+deadkeydata lower (1 4) 0xf000,0x0157,0x0159,0xf000,0xf000
+deadkeydata upper (1 4) 0xf000,0x0156,0x0158,0xf000,0xf000
+key lower (1 5) 0x0074,0x0165
+key upper (1 5) 0x0054,0x0164
+deadkeydata lower (1 5) 0xf000,0xf000,0x0165,0xf000,0xf000
+deadkeydata upper (1 5) 0xf000,0xf000,0x0164,0xf000,0xf000
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075,0x016B
+key upper (1 7) 0x0055,0x016A
+deadkeydata lower (1 7) 0x016B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x016A,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x012B
+key upper (1 8) 0x0049,0x012A
+deadkeydata lower (1 8) 0x012B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x012A,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00AF
+key upper (1 11) 0xF001,0x00AF
+key lower (2 1) 0x0061,0x0101
+key upper (2 1) 0x0041,0x0100
+deadkeydata lower (2 1) 0x0101,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x0100,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x0161
+key upper (2 2) 0x0053,0x0160
+deadkeydata lower (2 2) 0xf000,0xf000,0x0161,0xf000,0xf000
+deadkeydata upper (2 2) 0xf000,0xf000,0x0160,0xf000,0xf000
+key lower (2 3) 0x0064,0x010F
+key upper (2 3) 0x0044,0x010E
+deadkeydata lower (2 3) 0xf000,0xf000,0x010F,0xf000,0xf000
+deadkeydata upper (2 3) 0xf000,0xf000,0x010E,0xf000,0xf000
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067,0x0123
+key upper (2 5) 0x0047,0x0122
+deadkeydata lower (2 5) 0xf000,0x0123,0xf000,0xf000,0xf000
+deadkeydata upper (2 5) 0xf000,0x0122,0xf000,0xf000,0xf000
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B,0x0137
+key upper (2 8) 0x004B,0x0136
+deadkeydata lower (2 8) 0xf000,0x0137,0xf000,0xf000,0xf000
+deadkeydata upper (2 8) 0xf000,0x0136,0xf000,0xf000,0xf000
+key lower (2 9) 0x006C,0x013C
+key upper (2 9) 0x004C,0x013B
+deadkeydata lower (2 9) 0xf000,0x013C,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0xf000,0x013B,0xf000,0xf000,0xf000
+key lower (2 10) 0xF003,0x02C7
+key upper (2 10) 0xF003,0x02C7
+key lower (2 11) 0xF002,0x00B8
+key upper (2 11) 0xF002,0x00B8
+key lower (3 1) 0x007A,0x017E
+key upper (3 1) 0x005A,0x017D
+deadkeydata lower (3 1) 0xf000,0xf000,0x017E,0xf000,0xf000
+deadkeydata upper (3 1) 0xf000,0xf000,0x017D,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x010D
+key upper (3 3) 0x0043,0x010C
+deadkeydata lower (3 3) 0xf000,0xf000,0x010D,0xf000,0xf000
+deadkeydata upper (3 3) 0xf000,0xf000,0x010C,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0146,0x0148
+key upper (3 6) 0x004E,0x0145,0x0147
+deadkeydata lower (3 6) 0xf000,0x0146,0x0148,0xf000,0xf000
+deadkeydata upper (3 6) 0xf000,0x0145,0x0147,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x0113,0xF000,0x0119,0xF000,0x0117
-dead_key_data upper (2 4) 0x0112,0xF000,0x0118,0xF000,0x0116
-dead_key_data lower (2 5) 0xF000,0xF000,0xF000,0x0157,0xF000
-dead_key_data upper (2 5) 0xF000,0xF000,0xF000,0x0156,0xF000
-dead_key_data lower (2 8) 0x016B,0xF000,0x0173,0xF000,0xF000
-dead_key_data upper (2 8) 0x016A,0xF000,0x0172,0xF000,0xF000
-dead_key_data lower (2 9) 0x012B,0xF000,0x012F,0xF000,0xF000
-dead_key_data upper (2 9) 0x012A,0xF000,0x012E,0xF000,0xF000
-dead_key_data lower (3 2) 0x0101,0xF000,0x0105,0xF000,0xF000
-dead_key_data upper (3 2) 0x0100,0xF000,0x0104,0xF000,0xF000
-dead_key_data lower (3 3) 0xF000,0x0161,0xF000,0xF000,0xF000
-dead_key_data upper (3 3) 0xF000,0x0160,0xF000,0xF000,0xF000
-dead_key_data lower (3 6) 0xF000,0xF000,0xF000,0x0123,0xF000
-dead_key_data upper (3 6) 0xF000,0xF000,0xF000,0x0122,0xF000
-dead_key_data lower (3 9) 0xF000,0xF000,0xF000,0x0137,0xF000
-dead_key_data upper (3 9) 0xF000,0xF000,0xF000,0x0136,0xF000
-dead_key_data lower (3 10) 0xF000,0xF000,0xF000,0x013C,0xF000
-dead_key_data upper (3 10) 0xF000,0xF000,0xF000,0x013B,0xF000
-dead_key_data lower (4 2) 0xF000,0x017E,0xF000,0xF000,0xF000
-dead_key_data upper (4 2) 0xF000,0x017D,0xF000,0xF000,0xF000
-dead_key_data lower (4 4) 0xF000,0x010D,0xF000,0xF000,0xF000
-dead_key_data upper (4 4) 0xF000,0x010C,0xF000,0xF000,0xF000
-dead_key_data lower (4 7) 0xF000,0xF000,0xF000,0x0146,0xF000
-dead_key_data upper (4 7) 0xF000,0xF000,0xF000,0x0145,0xF000
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangLithuanian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangLithuanian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,123 +45,95 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x3b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x3a
-key lower (1 8) 0x37
-key upper (1 8) 0x3f
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0x105,0x101,0xe4,0xe5,0xe6
-key upper (3 2) 0x41,0x104,0x100,0xc4,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x10d
-key upper (4 4) 0x43,0x10c
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0x119,0x117,0x113,0xe9
-key upper (2 4) 0x45,0x118,0x116,0x112,0xc9
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x123
-key upper (3 6) 0x47,0x122
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0x12f,0x12b
-key upper (2 9) 0x49,0x12e,0x12a
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b,0x137
-key upper (3 9) 0x4b,0x136
-key lower (3 10) 0x6c,0x13c
-key upper (3 10) 0x4c,0x13b
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x146
-key upper (4 7) 0x4e,0x145
-key lower (2 10) 0x6f,0xf5,0xf6,0xf8
-key upper (2 10) 0x4f,0xd5,0xd6,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x157
-key upper (2 5) 0x52,0x156
-key lower (3 3) 0x73,0x161,0xdf
-key upper (3 3) 0x53,0x160
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0x173,0x16b,0xfc
-key upper (2 8) 0x55,0x172,0x16a,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59
-key lower (4 2) 0x7a,0x17e
-key upper (4 2) 0x5a,0x17d
-key lower (2 1) 0x2d
-key upper (2 1) 0x2f
-key lower (2 12) 0xf005,0x2d9
-key upper (2 12) 0xf005,0x2d9
-key lower (4 9) 0xf004,0xb8
-key upper (4 9) 0xf004,0xb8
-key lower (3 11) 0xf002,0x2c7
-key upper (3 11) 0xf002,0x2c7
-key lower (4 10) 0xf001,0x2c9
-key upper (4 10) 0xf001,0x2c9
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2e
-key upper (4 11) 0x2c
-key lower (3 12) 0xf003,0x2db
-key upper (3 12) 0xf003,0x2db
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x011B,0x0119
+key upper (1 3) 0x0045,0x011A,0x0118
+deadkeydata lower (1 3) 0x011B,0x0119,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x011A,0x0118,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0159
+key upper (1 4) 0x0052,0x0158
+deadkeydata lower (1 4) 0x0159,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0158,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074,0x0165
+key upper (1 5) 0x0054,0x0164
+deadkeydata lower (1 5) 0x0165,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 5) 0x0164,0xf000,0xf000,0xf000,0xf000
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075,0x0173
+key upper (1 7) 0x0055,0x0172
+deadkeydata lower (1 7) 0xf000,0x0173,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0xf000,0x0172,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x012F
+key upper (1 8) 0x0049,0x012E
+deadkeydata lower (1 8) 0xf000,0x012F,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0xf000,0x012E,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x0117
+key upper (1 11) 0x0116
+key lower (2 1) 0x0061,0x0105
+key upper (2 1) 0x0041,0x0104
+deadkeydata lower (2 1) 0xf000,0x0105,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0xf000,0x0104,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x0161
+key upper (2 2) 0x0053,0x0160
+deadkeydata lower (2 2) 0x0161,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x0160,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064,0x010F
+key upper (2 3) 0x0044,0x010E
+deadkeydata lower (2 3) 0x010F,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 3) 0x010E,0xf000,0xf000,0xf000,0xf000
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0xF002,0x02DB
+key upper (2 10) 0xF002,0x02DB
+key lower (2 11) 0xF001,0x02C7
+key upper (2 11) 0xF001,0x02C7
+key lower (3 1) 0x007A,0x017E
+key upper (3 1) 0x005A,0x017D
+deadkeydata lower (3 1) 0x017E,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x017D,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x010D
+key upper (3 3) 0x0043,0x010C
+deadkeydata lower (3 3) 0x010D,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x010C,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0148
+key upper (3 6) 0x004E,0x0147
+deadkeydata lower (3 6) 0x0148,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0147,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x016B
+key upper (3 11) 0x016A
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x0113,0xF000,0x0119,0xF000,0x0117
-dead_key_data upper (2 4) 0x0112,0xF000,0x0118,0xF000,0x0116
-dead_key_data lower (2 5) 0xF000,0xF000,0xF000,0x0157,0xF000
-dead_key_data upper (2 5) 0xF000,0xF000,0xF000,0x0156,0xF000
-dead_key_data lower (2 8) 0x016B,0xF000,0x0173,0xF000,0xF000
-dead_key_data upper (2 8) 0x016A,0xF000,0x0172,0xF000,0xF000
-dead_key_data lower (2 9) 0x012B,0xF000,0x012F,0xF000,0xF000
-dead_key_data upper (2 9) 0x012A,0xF000,0x012E,0xF000,0xF000
-dead_key_data lower (3 2) 0x0101,0xF000,0x0105,0xF000,0xF000
-dead_key_data upper (3 2) 0x0100,0xF000,0x0104,0xF000,0xF000
-dead_key_data lower (3 3) 0xF000,0x0161,0xF000,0xF000,0xF000
-dead_key_data upper (3 3) 0xF000,0x0160,0xF000,0xF000,0xF000
-dead_key_data lower (3 6) 0xF000,0xF000,0xF000,0x0123,0xF000
-dead_key_data upper (3 6) 0xF000,0xF000,0xF000,0x0122,0xF000
-dead_key_data lower (3 9) 0xF000,0xF000,0xF000,0x0137,0xF000
-dead_key_data upper (3 9) 0xF000,0xF000,0xF000,0x0136,0xF000
-dead_key_data lower (3 10) 0xF000,0xF000,0xF000,0x013C,0xF000
-dead_key_data upper (3 10) 0xF000,0xF000,0xF000,0x013B,0xF000
-dead_key_data lower (4 2) 0xF000,0x017E,0xF000,0xF000,0xF000
-dead_key_data upper (4 2) 0xF000,0x017D,0xF000,0xF000,0xF000
-dead_key_data lower (4 4) 0xF000,0x010D,0xF000,0xF000,0xF000
-dead_key_data upper (4 4) 0xF000,0x010C,0xF000,0xF000,0xF000
-dead_key_data lower (4 7) 0xF000,0xF000,0xF000,0x0146,0xF000
-dead_key_data upper (4 7) 0xF000,0xF000,0xF000,0x0145,0xF000
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangMalay.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangMalay.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,66 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xea,0xeb
-key upper (2 4) 0x45,0xc8,0xc9,0xca,0xcb
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb,0xfc
-key upper (2 8) 0x55,0xd9,0xda,0xdb,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangNorwegian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangNorwegian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x20ac
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe4,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xe8,0xeb,0xea
-key upper (2 4) 0x45,0xc9,0xc8,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf4,0xf2,0xf3,0xf5
-key upper (2 10) 0x4f,0xd6,0xd4,0xd2,0xd3,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x23
-key upper (2 1) 0x3d
-key lower (2 12) 0xe5
-key upper (2 12) 0xc5
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf8,0xf6
-key upper (3 11) 0xd8,0xd6
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2d
-key upper (4 11) 0x27
-key lower (3 12) 0xe6,0xe4
-key upper (3 12) 0xc6,0xc4
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00E5
+key upper (1 11) 0x00C5
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00F8
+key upper (2 10) 0x00D8
+key lower (2 11) 0x00E6
+key upper (2 11) 0x00C6
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x0027
+key upper (3 11) 0x002F
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangPolish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangPolish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,96 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x40
-key lower (1 4) 0x33
-key upper (1 4) 0x20ac
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x5f
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0x105,0xe1,0xe2,0xe4,0x103
-key upper (3 2) 0x41,0x104,0xc1,0xc2,0xc4,0x102
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x107,0x10d
-key upper (4 4) 0x43,0x106,0x10c
-key lower (3 4) 0x64,0x10f,0x111
-key upper (3 4) 0x44,0x10e,0x110
-key lower (2 4) 0x65,0x119,0xe9,0x11b
-key upper (2 4) 0x45,0x118,0xc9,0x11a
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x142,0x13e,0x13a
-key upper (3 10) 0x4c,0x141,0x13d,0x139
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x144,0x148
-key upper (4 7) 0x4e,0x143,0x147
-key lower (2 10) 0x6f,0xf3,0xf4,0xf6,0x151
-key upper (2 10) 0x4f,0xd3,0xd4,0xd6,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0x15b,0x15f,0x161,0xdf
-key upper (3 3) 0x53,0x15a,0x15e,0x160
-key lower (2 6) 0x74,0x163,0x165
-key upper (2 6) 0x54,0x162,0x164
-key lower (2 8) 0x75,0xfa,0xfc,0x16f,0x171
-key upper (2 8) 0x55,0xda,0xdc,0x16e,0x170
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78,0x17a
-key upper (4 3) 0x58,0x179
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a,0x17c,0x17e,0x17a
-key upper (4 2) 0x5a,0x17b,0x17d,0x179
-key lower (2 1) 0x7e
-key upper (2 1) 0x5c
-key lower (2 12) 0x2d
-key upper (2 12) 0x3d
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x3f
-key upper (4 11) 0x2f
-key lower (3 12) 0x27
-key upper (3 12) 0x22
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x017C
+key upper (1 11) 0x017B
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x0142
+key upper (2 10) 0x0141
+key lower (2 11) 0xF001,0x00B4
+key upper (2 11) 0xF001,0x00B4
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0x0105
+key upper (3 10) 0x0104
+key lower (3 11) 0x0119
+key upper (3 11) 0x0118
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangPortuguese.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangPortuguese.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,302 +45,101 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031
-key upper (1 2) 0x0040
-key lower (1 3) 0x0032
-key upper (1 3) 0x0022
-key lower (1 4) 0x0033
-key upper (1 4) 0x0023
-key lower (1 5) 0x0034
-key upper (1 5) 0x002b
-key lower (1 6) 0x0035
-key upper (1 6) 0x003d
-key lower (1 7) 0x0036
-key upper (1 7) 0x002a
-key lower (1 8) 0x0037
-key upper (1 8) 0x002f
-key lower (1 9) 0x0038
-key upper (1 9) 0x0028
-key lower (1 10) 0x0039
-key upper (1 10) 0x0029
-key lower (1 11) 0x0030
-key upper (1 11) 0x0027
-key lower (3 2) 0x0061,0x00e2,0x00e1,0x00e0,0x00e3,0x00aa,0x00e4,0x00e5,0x00e6
-key upper (3 2) 0x0041,0x00c2,0x00c1,0x00c0,0x00c3,0x00aa,0x00c4,0x00c5,0x00c6
-key lower (4 6) 0x0062
-key upper (4 6) 0x0042
-key lower (4 4) 0x0063,0x00e7
-key upper (4 4) 0x0043,0x00c7
-key lower (3 4) 0x0064,0x00f0
-key upper (3 4) 0x0044,0x00d0
-key lower (2 4) 0x0065,0x00ea,0x00e9,0x00e8,0x00eb
-key upper (2 4) 0x0045,0x00ca,0x00c9,0x00c8,0x00cb
-key lower (3 5) 0x0066
-key upper (3 5) 0x0046
-key lower (3 6) 0x0067
-key upper (3 6) 0x0047
-key lower (3 7) 0x0068
-key upper (3 7) 0x0048
-key lower (2 9) 0x0069,0x00ed,0x00ee,0x00ec,0x00ef
-key upper (2 9) 0x0049,0x00cd,0x00ce,0x00cc,0x00cf
-key lower (3 8) 0x006a
-key upper (3 8) 0x004a
-key lower (3 9) 0x006b
-key upper (3 9) 0x004b
-key lower (3 10) 0x006c
-key upper (3 10) 0x004c
-key lower (4 8) 0x006d
-key upper (4 8) 0x004d
-key lower (4 7) 0x006e,0x00f1
-key upper (4 7) 0x004e,0x00d1
-key lower (2 10) 0x006f,0x00f5,0x00f4,0x00f3,0x00f2,0x00f6,0x00ba,0x00f8
-key upper (2 10) 0x004f,0x00d5,0x00d4,0x00d3,0x00d2,0x00d6,0x00ba,0x00d8
-key lower (2 11) 0x0070
-key upper (2 11) 0x0050
-key lower (2 2) 0x0071
-key upper (2 2) 0x0051
-key lower (2 5) 0x0072
-key upper (2 5) 0x0052
-key lower (3 3) 0x0073,0x00df
-key upper (3 3) 0x0053
-key lower (2 6) 0x0074,0x00fe
-key upper (2 6) 0x0054,0x00de
-key lower (2 8) 0x0075,0x00fa,0x00fb,0x00f9,0x00fc
-key upper (2 8) 0x0055,0x00da,0x00db,0x00d9,0x00dc
-key lower (4 5) 0x0076
-key upper (4 5) 0x0056
-key lower (2 3) 0x0077
-key upper (2 3) 0x0057
-key lower (4 3) 0x0078
-key upper (4 3) 0x0058
-key lower (2 7) 0x0079,0x00fd
-key upper (2 7) 0x0059,0x00dd
-key lower (4 2) 0x007a
-key upper (4 2) 0x005a
-key lower (2 1) 0x003f
-key upper (2 1) 0x0021
-key lower (2 12) 0xf001,0x00b4
-key upper (2 12) 0xf002,0x00a8
-key lower (4 9) 0x002c
-key upper (4 9) 0x003b
-key lower (3 11) 0x00e7,0x00f1
-key upper (3 11) 0x00c7,0x00d1
-key lower (4 10) 0x002e
-key upper (4 10) 0x003a
-key lower (3 1) 0x00bf
-key upper (3 1) 0x00a1
-key lower (4 11) 0x002d
-key upper (4 11) 0xf003,0x0060
-key lower (3 12) 0xf005,0x007e
-key upper (3 12) 0xf004,0x005e
 
-#
-# Dead key data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9, 0x00EB, 0x00E8, 0x00EA, 0xF000
-dead_key_data upper (2 4) 0x00C9, 0x00CB, 0x00C8, 0x00CA, 0xF000
-dead_key_data lower (2 7) 0x00FD, 0xF000, 0xF000, 0xF000, 0xF000
-dead_key_data upper (2 7) 0x00DD, 0xF000, 0xF000, 0xF000, 0xF000
-dead_key_data lower (2 8) 0x00FA, 0x00FC, 0x00F9, 0x00FB, 0xF000
-dead_key_data upper (2 8) 0x00DA, 0x00DC, 0x00D9, 0x00DB, 0xF000
-dead_key_data lower (2 9) 0x00ED, 0x00EF, 0x00EC, 0x00EE, 0xF000
-dead_key_data upper (2 9) 0x00CD, 0x00CF, 0x00CC, 0x00CE, 0xF000
-dead_key_data lower (2 10) 0x00F3, 0x00F6, 0x00F2, 0x00F4, 0x00F5
-dead_key_data upper (2 10) 0x00D3, 0x00D6, 0x00D2, 0x00D4, 0x00D5
-dead_key_data lower (3 2) 0x00E1, 0x00E4, 0x00E0, 0x00E2, 0x00E3
-dead_key_data upper (3 2) 0x00C1, 0x00C4, 0x00C0, 0x00C2, 0x00C3
-dead_key_data lower (4 7) 0xF000, 0xF000, 0xF000, 0xF000, 0x00F1
-dead_key_data upper (4 7) 0xF000, 0xF000, 0xF000, 0xF000, 0x00D1
 
-#
-# Three row mini qwerty keymap data. 
-#
-[KEYBOARD BLOCK QWERTY 3X11]
 
 key lower (1 1) 0x0071
 key upper (1 1) 0x0051
-key fn_lower (1 1) 0x0031
-key lower (1 2) 0x0077
-key upper (1 2) 0x0057
-key fn_lower (1 2) 0x0032
-key lower (1 3) 0x0065,0x00EA,0x00E9,0x00E8,0x00EB
-key upper (1 3) 0x0045,0x00CA,0x00C9,0x00C8,0x00CB
-key fn_lower (1 3) 0x0033
-key lower (1 4) 0x0072
-key upper (1 4) 0x0052
-key fn_lower (1 4) 0x0034
-key lower (1 5) 0x0074,0x00FE
-key upper (1 5) 0x0054,0x00DE
-key fn_lower (1 5) 0x0035
-key lower (1 6) 0x0079,0x00FD
-key upper (1 6) 0x0059,0x00DD
-key fn_lower (1 6) 0x0036
-key lower (1 7) 0x0075,0x00FA,0x00FB,0x00F9,0x00FC
-key upper (1 7) 0x0055,0x00DA,0x00DB,0x00D9,0x00DC
-key fn_lower (1 7) 0x0037
-key lower (1 8) 0x0069,0x00ED,0x00EE,0x00EC,0x00EF
-key upper (1 8) 0x0049,0x00CD,0x00CE,0x00CC,0x00CF
-key fn_lower (1 8) 0x0038
-key lower (1 9) 0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8
-key upper (1 9) 0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8
-key fn_lower (1 9) 0x0039
-key lower (1 10) 0x0070
-key upper (1 10) 0x0050
-key fn_lower (1 10) 0x0030
-key lower (2 1) 0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6
-key upper (2 1) 0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6
-key fn_lower (2 1) 0x0040
-key lower (2 2) 0x0073,0x00DF
-key upper (2 2) 0x0053
-key fn_lower (2 2) 0x002F
-key lower (2 3) 0x0064,0x00F0
-key upper (2 3) 0x0044,0x00D0
-key fn_lower (2 3) 0x002B
-key lower (2 4) 0x0066
-key upper (2 4) 0x0046
-key fn_lower (2 4) 0x002D
-key lower (2 5) 0x0067
-key upper (2 5) 0x0047
-key fn_lower (2 5) 0x002A
-key lower (2 6) 0x0068
-key upper (2 6) 0x0048
-key fn_lower (2 6) 0x0023
-key lower (2 7) 0x006A
-key upper (2 7) 0x004A
-key fn_lower (2 7) 0x003D
-key lower (2 8) 0x006B
-key upper (2 8) 0x004B
-key fn_lower (2 8) 0x003F
-key lower (2 9) 0x006C
-key upper (2 9) 0x004C
-key fn_lower (2 9) 0x0021
-key lower (2 10) 0x00E7
-key upper (2 10) 0x00C7
-key fn_lower (2 10) 0x0027
-key lower (3 2) 0x007A
-key upper (3 2) 0x005A
-key fn_lower (3 2) 0x0028
-key lower (3 3) 0x0078
-key upper (3 3) 0x0058
-key fn_lower (3 3) 0x0029
-key lower (3 4) 0x0063,0x00E7
-key upper (3 4) 0x0043,0x00C7
-key fn_lower (3 4) 0x0025
-key lower (3 5) 0x0076
-key upper (3 5) 0x0056
-key fn_lower (3 5) 0x002C
-key lower (3 6) 0x0062
-key upper (3 6) 0x0042
-key fn_lower (3 6) 0x002E
-key lower (3 7) 0x006E,0x00F1
-key upper (3 7) 0x004E,0x00D1
-key fn_lower (3 7) 0x003B
-key lower (3 8) 0x006D
-key upper (3 8) 0x004D
-key fn_lower (3 8) 0x003A
-
-#
-# Four row mini qwerty keymap data. 
-#
-[KEYBOARD BLOCK QWERTY 4X10]
-
-key lower (1 1) 0x0071
-key upper (1 1) 0x0051
-key fn_lower (1 1) 0x0021
 key lower (1 2) 0x0077
 key upper (1 2) 0x0057
-key fn_lower (1 2) 0x0022
-key lower (1 3) 0x0065,0x00EA,0x00E9,0x00E8,0x00EB
-key upper (1 3) 0x0045,0x00CA,0x00C9,0x00C8,0x00CB
-key fn_lower (1 3) 0x0031
-key lower (1 4) 0x0072
-key upper (1 4) 0x0052
-key fn_lower (1 4) 0x0031
-key lower (1 5) 0x0074,0x00FE
-key upper (1 5) 0x0054,0x00DE
-key fn_lower (1 5) 0x0032
+key lower (1 3) 0x0065,0x00EA,0x00E8,0x00E9
+key upper (1 3) 0x0045,0x00CA,0x00C8,0x00C9
+deadkeydata lower (1 3) 0x00EA,0x00E8,0xf000,0x00E9,0xf000
+deadkeydata upper (1 3) 0x00CA,0x00C8,0xf000,0x00C9,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0xf000,0xf000,0xf000,0x0155,0xf000
+deadkeydata upper (1 4) 0xf000,0xf000,0xf000,0x0154,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
 key lower (1 6) 0x0079,0x00FD
 key upper (1 6) 0x0059,0x00DD
-key fn_lower (1 6) 0x0032
-key lower (1 7) 0x0075,0x00FA,0x00FB,0x00F9,0x00FC
-key upper (1 7) 0x0055,0x00DA,0x00DB,0x00D9,0x00DC
-key fn_lower (1 7) 0x0033
-key lower (1 8) 0x0069,0x00ED,0x00EE,0x00EC,0x00EF
-key upper (1 8) 0x0049,0x00CD,0x00CE,0x00CC,0x00CF
-key fn_lower (1 8) 0x0033
-key lower (1 9) 0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8
-key upper (1 9) 0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8
-key fn_lower (1 9) 0x002B
+deadkeydata lower (1 6) 0xf000,0xf000,0xf000,0x00FD,0xf000
+deadkeydata upper (1 6) 0xf000,0xf000,0xf000,0x00DD,0xf000
+key lower (1 7) 0x0075,0x00FB,0x00F9,0x00FA
+key upper (1 7) 0x0055,0x00DB,0x00D9,0x00DA
+deadkeydata lower (1 7) 0x00FB,0x00F9,0xf000,0x00FA,0xf000
+deadkeydata upper (1 7) 0x00DB,0x00D9,0xf000,0x00DA,0xf000
+key lower (1 8) 0x0069,0x00EE,0x00EC,0x00ED
+key upper (1 8) 0x0049,0x00CE,0x00CC,0x00CD
+deadkeydata lower (1 8) 0x00EE,0x00EC,0xf000,0x00ED,0xf000
+deadkeydata upper (1 8) 0x00CE,0x00CC,0xf000,0x00CD,0xf000
+key lower (1 9) 0x006F,0x00F4,0x00F2,0x00F5,0x00F3
+key upper (1 9) 0x004F,0x00D4,0x00D2,0x00D5,0x00D3
+deadkeydata lower (1 9) 0x00F4,0x00F2,0x00F5,0x00F3,0xf000
+deadkeydata upper (1 9) 0x00D4,0x00D2,0x00D5,0x00D3,0xf000
 key lower (1 10) 0x0070
 key upper (1 10) 0x0050
-key lower (2 1) 0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6
-key upper (2 1) 0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6
-key fn_lower (2 1) 0x002F
-key lower (2 2) 0x0073,0x00DF
-key upper (2 2) 0x0053
-key fn_lower (2 2) 0x0025
-key lower (2 3) 0x0064,0x00F0
-key upper (2 3) 0x0044,0x00D0
-key fn_lower (2 3) 0x0034
+key lower (1 11) 0xf004,0x00B4
+key upper (1 11) 0xf004,0x00B4
+key lower (2 1) 0x0061,0x00E2,0x00E0,0x00E3,0x00E1
+key upper (2 1) 0x0041,0x00C2,0x00C0,0x00C3,0x00C1
+deadkeydata lower (2 1) 0x00E2,0x00E0,0x00E3,0x00E1,0xf000
+deadkeydata upper (2 1) 0x00C2,0x00C0,0x00C3,0x00C1,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0xf000,0xf000,0xf000,0x015B,0xf000
+deadkeydata upper (2 2) 0xf000,0xf000,0xf000,0x015A,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
 key lower (2 4) 0x0066
 key upper (2 4) 0x0046
-key fn_lower (2 4) 0x0034
 key lower (2 5) 0x0067
 key upper (2 5) 0x0047
-key fn_lower (2 5) 0x0035
 key lower (2 6) 0x0068
 key upper (2 6) 0x0048
-key fn_lower (2 6) 0x0035
 key lower (2 7) 0x006A
 key upper (2 7) 0x004A
-key fn_lower (2 7) 0x0036
 key lower (2 8) 0x006B
 key upper (2 8) 0x004B
-key fn_lower (2 8) 0x0036
-key lower (2 9) 0x006C
-key upper (2 9) 0x004C
-key fn_lower (2 9) 0x00E7
-key fn_upper (2 9) 0x00C7
-key lower (3 1) 0x007A
-key upper (3 1) 0x005A
-key fn_lower (3 1) 0x002D
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0xf000,0xf000,0xf000,0x013A,0xf000
+deadkeydata upper (2 9) 0xf000,0xf000,0xf000,0x0139,0xf000
+key lower (2 10) 0x00E7
+key upper (2 10) 0x00C7
+key lower (2 11) 0xf003,0x007E
+key upper (2 11) 0xf003,0x007E
+
+
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0xf000,0xf000,0xf000,0x017A,0xf000
+deadkeydata upper (3 1) 0xf000,0xf000,0xf000,0x0179,0xf000
 key lower (3 2) 0x0078
 key upper (3 2) 0x0058
-key fn_lower (3 2) 0x003D
-key lower (3 3) 0x0063,0x00E7
-key upper (3 3) 0x0043,0x00C7
-key fn_lower (3 3) 0x0037
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0xf000,0xf000,0xf000,0x0107,0xf000
+deadkeydata upper (3 3) 0xf000,0xf000,0xf000,0x0106,0xf000
 key lower (3 4) 0x0076
 key upper (3 4) 0x0056
-key fn_lower (3 4) 0x0037
 key lower (3 5) 0x0062
 key upper (3 5) 0x0042
-key fn_lower (3 5) 0x0038
-key lower (3 6) 0x006E,0x00F1
-key upper (3 6) 0x004E,0x00D1
-key fn_lower (3 6) 0x0038
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0xf000,0xf000,0xf000,0x0144,0xf000
+deadkeydata upper (3 6) 0xf000,0xf000,0xf000,0x0143,0xf000
 key lower (3 7) 0x006D
 key upper (3 7) 0x004D
-key fn_lower (3 7) 0x0039
-key lower (3 8) 0x002C
-key upper (3 8) 0x003B
-key fn_lower (3 8) 0x0039
-key lower (3 9) 0x002E
-key upper (3 9) 0x003A
-key fn_lower (3 9) 0x0027
-key lower (4 3) 0x0040
-key fn_lower (4 3) 0x002A
-key lower (4 4) 0x003F
-key fn_lower (4 4) 0x002A
-key fn_lower (4 5) 0x0030
-key fn_lower (4 6) 0x0030
-key lower (4 7) 0x00B4
-key upper (4 7) 0x0060
-key fn_lower (4 7) 0x0023
-key lower (4 8) 0x007E
-key upper (4 8) 0x005E
-key fn_lower (4 8) 0x0023
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0xf002,0x0060
+key upper (3 10) 0xf002,0x0060
+key lower (3 11) 0xf001,0x005E
+key upper (3 11) 0xf001,0x005E
 
 #end of file
 
--- a/textinput/ptienginev2/keymaps/EMU/ELangRomanian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangRomanian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,103 +45,73 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x40
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe1,0xe4,0x105,0x103,0xe2
-key upper (3 2) 0x41,0xc1,0xc4,0x104,0x102,0xc2
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x107,0x10d
-key upper (4 4) 0x43,0x106,0x10c
-key lower (3 4) 0x64,0x10f,0x111
-key upper (3 4) 0x44,0x10e,0x110
-key lower (2 4) 0x65,0xe9,0x11b,0x119
-key upper (2 4) 0x45,0xc9,0x11a,0x118
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x13a,0x13e,0x142
-key upper (3 10) 0x4c,0x139,0x13d,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x144,0x148
-key upper (4 7) 0x4e,0x143,0x147
-key lower (2 10) 0x6f,0xf3,0xf6,0xf4,0x151
-key upper (2 10) 0x4f,0xd3,0xd6,0xd4,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0x15f,0x15b,0x161,0xdf
-key upper (3 3) 0x53,0x15e,0x15a,0x160
-key lower (2 6) 0x74,0x163,0x165
-key upper (2 6) 0x54,0x162,0x164
-key lower (2 8) 0x75,0xfa,0xfc,0x171,0xf9,0xfb,0x16f
-key upper (2 8) 0x55,0xda,0xdc,0x170,0xd9,0xdb,0x16e
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a,0x17a,0x17e,0x17c
-key upper (4 2) 0x5a,0x179,0x17d,0x17b
-key lower (2 1) 0x2b
-key upper (2 1) 0x2a
-key lower (2 12) 0x103
-key upper (2 12) 0x102
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf001,0xb8
-key upper (3 11) 0xf001,0xb8
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2d
-key upper (3 1) 0x3d
-key lower (4 11) 0xee
-key upper (4 11) 0xce
-key lower (3 12) 0xe2
-key upper (3 12) 0xc2
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x0103
+key upper (1 11) 0x0102
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x015F
+key upper (2 10) 0x015E
+key lower (2 11) 0x0163
+key upper (2 11) 0x0162
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0x00E2
+key upper (3 10) 0x00C2
+key lower (3 11) 0x00EE
+key upper (3 11) 0x00CE
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 6) 0x0163,0xf000,0xf000,0xf000,0xf000
-dead_key_data upper (2 6) 0x0162,0xf000,0xf000,0xf000,0xf000
-dead_key_data lower (3 3) 0x015F,0xf000,0xf000,0xf000,0xf000
-dead_key_data upper (3 3) 0x015E,0xf000,0xf000,0xf000,0xf000
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangRussian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangRussian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,106 +45,74 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x3b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x3a
-key lower (1 8) 0x37
-key upper (1 8) 0x3f
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x444
-key upper (3 2) 0x424
-key lower (4 6) 0x438
-key upper (4 6) 0x418
-key lower (4 4) 0x441
-key upper (4 4) 0x421
-key lower (3 4) 0x432
-key upper (3 4) 0x412
-key lower (2 4) 0x443
-key upper (2 4) 0x423
-key lower (3 5) 0x430
-key upper (3 5) 0x410
-key lower (3 6) 0x43f
-key upper (3 6) 0x41f
-key lower (3 7) 0x440
-key upper (3 7) 0x420
-key lower (2 9) 0x448
-key upper (2 9) 0x428
-key lower (3 8) 0x43e
-key upper (3 8) 0x41e
-key lower (3 9) 0x43b
-key upper (3 9) 0x41b
-key lower (3 10) 0x434
-key upper (3 10) 0x414
-key lower (4 8) 0x44c
-key upper (4 8) 0x42c
-key lower (4 7) 0x442
-key upper (4 7) 0x422
-key lower (2 10) 0x449
-key upper (2 10) 0x429
-key lower (2 11) 0x437
-key upper (2 11) 0x417
-key lower (2 2) 0x439
-key upper (2 2) 0x419
-key lower (2 5) 0x43a
-key upper (2 5) 0x41a
-key lower (3 3) 0x44b
-key upper (3 3) 0x42b
-key lower (2 6) 0x435
-key upper (2 6) 0x415
-key lower (2 8) 0x433
-key upper (2 8) 0x413
-key lower (4 5) 0x43c
-key upper (4 5) 0x41c
-key lower (2 3) 0x446
-key upper (2 3) 0x426
-key lower (4 3) 0x447
-key upper (4 3) 0x427
-key lower (2 7) 0x43d
-key upper (2 7) 0x41d
-key lower (4 2) 0x44f
-key upper (4 2) 0x42f
-key lower (2 1) 0x2d
-key upper (2 1) 0x2f
-key lower (2 12) 0x445
-key upper (2 12) 0x425
-key lower (4 9) 0x431
-key upper (4 9) 0x411
-key lower (3 11) 0x436
-key upper (3 11) 0x416
-key lower (4 10) 0x44e
-key upper (4 10) 0x42e
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2e
-key upper (4 11) 0x2c
-key lower (3 12) 0x44d
-key upper (3 12) 0x42d
+key lower (1 1) 0x0439
+key upper (1 1) 0x0419
+key lower (1 2) 0x0446
+key upper (1 2) 0x0426
+key lower (1 3) 0x0443
+key upper (1 3) 0x0423
+key lower (1 4) 0x043A
+key upper (1 4) 0x041A
+key lower (1 5) 0x0435,0x0451
+key upper (1 5) 0x0415,0x0401
+key lower (1 6) 0x043D
+key upper (1 6) 0x041D
+key lower (1 7) 0x0433
+key upper (1 7) 0x0413
+key lower (1 8) 0x0448
+key upper (1 8) 0x0428
+key lower (1 9) 0x0449
+key upper (1 9) 0x0429
+key lower (1 10) 0x0437
+key upper (1 10) 0x0417
+key lower (1 11) 0x0445
+key upper (1 11) 0x0425
+key lower (2 1) 0x0444
+key upper (2 1) 0x0424
+key lower (2 2) 0x044B
+key upper (2 2) 0x042B
+key lower (2 3) 0x0432
+key upper (2 3) 0x0412
+key lower (2 4) 0x0430
+key upper (2 4) 0x0410
+key lower (2 5) 0x043F
+key upper (2 5) 0x041F
+key lower (2 6) 0x0440
+key upper (2 6) 0x0420
+key lower (2 7) 0x043E
+key upper (2 7) 0x041E
+key lower (2 8) 0x043B
+key upper (2 8) 0x041B
+key lower (2 9) 0x0434
+key upper (2 9) 0x0414
+key lower (2 10) 0x0436
+key upper (2 10) 0x0416
+key lower (2 11) 0x044D
+key upper (2 11) 0x042D
+key lower (3 1) 0x044F
+key upper (3 1) 0x042F
+key lower (3 2) 0x0447
+key upper (3 2) 0x0427
+key lower (3 3) 0x0441
+key upper (3 3) 0x0421
+key lower (3 4) 0x043C
+key upper (3 4) 0x041C
+key lower (3 5) 0x0438
+key upper (3 5) 0x0418
+key lower (3 6) 0x0442
+key upper (3 6) 0x0422
+key lower (3 7) 0x044C
+key upper (3 7) 0x042C
+key lower (3 8) 0x0431
+key upper (3 8) 0x0411
+key lower (3 9) 0x044E
+key upper (3 9) 0x042E
+key lower (3 10) 0x044A
+key upper (3 10) 0x042A
+key lower (3 11) 0x002E
+key upper (3 11) 0x002C
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key E (2 4) upper
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangSerbian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangSerbian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x40
-key lower (1 7) 0x36
-key upper (1 7) 0x27
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe4,0xe0,0xe1,0xe2
-key upper (3 2) 0x41,0xc4,0xc0,0xc1,0xc2
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0x111
-key upper (3 4) 0x44,0x110
-key lower (2 4) 0x65,0xe8,0xe9,0xeb,0xea
-key upper (2 4) 0x45,0xc8,0xc9,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x11f
-key upper (3 6) 0x47,0x11e
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed,0x131
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd,0x130
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x142
-key upper (3 10) 0x4c,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf4,0xf2,0xf3,0xf8
-key upper (2 10) 0x4f,0xd6,0xd4,0xd2,0xd3,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x7a
-key upper (2 7) 0x5a
-key lower (4 2) 0x79
-key upper (4 2) 0x59
-key lower (2 1) 0x2d
-key upper (2 1) 0x3d
-key lower (2 12) 0x161,0x111
-key upper (2 12) 0x160,0x110
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0x10d
-key upper (3 11) 0x10c
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x17e
-key upper (4 11) 0x17d
-key lower (3 12) 0x107
-key upper (3 12) 0x106
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x007A
+key upper (1 6) 0x005A
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x0161
+key upper (1 11) 0x0160
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x010D
+key upper (2 10) 0x010C
+key lower (2 11) 0x0107
+key upper (2 11) 0x0106
+key lower (3 1) 0x0079
+key upper (3 1) 0x0059
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002E
+key upper (3 8) 0x002C
+key lower (3 9) 0x003F
+key upper (3 9) 0x0021
+key lower (3 10) 0x017E
+key upper (3 10) 0x017D
+key lower (3 11) 0x0111
+key upper (3 11) 0x0110
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangSlovak.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangSlovak.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,132 +45,102 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x23
-key upper (1 2) 0x31
-key lower (1 3) 0x161
-key upper (1 3) 0x32
-key lower (1 4) 0x10d
-key upper (1 4) 0x33
-key lower (1 5) 0x40
-key upper (1 5) 0x34
-key lower (1 6) 0x17e
-key upper (1 6) 0x35
-key lower (1 7) 0xfd
-key upper (1 7) 0x36
-key lower (1 8) 0xe1
-key upper (1 8) 0x37
-key lower (1 9) 0xed
-key upper (1 9) 0x38
-key lower (1 10) 0xe9
-key upper (1 10) 0x39
-key lower (1 11) 0x22
-key upper (1 11) 0x30
-key lower (3 2) 0x61,0xe1,0x103,0xe2,0x105,0xe4
-key upper (3 2) 0x41,0xc1,0x102,0xc2,0x104,0xc4
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0x10d,0x107
-key upper (4 4) 0x43,0x10c,0x106
-key lower (3 4) 0x64,0x10f,0x111
-key upper (3 4) 0x44,0x10e,0x110
-key lower (2 4) 0x65,0x11b,0xe9,0x119
-key upper (2 4) 0x45,0x11a,0xc9,0x118
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x13e,0x13a,0x142
-key upper (3 10) 0x4c,0x13d,0x139,0x141
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x148,0x144
-key upper (4 7) 0x4e,0x147,0x143
-key lower (2 10) 0x6f,0xf4,0xf3,0xf6,0x151
-key upper (2 10) 0x4f,0xd4,0xd3,0xd6,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0x161,0xdf,0x15b,0x15f
-key upper (3 3) 0x53,0x160,0x15a,0x15e
-key lower (2 6) 0x74,0x165,0x163
-key upper (2 6) 0x54,0x164,0x162
-key lower (2 8) 0x75,0xfa,0x16f,0xfc,0x171,0xf9,0xfb
-key upper (2 8) 0x55,0xda,0x16e,0xdc,0x170,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a,0x17e,0x17a,0x17c
-key upper (4 2) 0x5a,0x17d,0x179,0x17b
-key lower (2 1) 0x2b
-key upper (2 1) 0x2a
-key lower (2 12) 0xe4
-key upper (2 12) 0x2f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3f
-key lower (3 11) 0xf001,0xb4
-key upper (3 11) 0xf003,0xb0
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x28
-key upper (3 1) 0x29
-key lower (4 11) 0x2d
-key upper (4 11) 0x21
-key lower (3 12) 0xf002,0x2c7
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9,0x011B
+key upper (1 3) 0x0045,0x00C9,0x011A
+deadkeydata lower (1 3) 0x00E9,0x011B,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0x011A,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155,0x0159
+key upper (1 4) 0x0052,0x0154,0x0158
+deadkeydata lower (1 4) 0x0155,0x0159,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0x0158,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054,0x0164
+deadkeydata lower (1 5) 0xF000,0x0165,0xf000,0xf000,0xf000
+deadkeydata upper (1 5) 0xF000,0x0164,0xf000,0xf000,0xf000
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00E4
+key upper (1 11) 0x00C4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B,0x0161
+key upper (2 2) 0x0053,0x015A,0x0160
+deadkeydata lower (2 2) 0x015B,0x0161,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0x0160,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064,0x010F
+key upper (2 3) 0x0044,0x010D
+deadkeydata lower (2 3) 0xF000,0x010F,0xf000,0xf000,0xf000
+deadkeydata upper (2 3) 0xF000,0x010D,0xf000,0xf000,0xf000
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x00F4
+key upper (2 10) 0x00D4
+key lower (2 11) 0xF002,0x02C7
+key upper (2 11) 0xF002,0x02C7
+key lower (3 1) 0x007A,0x017A,0x017E
+key upper (3 1) 0x005A,0x0179,0x017D
+deadkeydata lower (3 1) 0x017A,0x017E,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0x017D,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107,0x010D
+key upper (3 3) 0x0043,0x0106,0x010C
+deadkeydata lower (3 3) 0x0107,0x010D,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0x010C,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144,0x0148
+key upper (3 6) 0x004E,0x0143,0x0147
+deadkeydata lower (3 6) 0x0144,0x0148,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0x0147,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0xF001,0x00B4
+key upper (3 11) 0xF001,0x00B4
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9,0x011B,0xF000,0x00EA,0xf000
-dead_key_data upper (2 4) 0x00C9,0x011A,0xF000,0x00CA,0xf000
-dead_key_data lower (2 5) 0x0155,0x0159,0xF000,0xF000,0xf000
-dead_key_data upper (2 5) 0x0154,0x0158,0xF000,0xF000,0xf000
-dead_key_data lower (2 6) 0xF000,0x0165,0xF000,0xF000,0xf000
-dead_key_data upper (2 6) 0xF000,0x0164,0xF000,0xF000,0xf000
-dead_key_data lower (2 7) 0x00FD,0xF000,0xF000,0xF000,0xf000
-dead_key_data upper (2 7) 0x00DD,0xF000,0xF000,0xF000,0xf000
-dead_key_data lower (2 8) 0x00FA,0xF000,0x016F,0xF000,0xf000
-dead_key_data upper (2 8) 0x00DA,0xF000,0x016E,0xF000,0xf000
-dead_key_data lower (2 9) 0x00ED,0xF000,0xF000,0x00EE,0xf000
-dead_key_data upper (2 9) 0x00CD,0xF000,0xF000,0x00CE,0xf000
-dead_key_data lower (2 10) 0x00F3,0xF000,0xF000,0x00F4,0xf000
-dead_key_data upper (2 10) 0x00D3,0xF000,0xF000,0x00D4,0xf000
-dead_key_data lower (3 2) 0x00E1,0xF000,0x00E5,0x00E2,0xf000
-dead_key_data upper (3 2) 0x00C1,0xF000,0x00C5,0x00C2,0xf000
-dead_key_data lower (3 3) 0x015B,0x0161,0xF000,0xF000,0xf000
-dead_key_data upper (3 3) 0x015A,0x0160,0xF000,0xF000,0xf000
-dead_key_data lower (3 4) 0xF000,0x010F,0xF000,0xF000,0xf000
-dead_key_data upper (3 4) 0xF000,0x010E,0xF000,0xF000,0xf000
-dead_key_data lower (3 10) 0x013A,0x013E,0xF000,0xF000,0xf000
-dead_key_data upper (3 10) 0x0139,0x013D,0xF000,0xF000,0xf000
-dead_key_data lower (4 2) 0x017A,0x017E,0xF000,0xF000,0xf000
-dead_key_data upper (4 2) 0x0179,0x017D,0xF000,0xF000,0xf000
-dead_key_data lower (4 4) 0x0107,0x010D,0xF000,0xF000,0xf000
-dead_key_data upper (4 4) 0x0106,0x010C,0xF000,0xF000,0xf000
-dead_key_data lower (4 7) 0x0144,0x0148,0xF000,0xF000,0xf000
-dead_key_data upper (4 7) 0x0143,0x0147,0xF000,0xF000,0xf000
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key ; (4 10) upper
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangSlovenian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangSlovenian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x40
-key lower (1 7) 0x36
-key upper (1 7) 0x27
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe1,0xe2,0xe4,0x103,0x105
-key upper (3 2) 0x41,0xc1,0xc2,0xc4,0x102,0x104
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63
-key upper (4 4) 0x43
-key lower (3 4) 0x64,0x10f,0x111
-key upper (3 4) 0x44,0x10e,0x110
-key lower (2 4) 0x65,0xe9,0x119,0x11b
-key upper (2 4) 0x45,0xc9,0x118,0x11a
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xee
-key upper (2 9) 0x49,0xcd,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c,0x142,0x13e,0x13a
-key upper (3 10) 0x4c,0x141,0x13d,0x139
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0x144,0x148
-key upper (4 7) 0x4e,0x143,0x147
-key lower (2 10) 0x6f,0xf3,0xf4,0xf6,0x151
-key upper (2 10) 0x4f,0xd3,0xd4,0xd6,0x150
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72,0x155,0x159
-key upper (2 5) 0x52,0x154,0x158
-key lower (3 3) 0x73,0xdf,0x15b,0x15f
-key upper (3 3) 0x53,0x15a,0x15e
-key lower (2 6) 0x74,0x163,0x165
-key upper (2 6) 0x54,0x162,0x164
-key lower (2 8) 0x75,0xfa,0xfc,0x16f,0x171
-key upper (2 8) 0x55,0xda,0xdc,0x16e,0x170
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x7a,0x17a,0x17c
-key upper (2 7) 0x5a,0x179,0x17b
-key lower (4 2) 0x79,0xfd
-key upper (4 2) 0x59,0xdd
-key lower (2 1) 0x2d
-key upper (2 1) 0x3d
-key lower (2 12) 0x161,0x111
-key upper (2 12) 0x160,0x110
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0x10d
-key upper (3 11) 0x10c
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x17e
-key upper (4 11) 0x17d
-key lower (3 12) 0x107
-key upper (3 12) 0x106
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x007A
+key upper (1 6) 0x005A
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x0161
+key upper (1 11) 0x0160
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x010D
+key upper (2 10) 0x010C
+key lower (2 11) 0x017E
+key upper (2 11) 0x017D
+key lower (3 1) 0x0079
+key upper (3 1) 0x0059
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002F
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangSpanish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangSpanish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,113 +45,97 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x40
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x2b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x2a
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x27
-key lower (3 2) 0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6
-key upper (3 2) 0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xeb,0xe8,0xea
-key upper (2 4) 0x45,0xc9,0xcb,0xc8,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xef,0xec,0xee
-key upper (2 9) 0x49,0xcd,0xcf,0xcc,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8
-key upper (2 10) 0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xfa,0xf9,0xfb
-key upper (2 8) 0x55,0xdc,0xda,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x3f
-key upper (2 1) 0x21
-key lower (2 12) 0xf001,0xb4
-key upper (2 12) 0xf002,0xa8
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf1,0xe7
-key upper (3 11) 0xd1,0xc7
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0xbf
-key upper (3 1) 0xa1
-key lower (4 11) 0x2d
-key upper (4 11) 0xf003,0x60
-key lower (3 12) 0xf005,0x7e
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x00F1
+key upper (2 10) 0x00D1
+key lower (2 11) 0x00E7
+key upper (2 11) 0x00C7
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x00BF
+key lower (3 11) 0x0021
+key upper (3 11) 0x00A1
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9,0x00EB,0x00E8,0x00EA,0xF000
-dead_key_data upper (2 4) 0x00C9,0x00CB,0x00C8,0x00CA,0xF000
-dead_key_data lower (2 7) 0x00FD,0xF000,0xF000,0xF000,0xF000
-dead_key_data upper (2 7) 0x00DD,0xF000,0xF000,0xF000,0xF000
-dead_key_data lower (2 8) 0x00FA,0x00FC,0x00F9,0x00FB,0xF000
-dead_key_data upper (2 8) 0x00DA,0x00DC,0x00D9,0x00DB,0xF000
-dead_key_data lower (2 9) 0x0069,0x00ED,0x00EF,0x00EC,0x00EE
-dead_key_data upper (2 9) 0x00CD,0x00CF,0x00CC,0x00CE,0xF000
-dead_key_data lower (2 10) 0x00F3,0x00F6,0x00F2,0x00F4,0x00F5
-dead_key_data upper (2 10) 0x00D3,0x00D6,0x00D2,0x00D4,0x00D5
-dead_key_data lower (3 2) 0x00E1,0x00E4,0x00E0,0x00E2,0x00E3
-dead_key_data upper (3 2) 0x00C1,0x00C4,0x00C0,0x00C2,0x00C3
-dead_key_data lower (4 7) 0xF000,0xF000,0xF000,0xF000,0x00F1
-dead_key_data upper (4 7) 0xF000,0xF000,0xF000,0xF000,0x00D1
 
 #
 # 4x10 mini qwerty keymap data. These are from Surfer keymap spec
--- a/textinput/ptienginev2/keymaps/EMU/ELangSwedish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangSwedish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x20ac
-key lower (1 6) 0x35
-key upper (1 6) 0x25
-key lower (1 7) 0x36
-key upper (1 7) 0x26
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe6,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc6,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xe8,0xeb,0xea
-key upper (2 4) 0x45,0xc9,0xc8,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xee,0xef,0xec,0xed
-key upper (2 9) 0x49,0xce,0xcf,0xcc,0xcd
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdc,0xd9,0xdb,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x23
-key upper (2 1) 0x3d
-key lower (2 12) 0xe5
-key upper (2 12) 0xc5
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf6
-key upper (3 11) 0xd6,0xd8
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2d
-key upper (4 11) 0x27
-key lower (3 12) 0xe4,0xe6
-key upper (3 12) 0xc4,0xc6
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00E5
+key upper (1 11) 0x00C5
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x00F6
+key upper (2 10) 0x00D6
+key lower (2 11) 0x00E4
+key upper (2 11) 0x00C4
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
+key lower (3 11) 0x0027
+key upper (3 11) 0x002F
 
 #
 # Three row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangTagalog.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangTagalog.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,66 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xea,0xeb
-key upper (2 4) 0x45,0xc8,0xc9,0xca,0xcb
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb,0xfc
-key upper (2 8) 0x55,0xd9,0xda,0xdb,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangThai.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangThai.txt	Tue May 11 16:31:42 2010 +0300
@@ -48,94 +48,94 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0xe45
-key lower (1 3) 0x32
-key upper (1 3) 0x40
-key lower (1 4) 0x33
-key upper (1 4) 0xe20
-key lower (1 5) 0x34
-key upper (1 5) 0xe16
-key lower (1 6) 0x35
-key upper (1 6) 0xe39
-key lower (1 7) 0x36
-key upper (1 7) 0xe38
-key lower (1 8) 0x37
-key upper (1 8) 0xe36
-key lower (1 9) 0x38
-key upper (1 9) 0xe04
-key lower (1 10) 0x39
-key upper (1 10) 0xe15
-key lower (1 11) 0x30
-key upper (1 11) 0xe08
-key lower (3 2) 0xe1f
-key upper (3 2) 0xe25
-key lower (4 6) 0xe34
-key upper (4 6) 0xe34
-key lower (4 4) 0xe41
-key upper (4 4) 0xe09
-key lower (3 4) 0xe01
-key upper (3 4) 0xe0f
-key lower (2 4) 0xe33
-key upper (2 4) 0xe0e
-key lower (3 5) 0xe14
-key upper (3 5) 0xe42
-key lower (3 6) 0xe40
-key upper (3 6) 0xe0c
-key lower (3 7) 0xe49
-key upper (3 7) 0xe47
-key lower (2 9) 0xe23
-key upper (2 9) 0xe13
-key lower (3 8) 0xe48
-key upper (3 8) 0xe4b
-key lower (3 9) 0xe32
-key upper (3 9) 0xe29
-key lower (3 10) 0xe2a
-key upper (3 10) 0xe28
-key lower (4 8) 0xe17
-key upper (4 8) 0xe17
-key lower (4 7) 0xe37
-key upper (4 7) 0xe4c
-key lower (2 10) 0xe19
-key upper (2 10) 0xe2f
-key lower (2 11) 0xe22
-key upper (2 11) 0xe0d
-key lower (2 2) 0xe46
-key upper (2 2) 0xe02
-key lower (2 5) 0xe1e
-key upper (2 5) 0xe11
-key lower (3 3) 0xe2b
-key upper (3 3) 0xe06
-key lower (2 6) 0xe30
-key upper (2 6) 0xe18
-key lower (2 8) 0xe35
-key upper (2 8) 0xe4a
-key lower (4 5) 0xe2d
-key upper (4 5) 0xe2e
-key lower (2 3) 0xe44
-key upper (2 3) 0xe0a
-key lower (4 3) 0xe1b
-key upper (4 3) 0xe1b
-key lower (2 7) 0xe31
-key upper (2 7) 0xe4d
-key lower (4 2) 0xe1c
-key upper (4 2) 0xe1c
-key lower (2 1) 0x3f
-key upper (2 1) 0x21
-key lower (2 12) 0xe1a
-key upper (2 12) 0xe10
-key lower (4 9) 0xe21
-key upper (4 9) 0xe12
-key lower (3 11) 0xe27
-key upper (3 11) 0xe0b
-key lower (4 10) 0xe43
-key upper (4 10) 0xe2c
-key lower (3 1) 0x2c
-key upper (3 1) 0x2e
-key lower (4 11) 0xe1d
-key upper (4 11) 0x2f
-key lower (3 12) 0xe07
-key upper (3 12) 0x22
+key lower (1 1) 0x0E45
+key upper (1 1) 0x0E45
+key lower (1 2) 0x0E3F
+key upper (1 2) 0x0E3F
+key lower (1 3) 0x0E20
+key upper (1 3) 0x0E20
+key lower (1 4) 0x0E16
+key upper (1 4) 0x0E4E
+key lower (1 5) 0x0E39
+key upper (1 5) 0x0E3A
+key lower (1 6) 0x0E38
+key upper (1 6) 0x0E24
+key lower (1 7) 0x0E36
+key upper (1 7) 0x0E26
+key lower (1 8) 0x0E04
+key upper (1 8) 0x0E04
+key lower (1 9) 0x0E15
+key upper (1 9) 0x0E15
+key lower (1 10) 0x0E08
+key upper (1 10) 0x0E08
+key lower (1 11) 0x002F
+key upper (1 11) 0x002F
+key lower (2 1) 0x0E46
+key upper (2 1) 0x0E02
+key lower (2 2) 0x0E44
+key upper (2 2) 0x0E0A
+key lower (2 3) 0x0E33
+key upper (2 3) 0x0E0E
+key lower (2 4) 0x0E1E
+key upper (2 4) 0x0E11
+key lower (2 5) 0x0E30
+key upper (2 5) 0x0E18
+key lower (2 6) 0x0E31
+key upper (2 6) 0x0E4D
+key lower (2 7) 0x0E35
+key upper (2 7) 0x0E4A
+key lower (2 8) 0x0E23
+key upper (2 8) 0x0E13
+key lower (2 9) 0x0E19
+key upper (2 9) 0x0E2F
+key lower (2 10) 0x0E22
+key upper (2 10) 0x0E0D
+key lower (2 11) 0x0E1A
+key upper (2 11) 0x0E10
+key lower (3 1) 0x0E1F
+key upper (3 1) 0x0E25
+key lower (3 2) 0x0E2B
+key upper (3 2) 0x0E06
+key lower (3 3) 0x0E01
+key upper (3 3) 0x0E0F
+key lower (3 4) 0x0E14
+key upper (3 4) 0x0E42
+key lower (3 5) 0x0E40
+key upper (3 5) 0x0E0C
+key lower (3 6) 0x0E49
+key upper (3 6) 0x0E47
+key lower (3 7) 0x0E48
+key upper (3 7) 0x0E4B
+key lower (3 8) 0x0E32
+key upper (3 8) 0x0E29
+key lower (3 9) 0x0E2A
+key upper (3 9) 0x0E28
+key lower (3 10) 0x0E27
+key upper (3 10) 0x0E0B
+key lower (3 11) 0x0E07
+key upper (3 11) 0x201D
+key lower (4 1) 0x0E1C
+key upper (4 1) 0x003F
+key lower (4 2) 0x0E1B
+key upper (4 2) 0x0021
+key lower (4 3) 0x0E41
+key upper (4 3) 0x0E09
+key lower (4 4) 0x0E2D
+key upper (4 4) 0x0E2E
+key lower (4 5) 0x0E34
+key upper (4 5) 0x003A
+key lower (4 6) 0x0E37
+key upper (4 6) 0x0E4C
+key lower (4 7) 0x0E17
+key upper (4 7) 0x0E05
+key lower (4 8) 0x0E21
+key upper (4 8) 0x0E12
+key lower (4 9) 0x0E43
+key upper (4 9) 0x0E2C
+key lower (4 10) 0x0E1D
+key upper (4 10) 0x002C
+key lower (4 11) 0x0E03
+key upper (4 11) 0x002E
 
 #
 # This language can't be used in "latin only" editors.
--- a/textinput/ptienginev2/keymaps/EMU/ELangThaiLatin.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangThaiLatin.txt	Tue May 11 16:31:42 2010 +0300
@@ -41,96 +41,73 @@
 key upper (4 2) 0x20,0x30,0x21b2
 
 #
-# Qwerty keymap data.
+# Standard 4x12 qwerty keymap data.
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x0031 
-key upper (1 2) 0x002B
-key lower (1 3) 0x0032
-key upper (1 3) 0x0040
-key lower (1 4) 0x0033
-key upper (1 4) 0x0023
-key lower (1 5) 0x0034
-key upper (1 5) 0x0024
-key lower (1 6) 0x0035
-key upper (1 6) 0x0025
-key lower (1 7) 0x0036
-key upper (1 7) 0x002A
-key lower (1 8) 0x0037
-key upper (1 8) 0x003D
-key lower (1 9) 0x0038
-key upper (1 9) 0x0028
-key lower (1 10) 0x0039
-key upper (1 10) 0x0029
-key lower (1 11) 0x0030
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0069
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+
+key upper (1 10) 0x0050
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
 
-key lower (2 1) 0x003F  
-key upper (2 1) 0x0021
-key lower (2 2) 0x0071
-key upper (2 2) 0x0051
-key lower (2 3) 0x0077
-key upper (2 3) 0x0057
-key lower (2 4) 0x0065,0x00E8,0x00E9,0x00EA,0x00EB
-key upper (2 4) 0x0045,0x00C8,0x00C9,0x00CA,0x00CB
-key lower (2 5) 0x0072
-key upper (2 5) 0x0052
-key lower (2 6) 0x0074,0x00FE
-key upper (2 6) 0x0054,0x00DE
-key lower (2 7) 0x0079,0x00FD
-key upper (2 7) 0x0059,0x00DD
-key lower (2 8) 0x0075,0x00F9,0x00FA,0x00FB,0x00FC
-key upper (2 8) 0x0055,0x00D9,0x00DA,0x00DB,0x00DC
-key lower (2 9) 0x0069,0x00EC,0x00ED,0x00EE,0x00EF
-key upper (2 9) 0x0049,0x00CC,0x00CD,0x00CE,0x00CF
-key lower (2 10) 0x006F,0x00F6,0x00F8,0x00F2,0x00F3,0x00F4,0x00F5
-key upper (2 10) 0x004F,0x00D6,0x00D8,0x00D2,0x00D3,0x00D4,0x00D5
-key lower (2 11) 0x0070
-key upper (2 11) 0x0050
-key lower (2 12) 0x002D
-key upper (2 12) 0x002D
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x0027
+key upper (2 10) 0x002F
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
 
-key lower (3 1) 0x002C
-key upper (3 1) 0x002E
-key lower (3 2) 0x0061,0x00E4,0x00E6,0x00E5,0x00E0,0x00E1,0x00E2,0x00E3
-key upper (3 2) 0x0041,0x00C4,0x00C6,0x00C5,0x00C0,0x00C1,0x00C2,0x00C3
-key lower (3 3) 0x0073,0x00DF
-key upper (3 3) 0x0053
-key lower (3 4) 0x0064,0x00F0
-key upper (3 4) 0x0044,0x00D0
-key lower (3 5) 0x0066
-key upper (3 5) 0x0046
-key lower (3 6) 0x0067
-key upper (3 6) 0x0047
-key lower (3 7) 0x0068
-key upper (3 7) 0x0048
-key lower (3 8) 0x006A
-key upper (3 8) 0x004A
-key lower (3 9) 0x006B
-key upper (3 9) 0x004B
-key lower (3 10) 0x006C
-key upper (3 10) 0x004C
-key lower (3 11) 0x003B
-key upper (3 11) 0x003A
-key lower (3 12) 0x0027
-key upper (3 12) 0x0022
-
-key lower (4 2) 0x007A
-key upper (4 2) 0x005A
-key lower (4 3) 0x0078
-key upper (4 3) 0x0058
-key lower (4 4) 0x0063,0x00E7
-key upper (4 4) 0x0043,0x00C7
-key lower (4 5) 0x0076
-key upper (4 5) 0x0056
-key lower (4 6) 0x0062
-key upper (4 6) 0x0042
-key lower (4 7) 0x006E,0x00F1
-key upper (4 7) 0x004E,0x00D1
-key lower (4 8) 0x006D
-key upper (4 8) 0x004D
-key lower (4 11) 0x002F
-key upper (4 11) 0x002F 
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x002B
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x0021
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangTurkish.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangTurkish.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,72 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x23
-key lower (1 6) 0x35
-key upper (1 6) 0x2d
-key lower (1 7) 0x36
-key upper (1 7) 0x2f
-key lower (1 8) 0x37
-key upper (1 8) 0x28
-key lower (1 9) 0x38
-key upper (1 9) 0x29
-key lower (1 10) 0x39
-key upper (1 10) 0x3d
-key lower (1 11) 0x30
-key upper (1 11) 0x3f
-key lower (3 2) 0x61,0xe2,0xe4,0xe0,0xe1,0xe3,0xe6
-key upper (3 2) 0x41,0xc2,0xc4,0xc0,0xc1,0xc3,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63
-key upper (4 4) 0x43
-key lower (3 4) 0x64
-key upper (3 4) 0x44
-key lower (2 4) 0x65,0xe8,0xe9,0xeb,0xea
-key upper (2 4) 0x45,0xc8,0xc9,0xcb,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67,0x11f
-key upper (3 6) 0x47,0x11e
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x131
-key upper (2 9) 0x49
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf4,0xf2,0xf3,0xf8
-key upper (2 10) 0x4f,0xd4,0xd2,0xd3,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74
-key upper (2 6) 0x54
-key lower (2 8) 0x75,0xf9,0xfb,0xfa
-key upper (2 8) 0x55,0xdb,0xd9,0xda
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2c
-key upper (2 1) 0x3b
-key lower (2 12) 0xfc
-key upper (2 12) 0xdc
-key lower (4 9) 0xf6
-key upper (4 9) 0xd6
-key lower (3 11) 0x15f
-key upper (3 11) 0x15e
-key lower (4 10) 0xe7
-key upper (4 10) 0xc7
-key lower (3 1) 0x2b
-key upper (3 1) 0x2a
-key lower (4 11) 0x2e
-key upper (4 11) 0x3a
-key lower (3 12) 0x69,0xee,0xef,0xec,0xed
-key upper (3 12) 0x130,0xce,0xcf,0xcc,0xcd
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065
+key upper (1 3) 0x0045
+key lower (1 4) 0x0072
+key upper (1 4) 0x0052
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079
+key upper (1 6) 0x0059
+key lower (1 7) 0x0075
+key upper (1 7) 0x0055
+key lower (1 8) 0x0131
+key upper (1 8) 0x0049
+key lower (1 9) 0x006F
+key upper (1 9) 0x004F
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0x00FC
+key upper (1 11) 0x00DC
+key lower (2 1) 0x0061
+key upper (2 1) 0x0041
+key lower (2 2) 0x0073
+key upper (2 2) 0x0053
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C
+key upper (2 9) 0x004C
+key lower (2 10) 0x015F
+key upper (2 10) 0x015E
+key lower (2 11) 0x0069
+key upper (2 11) 0x0130
+key lower (3 1) 0x007A
+key upper (3 1) 0x005A
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063
+key upper (3 3) 0x0043
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E
+key upper (3 6) 0x004E
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x00F6
+key upper (3 8) 0x00D6
+key lower (3 9) 0x00E7
+key upper (3 9) 0x00C7
+key lower (3 10) 0x011F
+key upper (3 10) 0x011E
+key lower (3 11) 0x002E
+key upper (3 11) 0x002C
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangUkrainian.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangUkrainian.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,106 +45,74 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x40
-key lower (1 5) 0x34
-key upper (1 5) 0x3b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x3a
-key lower (1 8) 0x37
-key upper (1 8) 0x3f
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x444
-key upper (3 2) 0x424
-key lower (4 6) 0x438
-key upper (4 6) 0x418
-key lower (4 4) 0x441
-key upper (4 4) 0x421
-key lower (3 4) 0x432
-key upper (3 4) 0x412
-key lower (2 4) 0x443
-key upper (2 4) 0x423
-key lower (3 5) 0x430
-key upper (3 5) 0x410
-key lower (3 6) 0x43f
-key upper (3 6) 0x41f
-key lower (3 7) 0x440
-key upper (3 7) 0x420
-key lower (2 9) 0x448
-key upper (2 9) 0x428
-key lower (3 8) 0x43e
-key upper (3 8) 0x41e
-key lower (3 9) 0x43b
-key upper (3 9) 0x41b
-key lower (3 10) 0x434
-key upper (3 10) 0x414
-key lower (4 8) 0x44c
-key upper (4 8) 0x42c
-key lower (4 7) 0x442
-key upper (4 7) 0x422
-key lower (2 10) 0x449
-key upper (2 10) 0x429
-key lower (2 11) 0x437
-key upper (2 11) 0x417
-key lower (2 2) 0x439
-key upper (2 2) 0x419
-key lower (2 5) 0x43a
-key upper (2 5) 0x41a
-key lower (3 3) 0x44b
-key upper (3 3) 0x42b
-key lower (2 6) 0x435
-key upper (2 6) 0x415
-key lower (2 8) 0x433
-key upper (2 8) 0x413
-key lower (4 5) 0x43c
-key upper (4 5) 0x41c
-key lower (2 3) 0x446
-key upper (2 3) 0x426
-key lower (4 3) 0x447
-key upper (4 3) 0x427
-key lower (2 7) 0x43d
-key upper (2 7) 0x41d
-key lower (4 2) 0x44f
-key upper (4 2) 0x42f
-key lower (2 1) 0x2d
-key upper (2 1) 0x2f
-key lower (2 12) 0x445
-key upper (2 12) 0x425
-key lower (4 9) 0x431
-key upper (4 9) 0x411
-key lower (3 11) 0x436
-key upper (3 11) 0x416
-key lower (4 10) 0x44e
-key upper (4 10) 0x42e
-key lower (3 1) 0x2b
-key upper (3 1) 0x23
-key lower (4 11) 0x2e
-key upper (4 11) 0x2c
-key lower (3 12) 0x44d
-key upper (3 12) 0x42d
+key lower (1 1) 0x0439
+key upper (1 1) 0x0419
+key lower (1 2) 0x0446
+key upper (1 2) 0x0426
+key lower (1 3) 0x0443
+key upper (1 3) 0x0423
+key lower (1 4) 0x043A
+key upper (1 4) 0x041A
+key lower (1 5) 0x0435
+key upper (1 5) 0x0415
+key lower (1 6) 0x043D
+key upper (1 6) 0x041D
+key lower (1 7) 0x0433
+key upper (1 7) 0x0413
+key lower (1 8) 0x0448
+key upper (1 8) 0x0428
+key lower (1 9) 0x0449
+key upper (1 9) 0x0429
+key lower (1 10) 0x0437
+key upper (1 10) 0x0417
+key lower (1 11) 0x0445
+key upper (1 11) 0x0425
+key lower (2 1) 0x0444
+key upper (2 1) 0x0424
+key lower (2 2) 0x0456
+key upper (2 2) 0x0406
+key lower (2 3) 0x0432
+key upper (2 3) 0x0412
+key lower (2 4) 0x0430
+key upper (2 4) 0x0410
+key lower (2 5) 0x043F
+key upper (2 5) 0x041F
+key lower (2 6) 0x0440
+key upper (2 6) 0x0420
+key lower (2 7) 0x043E
+key upper (2 7) 0x041E
+key lower (2 8) 0x043B
+key upper (2 8) 0x041B
+key lower (2 9) 0x0434
+key upper (2 9) 0x0414
+key lower (2 10) 0x0436
+key upper (2 10) 0x0416
+key lower (2 11) 0x0454
+key upper (2 11) 0x0404
+key lower (3 1) 0x0457 
+key upper (3 1) 0x0407 
+key lower (3 2) 0x044F
+key upper (3 2) 0x042F
+key lower (3 3) 0x0447
+key upper (3 3) 0x0427
+key lower (3 4) 0x0441
+key upper (3 4) 0x0421
+key lower (3 5) 0x043C
+key upper (3 5) 0x041C
+key lower (3 6) 0x0438
+key upper (3 6) 0x0418
+key lower (3 7) 0x0442
+key upper (3 7) 0x0422
+key lower (3 8) 0x044C
+key upper (3 8) 0x042C
+key lower (3 9) 0x0431
+key upper (3 9) 0x0411
+key lower (3 10) 0x044E
+key upper (3 10) 0x042E
+key lower (3 11) 0x002E
+key upper (3 11) 0x002C
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key E (2 4) upper
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/ELangUrdu.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangUrdu.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,120 +45,73 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x06f1
-key upper (1 2) 0x0021
-key lower (1 3) 0x06f2
-key upper (1 3) 0x0040
-key lower (1 4) 0x06f3
-key upper (1 4) 0x0023
-key lower (1 5) 0x06f4
-key upper (1 5) 0x0024
-key lower (1 6) 0x06f5
-key upper (1 6) 0x066a
-key lower (1 7) 0x06f6
-key upper (1 7) 0x005e
-key lower (1 8) 0x06f7
-key upper (1 8) 0x0029
-key lower (1 9) 0x06f8
-key upper (1 9) 0x0028
-key lower (1 10) 0x06f9
-key upper (1 10) 0x005f
-key lower (1 11) 0x06f0
-key upper (1 11) 0x002b
-key lower (3 2) 0x0648
-key upper (3 2) 0x0632
-key lower (4 6) 0x0634
-key upper (4 6) 0x0624
-key lower (4 4) 0x06d2
-key upper (4 4) 0x06d3
-key lower (3 4) 0x0646
-key upper (3 4) 0x06ba
-key lower (2 4) 0x062f
-key upper (2 4) 0x0688
-key lower (3 5) 0x0644
-key upper (3 5) 0x06c2
-key lower (3 6) 0x0647
-key upper (3 6) 0x0621
-key lower (3 7) 0x0627
-key upper (3 7) 0x0622
-key lower (2 9) 0x062c
-key upper (2 9) 0x0686
-key lower (3 8) 0x06a9
-key upper (3 8) 0x06af
-key lower (3 9) 0x06cc
-key upper (3 9) 0x064a
-key lower (3 10) 0x061b
-key upper (3 10) 0x003a
-key lower (4 8) 0x0639
-key upper (4 8) 0x200f
-key lower (4 7) 0x063a
-key upper (4 7) 0x0626
-key lower (2 10) 0x062d
-key upper (2 10) 0x062e
-key lower (2 11) 0x002d
-key upper (2 11) 0x007d
-key lower (2 2) 0x0635
-key upper (2 2) 0x0636
-key lower (2 5) 0x06BB
-key upper (2 5) 0x062b
-key lower (3 3) 0x0631
-key upper (3 3) 0x0691
-key lower (2 6) 0x067e
-key upper (2 6) 0x067e
-key lower (2 8) 0x0628
-key upper (2 8) 0x0628
-key lower (4 5) 0x0633
-key upper (4 5) 0x200e
-key lower (2 3) 0x06be
-key upper (2 3) 0x0630
-key lower (4 3) 0x0641
-key upper (4 3) 0x200c
-key lower (2 7) 0x062a
-key upper (2 7) 0x06c3
-key lower (4 2) 0x0642
-key upper (4 2) 0x200d
-key lower (2 1) 0x0637
-key upper (2 1) 0x0638
-key lower (2 12) 0x003d
-key upper (2 12) 0x007b
-key lower (4 9) 0x060c
-key upper (4 9) 0x003e
-key lower (3 11) 0x0027
-key upper (3 11) 0x0022
-key lower (4 10) 0x06d4
-key upper (4 10) 0x003c
-key lower (3 1) 0x0645
-key upper (3 1) 0x0698
-key lower (4 11) 0x002f
-key upper (4 11) 0x061f
-key lower (3 12) 0x005c
-key upper (3 12) 0x002a
+key lower (1 1) 0x0637
+key upper (1 1) 0x0638
+key lower (1 2) 0x0635
+key upper (1 2) 0x0636
+key lower (1 3) 0x06BE
+key upper (1 3) 0x0630
+key lower (1 4) 0x062F
+key upper (1 4) 0x0688
+key lower (1 5) 0x0679
+key upper (1 5) 0x062B
+key lower (1 6) 0x067E
+key upper (1 6) 0x06C3
+key lower (1 7) 0x062A
+key upper (1 7) 0x0628
+key lower (1 8) 0x0628
+key upper (1 8) 0x0686
+key lower (1 9) 0x062C
+key upper (1 9) 0x062E
+key lower (1 10) 0x062D
+key upper (1 10) 0x0029
+key lower (1 11) 0x0021
+key upper (1 11) 0x0028
+key lower (2 1) 0x0645
+key upper (2 1) 0x0698
+key lower (2 2) 0x0648
+key upper (2 2) 0x0632
+key lower (2 3) 0x0631
+key upper (2 3) 0x0691
+key lower (2 4) 0x0646
+key upper (2 4) 0x06BA
+key lower (2 5) 0x0644
+key upper (2 5) 0x06C2
+key lower (2 6) 0x06C1
+key upper (2 6) 0x0621
+key lower (2 7) 0x0627
+key upper (2 7) 0x0622
+key lower (2 8) 0x06A9
+key upper (2 8) 0x06AF
+key lower (2 9) 0x06CC
+key upper (2 9) 0x064A
+key lower (2 10) 0x061B
+key upper (2 10) 0x003A
+key lower (2 11) 0x005C
+key upper (2 11) 0x0022
+key lower (3 1) 0x0642
+key upper (3 1) 0x200C
+key lower (3 2) 0x0641
+key upper (3 2) 0x200D
+key lower (3 3) 0x06D2
+key upper (3 3) 0x06D3
+key lower (3 4) 0x0633
+key upper (3 4) 0x200E
+key lower (3 5) 0x0634
+key upper (3 5) 0x0624
+key lower (3 6) 0x063A
+key upper (3 6) 0x0626
+key lower (3 7) 0x0639
+key upper (3 7) 0x200F
+key lower (3 8) 0x060C
+key upper (3 8) 0x003E
+key lower (3 9) 0x002E
+key upper (3 9) 0x003C
+key lower (3 10) 0x002F
+key upper (3 10) 0x005F
+key lower (3 11) 0x061F
+key upper (3 11) 0x0640
 
-#
-# This language can't be used in "latin only" editors.
-#
-latin_like_language = no
 
-#
-# Numeric mode keys missing from default mappings
-#
-numeric_mode_key p (2 11) lower
-numeric_mode_key w (2 3) lower
-numeric_mode_key * (1 8) upper
-numeric_mode_key 1 (1 2) lower
-numeric_mode_key 2 (1 3) lower
-numeric_mode_key 3 (1 4) lower
-numeric_mode_key 4 (1 5) lower
-numeric_mode_key 5 (1 6) lower
-numeric_mode_key 6 (1 7) lower
-numeric_mode_key 7 (1 8) lower
-numeric_mode_key 8 (1 9) lower
-numeric_mode_key 9 (1 10) lower
-numeric_mode_key 0 (1 11) lower
-numeric_mode_key E (2 4) upper
-numeric_mode_key ? (4 11)  upper
-numeric_mode_key , (4 9) lower 
-numeric_mode_key . (4 10) lower
-numeric_mode_key ; (3 11) lower
 
 # End of file
--- a/textinput/ptienginev2/keymaps/EMU/ELangVietnamese.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/ELangVietnamese.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,94 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x21
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0xa3
-key lower (1 5) 0x34
-key upper (1 5) 0x24
-key lower (1 6) 0x35
-key upper (1 6) 0x20ac
-key lower (1 7) 0x36
-key upper (1 7) 0x25
-key lower (1 8) 0x37
-key upper (1 8) 0x26
-key lower (1 9) 0x38
-key upper (1 9) 0x2a
-key lower (1 10) 0x39
-key upper (1 10) 0x28
-key lower (1 11) 0x30
-key upper (1 11) 0x29
-key lower (3 2) 0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3
-key upper (3 2) 0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe8,0xe9,0xea,0xeb
-key upper (2 4) 0x45,0xc8,0xc9,0xca,0xcb
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xec,0xed,0xee,0xef
-key upper (2 9) 0x49,0xcc,0xcd,0xce,0xcf
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5
-key upper (2 10) 0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xf9,0xfa,0xfb,0xfc
-key upper (2 8) 0x55,0xd9,0xda,0xdb,0xdc
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x1b0
-key upper (2 3) 0x1af
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79,0xfd
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x2b
-key upper (2 1) 0x3d
-key lower (2 12) 0x2d
-key upper (2 12) 0x5f
-key lower (4 9) 0x2c
-key upper (4 9) 0x3c
-key lower (3 11) 0x3b
-key upper (3 11) 0x3a
-key lower (4 10) 0x2e
-key upper (4 10) 0x3e
-key lower (3 1) 0x23
-key upper (3 1) 0x7e
-key lower (4 11) 0x2f
-key upper (4 11) 0x3f
-key lower (3 12) 0x27
-key upper (3 12) 0x40
+key lower (1 1) 0x0301
+key upper (1 1) 0x0301
+key lower (1 2) 0x0300
+key upper (1 2) 0x0300
+key lower (1 3) 0x0309
+key upper (1 3) 0x0309
+key lower (1 4) 0x0303
+key upper (1 4) 0x0303
+key lower (1 5) 0x0323
+key upper (1 5) 0x0323
+key lower (1 6) 0x0103
+key upper (1 6) 0x0102
+key lower (1 7) 0x00E2
+key upper (1 7) 0x00C2
+key lower (1 8) 0x00EA
+key upper (1 8) 0x00CA
+key lower (1 9) 0x00F4
+key upper (1 9) 0x00D4
+key lower (1 10) 0x01A1
+key upper (1 10) 0x01A0
+key lower (1 11) 0x01B0
+key upper (1 11) 0x01AF
+key lower (2 1) 0x0071
+key upper (2 1) 0x0051
+key lower (2 2) 0x0077
+key upper (2 2) 0x0057
+key lower (2 3) 0x0065
+key upper (2 3) 0x0045
+key lower (2 4) 0x0072
+key upper (2 4) 0x0052
+key lower (2 5) 0x0074
+key upper (2 5) 0x0054
+key lower (2 6) 0x0079
+key upper (2 6) 0x0059
+key lower (2 7) 0x0075
+key upper (2 7) 0x0055
+key lower (2 8) 0x0069
+key upper (2 8) 0x0049
+key lower (2 9) 0x006F
+key upper (2 9) 0x004F
+key lower (2 10) 0x0070
+key upper (2 10) 0x0050
+key lower (2 11) 0x0111
+key upper (2 11) 0x0110
+key lower (3 1) 0x0061
+key upper (3 1) 0x0041
+key lower (3 2) 0x0073
+key upper (3 2) 0x0053
+key lower (3 3) 0x0064
+key upper (3 3) 0x0044
+key lower (3 4) 0x0066
+key upper (3 4) 0x0046
+key lower (3 5) 0x0067
+key upper (3 5) 0x0047
+key lower (3 6) 0x0068
+key upper (3 6) 0x0048
+key lower (3 7) 0x006A
+key upper (3 7) 0x004A
+key lower (3 8) 0x006B
+key upper (3 8) 0x004B
+key lower (3 9) 0x006C
+key upper (3 9) 0x004C
+key lower (3 10) 0x0027
+key upper (3 10) 0x0022
+key lower (3 11) 0x002D
+key upper (3 11) 0x002B
+key lower (4 1) 0x007A
+key upper (4 1) 0x005A
+key lower (4 2) 0x0078
+key upper (4 2) 0x0058
+key lower (4 3) 0x0063
+key upper (4 3) 0x0043
+key lower (4 4) 0x0076
+key upper (4 4) 0x0056
+key lower (4 5) 0x0062
+key upper (4 5) 0x0042
+key lower (4 6) 0x006E
+key upper (4 6) 0x004E
+key lower (4 7) 0x006D
+key upper (4 7) 0x004D
+key lower (4 8) 0x002C
+key upper (4 8) 0x0026
+key lower (4 9) 0x002E
+key upper (4 9) 0x0023
+key lower (4 10) 0x003F
+key upper (4 10) 0x002F
+key lower (4 11) 0x0021
+key upper (4 11) 0x005C
 
 #
 # Four row mini qwerty keymap data. 
--- a/textinput/ptienginev2/keymaps/EMU/KLangBasque.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/KLangBasque.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,94 +45,96 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x40
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x2b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x2a
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x27
-key lower (3 2) 0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6
-key upper (3 2) 0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xeb,0xe8,0xea
-key upper (2 4) 0x45,0xc9,0xcb,0xc8,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xef,0xec,0xee
-key upper (2 9) 0x49,0xcd,0xcf,0xcc,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8
-key upper (2 10) 0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xfa,0xf9,0xfb
-key upper (2 8) 0x55,0xdc,0xda,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x3f
-key upper (2 1) 0x21
-key lower (2 12) 0xf001,0xb4
-key upper (2 12) 0xf002,0xa8
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf1,0xe7
-key upper (3 11) 0xd1,0xc7
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0xbf
-key upper (3 1) 0xa1
-key lower (4 11) 0x2d
-key upper (4 11) 0xf003,0x60
-key lower (3 12) 0xf005,0x7e
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x00F1
+key upper (2 10) 0x00D1
+key lower (2 11) 0x00E7
+key upper (2 11) 0x00C7
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x00BF
+key lower (3 11) 0x0021
+key upper (3 11) 0x00A1
 
 #
 # Dead key data data
--- a/textinput/ptienginev2/keymaps/EMU/KLangGalician.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/KLangGalician.txt	Tue May 11 16:31:42 2010 +0300
@@ -45,113 +45,97 @@
 #
 [KEYBOARD BLOCK QWERTY STANDARD]
 
-key lower (1 2) 0x31
-key upper (1 2) 0x40
-key lower (1 3) 0x32
-key upper (1 3) 0x22
-key lower (1 4) 0x33
-key upper (1 4) 0x23
-key lower (1 5) 0x34
-key upper (1 5) 0x2b
-key lower (1 6) 0x35
-key upper (1 6) 0x3d
-key lower (1 7) 0x36
-key upper (1 7) 0x2a
-key lower (1 8) 0x37
-key upper (1 8) 0x2f
-key lower (1 9) 0x38
-key upper (1 9) 0x28
-key lower (1 10) 0x39
-key upper (1 10) 0x29
-key lower (1 11) 0x30
-key upper (1 11) 0x27
-key lower (3 2) 0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6
-key upper (3 2) 0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6
-key lower (4 6) 0x62
-key upper (4 6) 0x42
-key lower (4 4) 0x63,0xe7
-key upper (4 4) 0x43,0xc7
-key lower (3 4) 0x64,0xf0
-key upper (3 4) 0x44,0xd0
-key lower (2 4) 0x65,0xe9,0xeb,0xe8,0xea
-key upper (2 4) 0x45,0xc9,0xcb,0xc8,0xca
-key lower (3 5) 0x66
-key upper (3 5) 0x46
-key lower (3 6) 0x67
-key upper (3 6) 0x47
-key lower (3 7) 0x68
-key upper (3 7) 0x48
-key lower (2 9) 0x69,0xed,0xef,0xec,0xee
-key upper (2 9) 0x49,0xcd,0xcf,0xcc,0xce
-key lower (3 8) 0x6a
-key upper (3 8) 0x4a
-key lower (3 9) 0x6b
-key upper (3 9) 0x4b
-key lower (3 10) 0x6c
-key upper (3 10) 0x4c
-key lower (4 8) 0x6d
-key upper (4 8) 0x4d
-key lower (4 7) 0x6e,0xf1
-key upper (4 7) 0x4e,0xd1
-key lower (2 10) 0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8
-key upper (2 10) 0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8
-key lower (2 11) 0x70
-key upper (2 11) 0x50
-key lower (2 2) 0x71
-key upper (2 2) 0x51
-key lower (2 5) 0x72
-key upper (2 5) 0x52
-key lower (3 3) 0x73,0xdf
-key upper (3 3) 0x53
-key lower (2 6) 0x74,0xfe
-key upper (2 6) 0x54,0xde
-key lower (2 8) 0x75,0xfc,0xfa,0xf9,0xfb
-key upper (2 8) 0x55,0xdc,0xda,0xd9,0xdb
-key lower (4 5) 0x76
-key upper (4 5) 0x56
-key lower (2 3) 0x77
-key upper (2 3) 0x57
-key lower (4 3) 0x78
-key upper (4 3) 0x58
-key lower (2 7) 0x79
-key upper (2 7) 0x59,0xdd
-key lower (4 2) 0x7a
-key upper (4 2) 0x5a
-key lower (2 1) 0x3f
-key upper (2 1) 0x21
-key lower (2 12) 0xf001,0xb4
-key upper (2 12) 0xf002,0xa8
-key lower (4 9) 0x2c
-key upper (4 9) 0x3b
-key lower (3 11) 0xf1,0xe7
-key upper (3 11) 0xd1,0xc7
-key lower (4 10) 0x2e
-key upper (4 10) 0x3a
-key lower (3 1) 0xbf
-key upper (3 1) 0xa1
-key lower (4 11) 0x2d
-key upper (4 11) 0xf003,0x60
-key lower (3 12) 0xf005,0x7e
-key upper (3 12) 0xf004,0x5e
+key lower (1 1) 0x0071
+key upper (1 1) 0x0051
+key lower (1 2) 0x0077
+key upper (1 2) 0x0057
+key lower (1 3) 0x0065,0x00E9
+key upper (1 3) 0x0045,0x00C9
+deadkeydata lower (1 3) 0x00E9,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 3) 0x00C9,0xf000,0xf000,0xf000,0xf000
+key lower (1 4) 0x0072,0x0155
+key upper (1 4) 0x0052,0x0154
+deadkeydata lower (1 4) 0x0155,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 4) 0x0154,0xf000,0xf000,0xf000,0xf000
+key lower (1 5) 0x0074
+key upper (1 5) 0x0054
+key lower (1 6) 0x0079,0x00FD
+key upper (1 6) 0x0059,0x00DD
+deadkeydata lower (1 6) 0x00FD,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 6) 0x00DD,0xf000,0xf000,0xf000,0xf000
+key lower (1 7) 0x0075,0x00FA
+key upper (1 7) 0x0055,0x00DA
+deadkeydata lower (1 7) 0x00FA,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 7) 0x00DA,0xf000,0xf000,0xf000,0xf000
+key lower (1 8) 0x0069,0x00ED
+key upper (1 8) 0x0049,0x00CD
+deadkeydata lower (1 8) 0x00ED,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 8) 0x00CD,0xf000,0xf000,0xf000,0xf000
+key lower (1 9) 0x006F,0x00F3
+key upper (1 9) 0x004F,0x00D3
+deadkeydata lower (1 9) 0x00F3,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (1 9) 0x00D3,0xf000,0xf000,0xf000,0xf000
+key lower (1 10) 0x0070
+key upper (1 10) 0x0050
+key lower (1 11) 0xF001,0x00B4
+key upper (1 11) 0xF001,0x00B4
+key lower (2 1) 0x0061,0x00E1
+key upper (2 1) 0x0041,0x00C1
+deadkeydata lower (2 1) 0x00E1,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 1) 0x00C1,0xf000,0xf000,0xf000,0xf000
+key lower (2 2) 0x0073,0x015B
+key upper (2 2) 0x0053,0x015A
+deadkeydata lower (2 2) 0x015B,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 2) 0x015A,0xf000,0xf000,0xf000,0xf000
+key lower (2 3) 0x0064
+key upper (2 3) 0x0044
+key lower (2 4) 0x0066
+key upper (2 4) 0x0046
+key lower (2 5) 0x0067
+key upper (2 5) 0x0047
+key lower (2 6) 0x0068
+key upper (2 6) 0x0048
+key lower (2 7) 0x006A
+key upper (2 7) 0x004A
+key lower (2 8) 0x006B
+key upper (2 8) 0x004B
+key lower (2 9) 0x006C,0x013A
+key upper (2 9) 0x004C,0x0139
+deadkeydata lower (2 9) 0x013A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (2 9) 0x0139,0xf000,0xf000,0xf000,0xf000
+key lower (2 10) 0x00F1
+key upper (2 10) 0x00D1
+key lower (2 11) 0x00E7
+key upper (2 11) 0x00C7
+key lower (3 1) 0x007A,0x017A
+key upper (3 1) 0x005A,0x0179
+deadkeydata lower (3 1) 0x017A,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 1) 0x0179,0xf000,0xf000,0xf000,0xf000
+key lower (3 2) 0x0078
+key upper (3 2) 0x0058
+key lower (3 3) 0x0063,0x0107
+key upper (3 3) 0x0043,0x0106
+deadkeydata lower (3 3) 0x0107,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 3) 0x0106,0xf000,0xf000,0xf000,0xf000
+key lower (3 4) 0x0076
+key upper (3 4) 0x0056
+key lower (3 5) 0x0062
+key upper (3 5) 0x0042
+key lower (3 6) 0x006E,0x0144
+key upper (3 6) 0x004E,0x0143
+deadkeydata lower (3 6) 0x0144,0xf000,0xf000,0xf000,0xf000
+deadkeydata upper (3 6) 0x0143,0xf000,0xf000,0xf000,0xf000
+key lower (3 7) 0x006D
+key upper (3 7) 0x004D
+key lower (3 8) 0x002C
+key upper (3 8) 0x0027
+key lower (3 9) 0x002E
+key upper (3 9) 0x002D
+key lower (3 10) 0x003F
+key upper (3 10) 0x00BF
+key lower (3 11) 0x0021
+key upper (3 11) 0x00A1
 
-#
-# Dead key data data
-# 0xf000 means "no dead key character for that index".
-#
-dead_key_data lower (2 4) 0x00E9,0x00EB,0x00E8,0x00EA,0xF000
-dead_key_data upper (2 4) 0x00C9,0x00CB,0x00C8,0x00CA,0xF000
-dead_key_data lower (2 7) 0x00FD,0xF000,0xF000,0xF000,0xF000
-dead_key_data upper (2 7) 0x00DD,0xF000,0xF000,0xF000,0xF000
-dead_key_data lower (2 8) 0x00FA,0x00FC,0x00F9,0x00FB,0xF000
-dead_key_data upper (2 8) 0x00DA,0x00DC,0x00D9,0x00DB,0xF000
-dead_key_data lower (2 9) 0x0069,0x00ED,0x00EF,0x00EC,0x00EE
-dead_key_data upper (2 9) 0x00CD,0x00CF,0x00CC,0x00CE,0xF000
-dead_key_data lower (2 10) 0x00F3,0x00F6,0x00F2,0x00F4,0x00F5
-dead_key_data upper (2 10) 0x00D3,0x00D6,0x00D2,0x00D4,0x00D5
-dead_key_data lower (3 2) 0x00E1,0x00E4,0x00E0,0x00E2,0x00E3
-dead_key_data upper (3 2) 0x00C1,0x00C4,0x00C0,0x00C2,0x00C3
-dead_key_data lower (4 7) 0xF000,0xF000,0xF000,0xF000,0x00F1
-dead_key_data upper (4 7) 0xF000,0xF000,0xF000,0xF000,0x00D1
 
 #
 # 4x10 mini qwerty keymap data. These are from Surfer keymap spec
--- a/textinput/ptienginev2/keymaps/EMU/Variants.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/Variants.txt	Tue May 11 16:31:42 2010 +0300
@@ -188,6 +188,12 @@
 [PACKAGE ITUT 04 1028189a 102818A8 WINSONLY]
 Spanish         ELangSpanish.txt
 
+# PtiKeymappings_83.dll    
+[PACKAGE ITUT 83 2002BC84 2002BC85 WINSONLY]
+Spanish         ELangLatinAmericanSpanish.txt
+# PtiKeymappings_76.dll    
+[PACKAGE ITUT 76 2002BC82 2002BC83 WINSONLY]
+Portuguese      ELangBrazilianPortuguese.txt
 # PtiKeymappings_06.dll    
 [PACKAGE ITUT 06 1028189c 102818AA WINSONLY]
 Swedish         ELangSwedish.txt
@@ -231,6 +237,16 @@
 [PACKAGE ITUT 103 10282548 10282547 WINSONLY]   
 Galician        KLangGalician.txt
 
+# PtiKeymappings_157.dll    
+[PACKAGE ITUT 157 10282569 10282568 WINSONLY]
+English_Taiwan         ELangChineseLatin.txt
+# TODO: Add two other chinese englishes too
+# PtiKeymappings_51.dll    
+[PACKAGE ITUT 51 1028255B 1028255C WINSONLY]
+French          ELangCanadianFrench.txt
+#PtiKeymappings_161.dll    
+[PACKAGE ITUT 161 10281897 10282562 WINSONLY]
+English         ELangThaiLatin.txt
 # End of file.
 
 
--- a/textinput/ptienginev2/keymaps/EMU/scan_binding.txt	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/keymaps/EMU/scan_binding.txt	Tue May 11 16:31:42 2010 +0300
@@ -46,6 +46,7 @@
 [KEYBOARD BLOCK QWERTY STANDARD]
 
 # no binding for (1 1), it is backlight key in E70
+scan_binding (1 1)EPtiKeyQwertyAtCharacter
 scan_binding (1 2)EPtiKeyQwerty1
 scan_binding (1 3)EPtiKeyQwerty2
 scan_binding (1 4)EPtiKeyQwerty3
@@ -85,6 +86,7 @@
 scan_binding (3 12)EPtiKeyQwertyApostrophe
 
 # no binding for (4 1)
+scan_binding (4 1)0x5b
 scan_binding (4 2)EPtiKeyQwertyZ
 scan_binding (4 3)EPtiKeyQwertyX
 scan_binding (4 4)EPtiKeyQwertyC
--- a/textinput/ptienginev2/languages/102072F3.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102072F3.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818A5.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818A5.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818A6.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818A6.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818A7.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818A7.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818A8.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818A8.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818A9.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818A9.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AA.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AA.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AB.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AB.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AC.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AC.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AD.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AD.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AE.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AE.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818AF.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818AF.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818B0.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818B0.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818B1.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818B1.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818B2.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818B2.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818B9.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818B9.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818BA.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818BA.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818BB.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818BB.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/102818BC.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/102818BC.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B72.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B72.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B74.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B74.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B76.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B76.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B78.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B78.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B7A.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B7A.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B7C.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B7C.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B7E.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B7E.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B80.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B80.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B82.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B82.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B84.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B84.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B88.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B88.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B89.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B89.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B8D.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B8D.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B8E.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B8E.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B8F.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B8F.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B90.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B90.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B92.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B92.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B93.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B93.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B94.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B94.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B95.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B95.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B96.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B96.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10281B97.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10281B97.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10282545.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10282545.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10282547.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10282547.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/10282549.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/10282549.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/1028255C.rss	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PtiEngine language keymapping ecom resource file.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+	{
+	dll_uid = 0x1028255C;
+ 	interfaces = 
+		{
+		INTERFACE_INFO
+			{
+			interface_uid = 0x10281896;
+			implementations =
+				{
+				IMPLEMENTATION_INFO 
+					{
+					implementation_uid = 0x1028255B;  // Variant ITUT_51
+					version_no = 1;
+					display_name = "PtiEngine keymappings";
+					}
+				};
+			}
+		};
+	}
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/10282562.rss	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PtiEngine language keymapping ecom resource file.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+	{
+	dll_uid = 0x10282562;
+ 	interfaces = 
+		{
+		INTERFACE_INFO
+			{
+			interface_uid = 0x10281896;
+			implementations =
+				{
+				IMPLEMENTATION_INFO 
+					{
+					implementation_uid = 0x10281897;  // Variant ITUT_161
+					version_no = 1;
+					display_name = "PtiEngine keymappings";
+					}
+				};
+			}
+		};
+	}
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/10282568.rss	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PtiEngine language keymapping ecom resource file.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+	{
+	dll_uid = 0x10282568;
+ 	interfaces = 
+		{
+		INTERFACE_INFO
+			{
+			interface_uid = 0x10281896;
+			implementations =
+				{
+				IMPLEMENTATION_INFO 
+					{
+					implementation_uid = 0x10282569;  // Variant ITUT_157
+					version_no = 1;
+					display_name = "PtiEngine keymappings";
+					}
+				};
+			}
+		};
+	}
+
+// End of file
+
--- a/textinput/ptienginev2/languages/2000B17D.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/2000B17D.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -26,8 +26,8 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- a/textinput/ptienginev2/languages/2001FDFA.rss	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/2001FDFA.rss	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -25,9 +25,9 @@
 
 
 
-#include <eikon.rh>
-#include <ecom/registryinfo.rh>
 
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
 
 
 RESOURCE REGISTRY_INFO theInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/2002BC83.rss	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PtiEngine language keymapping ecom resource file.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+	{
+	dll_uid = 0x2002BC83;
+ 	interfaces = 
+		{
+		INTERFACE_INFO
+			{
+			interface_uid = 0x10281896;
+			implementations =
+				{
+				IMPLEMENTATION_INFO 
+					{
+					implementation_uid = 0x2002BC82;  // Variant ITUT_76
+					version_no = 1;
+					display_name = "PtiEngine keymappings";
+					}
+				};
+			}
+		};
+	}
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/2002BC85.rss	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PtiEngine language keymapping ecom resource file.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <Eikon.rh>
+#include <ecom/RegistryInfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+	{
+	dll_uid = 0x2002BC85;
+ 	interfaces = 
+		{
+		INTERFACE_INFO
+			{
+			interface_uid = 0x10281896;
+			implementations =
+				{
+				IMPLEMENTATION_INFO 
+					{
+					implementation_uid = 0x2002BC84;  // Variant ITUT_83
+					version_no = 1;
+					display_name = "PtiEngine keymappings";
+					}
+				};
+			}
+		};
+	}
+
+// End of file
+
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_01.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_01.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_02.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_02.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_03.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_03.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_04.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_04.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_05.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_05.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiFactory_ITUT_06.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_06.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_157.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <ecom/implementationproxy.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_157.h"
+
+class CPtiVariantITUT_157DataFactory : public CPtiKeyMapDataFactory
+    {
+    public:
+        CPtiVariantITUT_157DataFactory() {}
+        static CPtiVariantITUT_157DataFactory* NewL();
+        MPtiKeyMapData* KeyMapDataForLanguageL(TInt aLanguageCode);
+        void ListLanguagesL(RArray<TInt>& aResult);
+    };
+
+
+CPtiVariantITUT_157DataFactory* CPtiVariantITUT_157DataFactory::NewL()
+    {
+    return new (ELeave) CPtiVariantITUT_157DataFactory();
+    }
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x10282569, CPtiVariantITUT_157DataFactory::NewL)
+    };
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+
+MPtiKeyMapData* CPtiVariantITUT_157DataFactory::KeyMapDataForLanguageL(TInt aLanguageCode)
+    {
+    if (aLanguageCode == ELangEnglish_Taiwan)
+        {
+        return CPtiLangDataImplEnglish_Taiwan::NewL();
+        }
+
+    return NULL;
+    }
+
+
+void CPtiVariantITUT_157DataFactory::ListLanguagesL(RArray<TInt>& aResult)
+    {
+    CleanupClosePushL(aResult);
+    aResult.AppendL(ELangEnglish_Taiwan);
+    CleanupStack::Pop();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_161.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <ecom/implementationproxy.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_161.h"
+
+class CPtiVariantITUT_161DataFactory : public CPtiKeyMapDataFactory
+    {
+    public:
+        CPtiVariantITUT_161DataFactory() {}
+        static CPtiVariantITUT_161DataFactory* NewL();
+        MPtiKeyMapData* KeyMapDataForLanguageL(TInt aLanguageCode);
+        void ListLanguagesL(RArray<TInt>& aResult);
+    };
+
+
+CPtiVariantITUT_161DataFactory* CPtiVariantITUT_161DataFactory::NewL()
+    {
+    return new (ELeave) CPtiVariantITUT_161DataFactory();
+    }
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x10281897, CPtiVariantITUT_161DataFactory::NewL)
+    };
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+
+MPtiKeyMapData* CPtiVariantITUT_161DataFactory::KeyMapDataForLanguageL(TInt aLanguageCode)
+    {
+    if (aLanguageCode == ELangEnglish)
+        {
+        return CPtiLangDataImplEnglish::NewL();
+        }
+
+    return NULL;
+    }
+
+
+void CPtiVariantITUT_161DataFactory::ListLanguagesL(RArray<TInt>& aResult)
+    {
+    CleanupClosePushL(aResult);
+    aResult.AppendL(ELangEnglish);
+    CleanupStack::Pop();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_51.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <ecom/implementationproxy.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_51.h"
+
+class CPtiVariantITUT_51DataFactory : public CPtiKeyMapDataFactory
+    {
+    public:
+        CPtiVariantITUT_51DataFactory() {}
+        static CPtiVariantITUT_51DataFactory* NewL();
+        MPtiKeyMapData* KeyMapDataForLanguageL(TInt aLanguageCode);
+        void ListLanguagesL(RArray<TInt>& aResult);
+    };
+
+
+CPtiVariantITUT_51DataFactory* CPtiVariantITUT_51DataFactory::NewL()
+    {
+    return new (ELeave) CPtiVariantITUT_51DataFactory();
+    }
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x1028255B, CPtiVariantITUT_51DataFactory::NewL)
+    };
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+
+MPtiKeyMapData* CPtiVariantITUT_51DataFactory::KeyMapDataForLanguageL(TInt aLanguageCode)
+    {
+    if (aLanguageCode == ELangFrench)
+        {
+        return CPtiLangDataImplFrench::NewL();
+        }
+
+    return NULL;
+    }
+
+
+void CPtiVariantITUT_51DataFactory::ListLanguagesL(RArray<TInt>& aResult)
+    {
+    CleanupClosePushL(aResult);
+    aResult.AppendL(ELangFrench);
+    CleanupStack::Pop();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_76.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <ecom/implementationproxy.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_76.h"
+
+class CPtiVariantITUT_76DataFactory : public CPtiKeyMapDataFactory
+    {
+    public:
+        CPtiVariantITUT_76DataFactory() {}
+        static CPtiVariantITUT_76DataFactory* NewL();
+        MPtiKeyMapData* KeyMapDataForLanguageL(TInt aLanguageCode);
+        void ListLanguagesL(RArray<TInt>& aResult);
+    };
+
+
+CPtiVariantITUT_76DataFactory* CPtiVariantITUT_76DataFactory::NewL()
+    {
+    return new (ELeave) CPtiVariantITUT_76DataFactory();
+    }
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x2002BC82, CPtiVariantITUT_76DataFactory::NewL)
+    };
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+
+MPtiKeyMapData* CPtiVariantITUT_76DataFactory::KeyMapDataForLanguageL(TInt aLanguageCode)
+    {
+    if (aLanguageCode == ELangPortuguese)
+        {
+        return CPtiLangDataImplPortuguese::NewL();
+        }
+
+    return NULL;
+    }
+
+
+void CPtiVariantITUT_76DataFactory::ListLanguagesL(RArray<TInt>& aResult)
+    {
+    CleanupClosePushL(aResult);
+    aResult.AppendL(ELangPortuguese);
+    CleanupStack::Pop();
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiFactory_ITUT_83.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <ecom/implementationproxy.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_83.h"
+
+class CPtiVariantITUT_83DataFactory : public CPtiKeyMapDataFactory
+    {
+    public:
+        CPtiVariantITUT_83DataFactory() {}
+        static CPtiVariantITUT_83DataFactory* NewL();
+        MPtiKeyMapData* KeyMapDataForLanguageL(TInt aLanguageCode);
+        void ListLanguagesL(RArray<TInt>& aResult);
+    };
+
+
+CPtiVariantITUT_83DataFactory* CPtiVariantITUT_83DataFactory::NewL()
+    {
+    return new (ELeave) CPtiVariantITUT_83DataFactory();
+    }
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(0x2002BC84, CPtiVariantITUT_83DataFactory::NewL)
+    };
+
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+
+MPtiKeyMapData* CPtiVariantITUT_83DataFactory::KeyMapDataForLanguageL(TInt aLanguageCode)
+    {
+    if (aLanguageCode == ELangSpanish)
+        {
+        return CPtiLangDataImplSpanish::NewL();
+        }
+
+    return NULL;
+    }
+
+
+void CPtiVariantITUT_83DataFactory::ListLanguagesL(RArray<TInt>& aResult)
+    {
+    CleanupClosePushL(aResult);
+    aResult.AppendL(ELangSpanish);
+    CleanupStack::Pop();
+    }
+
+// End of file
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -199,7 +199,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
-        {EPtiKeyQwertySpace, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
         {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
         {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
@@ -245,7 +245,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
-        {EPtiKeyQwertySpace, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
         {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
         {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
@@ -829,7 +829,6 @@
      0x004A,
      0x004B,
      0x004C,
-     0x0021 ,
      0x0022,
      0x0023,
      0x0024,
@@ -851,7 +850,7 @@
      0x0077,
     };
 
-const TInt KCustomQwertyDataSize_English = 56;
+const TInt KCustomQwertyDataSize_English = 55;
 
 
 const TPtiKeyBinding CustomQwertyKeyBindings_table_English[] =
@@ -886,24 +885,24 @@
         { EPtiKeyQwerty8, EPtiCaseUpper, 31, 1},
         { EPtiKeyQwerty9, EPtiCaseUpper, 32, 1},
         { EPtiKeyQwerty0, EPtiCaseUpper, 33, 1},
-        { EPtiKeyQwertyA, EPtiCaseUpper, 36, 1},
-        { EPtiKeyQwertyB, EPtiCaseUpper, 37, 1},
-        { EPtiKeyQwertyC, EPtiCaseUpper, 38, 1},
-        { EPtiKeyQwertyD, EPtiCaseUpper, 39, 1},
-        { EPtiKeyQwertyE, EPtiCaseUpper, 40, 1},
-        { EPtiKeyQwertyF, EPtiCaseUpper, 41, 1},
-        { EPtiKeyQwertyG, EPtiCaseUpper, 42, 1},
-        { EPtiKeyQwertyH, EPtiCaseUpper, 43, 1},
-        { EPtiKeyQwertyI, EPtiCaseUpper, 44, 1},
-        { EPtiKeyQwertyJ, EPtiCaseUpper, 45, 1},
-        { EPtiKeyQwerty1, EPtiCaseFnLower, 48, 1},
-        { EPtiKeyQwerty2, EPtiCaseFnLower, 49, 1},
-        { EPtiKeyQwerty3, EPtiCaseFnLower, 50, 1},
-        { EPtiKeyQwerty4, EPtiCaseFnLower, 51, 1},
-        { EPtiKeyQwerty5, EPtiCaseFnLower, 52, 1},
-        { EPtiKeyQwerty6, EPtiCaseFnLower, 53, 1},
-        { EPtiKeyQwerty7, EPtiCaseFnLower, 54, 1},
-        { EPtiKeyQwerty8, EPtiCaseFnLower, 55, 1},
+        { EPtiKeyQwertyA, EPtiCaseUpper, 36, 0},
+        { EPtiKeyQwertyB, EPtiCaseUpper, 36, 1},
+        { EPtiKeyQwertyC, EPtiCaseUpper, 37, 1},
+        { EPtiKeyQwertyD, EPtiCaseUpper, 38, 1},
+        { EPtiKeyQwertyE, EPtiCaseUpper, 39, 1},
+        { EPtiKeyQwertyF, EPtiCaseUpper, 40, 1},
+        { EPtiKeyQwertyG, EPtiCaseUpper, 41, 1},
+        { EPtiKeyQwertyH, EPtiCaseUpper, 42, 1},
+        { EPtiKeyQwertyI, EPtiCaseUpper, 43, 1},
+        { EPtiKeyQwertyJ, EPtiCaseUpper, 44, 1},
+        { EPtiKeyQwerty1, EPtiCaseFnLower, 47, 1},
+        { EPtiKeyQwerty2, EPtiCaseFnLower, 48, 1},
+        { EPtiKeyQwerty3, EPtiCaseFnLower, 49, 1},
+        { EPtiKeyQwerty4, EPtiCaseFnLower, 50, 1},
+        { EPtiKeyQwerty5, EPtiCaseFnLower, 51, 1},
+        { EPtiKeyQwerty6, EPtiCaseFnLower, 52, 1},
+        { EPtiKeyQwerty7, EPtiCaseFnLower, 53, 1},
+        { EPtiKeyQwerty8, EPtiCaseFnLower, 54, 1},
     };
 
 const TInt KMaxCustomQwertyIndex_English = 48;
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_French[] =
     {
-     0x26,
-     0xe9,
-     0x22,
-     0x27,
-     0x28,
-     0x2d,
-     0xe8,
-     0x29,
-     0xe7,
-     0xe0,
-     0x40,
-     0x61,0xe6,0xe2,0xe0,0xe1,0xe3,0xe4,
-     0x7a,
-     0x65,0xeb,0xea,0xe8,0xe9,
-     0x72,
-     0x74,
-     0x79,
-     0x75,0xf9,0xfb,0xfa,0xfc,
-     0x69,0xef,0xee,0xec,0xed,0x131,
-     0x6f,0x153,0xf6,0xf4,0xf2,0xf3,0xf8,
-     0x70,
-     0xf001,0x5e,
-     0x2b,
-     0x71,
-     0x73,0xdf,
-     0x64,
-     0x66,
-     0x67,0x11f,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x6d,
-     0xf9,
-     0x77,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x2c,
-     0x3b,
-     0x3a,
-     0x21,
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x20ac,
-     0x41,0xc6,0xc2,0xc0,0xc1,0xc3,0xc4,
-     0x5a,
-     0x45,0xcb,0xca,0xc8,0xc9,
-     0x52,
-     0x54,
-     0x59,
-     0x55,0xd9,0xdb,0xda,0xdc,
-     0x49,0xcf,0xce,0xcc,0xcd,0x130,
-     0x4f,0x152,0xd6,0xd4,0xd2,0xd3,0xd8,
-     0x50,
-     0xf002,0xa8,
-     0x23,
-     0x51,
-     0x53,
-     0x44,
-     0x46,
-     0x47,0x11e,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x4d,
-     0x2a,
-     0x57,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x3f,
-     0x2e,
-     0x2f,
-     0x25,
+     0x0061,0x00E2,0x00E0,0x00E1,
+     0x007A,0x017a,
+     0x0065,0x00ea,0x00e8,0x00eb,0x00e9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00ff,0x00fd,
+     0x0075,0x00fb,0x00f9,0x00fc,0x00fa,
+     0x0069,0x00ee,0x00ec,0x00ef,0x00ed,
+     0x006F,0x00f4,0x00f2,0x00F6,0x00f3,
+     0x0070,
+     0xF001,0x005E,
+     0x0071,
+     0x0073,0x015b,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013a,
+     0x006D,
+     0xF002,0x0060,
+     0x0077,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x002E,
+     0x003F,
+     0x00E7,
+     0xF003,0x00A8,
+     0xF004,0x00B4,
+     0x0041,0x00C2,0x00C0,0x00C1,
+     0x005A,0x0179,
+     0x0045,0x00ca,0x00c8,0x00cb,0x00c9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x0178,0x00dd,
+     0x0055,0x00db,0x00d9,0x00dc,0x00da,
+     0x0049,0x00ce,0x00cc,0x00cf,0x00cd,
+     0x004F,0x00d4,0x00d2,0x00D6,0x00d3,
+     0x0050,
+     0xF001,0x005E,
+     0x0051,
+     0x0053,0x015a,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x004D,
+     0xF002,0x0060,
+     0x0057,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x002C,
+     0x0027,
+     0x00C7,
+     0xF003,0x00A8,
+     0xF004,0x00B4,
     };
 
-const TInt KStandardQwertyDataSize_French = 147;
+const TInt KStandardQwertyDataSize_French = 128;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_French[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 7},
-        {EPtiKeyQwertyW, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 19, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 27, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 32, 6},
-        {EPtiKeyQwertyO, EPtiCaseLower, 38, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 45, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 46, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 48, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 49, 1},
-        {EPtiKeyQwertyS, EPtiCaseLower, 50, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 54, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 64, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 68, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 4},
+        {EPtiKeyQwerty1, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty2, EPtiCaseLower, 6, 5},
+        {EPtiKeyQwerty3, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 14, 3},
+        {EPtiKeyQwerty6, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwerty7, EPtiCaseLower, 22, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 27, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 33, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 36, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 44, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 47, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 49, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 55, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 60, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 62, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 64, 0},
+        {0x5b, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 64, 4},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 68, 2},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 70, 5},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 75, 2},
         {EPtiKeyQwerty4, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 85, 7},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 93, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 98, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 99, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 100, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 101, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 106, 6},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 119, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 120, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 137, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 141, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 146, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 78, 3},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 81, 5},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 86, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 91, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 97, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 100, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 108, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 111, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 113, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 113, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 115, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 117, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 118, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 119, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 121, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 122, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 123, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 124, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 126, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 128, 0},
+        {0x5b, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 128, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_French = 88;
+const TInt KMaxStandardQwertyIndex_French = 92;
 
 
 //
@@ -290,19 +272,33 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_French[] =
     {
-    11,  0x00e2,0x00e4,0xf000,0xf000,0xf000,
-    13,  0x00ea,0x00eb,0xf000,0xf000,0xf000,
-    17,  0x00fb,0x00fc,0xf000,0xf000,0xf000,
-    18,  0x00ee,0x00ef,0xf000,0xf000,0xf000,
-    19,  0x00f4,0x00f6,0xf000,0xf000,0xf000,
-    55,  0x00c2,0x00c4,0xf000,0xf000,0xf000,
-    57,  0x00ca,0x00cb,0xf000,0xf000,0xf000,
-    61,  0x00db,0x00dc,0xf000,0xf000,0xf000,
-    62,  0x00ce,0x00cf,0xf000,0xf000,0xf000,
-    63,  0x00d4,0x00d6,0x0000,0x0000,0x0000,
+    0,  0x00E2,0x00E0,0xF000,0x00E1,0xF000,
+    1,  0xf000,0xf000,0xf000,0x017a,0xf000,
+    2,  0x00ea,0x00e8,0x00eb,0x00e9,0xf000,
+    3,  0xf000,0xf000,0xf000,0x0155,0xf000,
+    5,  0xf000,0xf000,0x00ff,0x00fd,0xf000,
+    6,  0x00fb,0x00f9,0x00fc,0x00fa,0xf000,
+    7,  0x00ee,0x00ec,0x00ef,0x00ed,0xf000,
+    8,  0x00f4,0x00f2,0x00F6,0x00f3,0xf000,
+    12,  0xf000,0xf000,0xf000,0x015b,0xf000,
+    19,  0xf000,0xf000,0xf000,0x013a,0xf000,
+    24,  0xf000,0xf000,0xf000,0x0107,0xf000,
+    27,  0xf000,0xf000,0xf000,0x0144,0xf000,
+    33,  0x00C2,0x00C0,0xF000,0x00C1,0xF000,
+    34,  0xf000,0xf000,0xf000,0x0179,0xf000,
+    35,  0x00ca,0x00c8,0x00cb,0x00c9,0xf000,
+    36,  0xf000,0xf000,0xf000,0x0154,0xf000,
+    38,  0xf000,0xf000,0x0178,0x00dd,0xf000,
+    39,  0x00db,0x00d9,0x00dc,0x00da,0xf000,
+    40,  0x00ce,0x00cc,0x00cf,0x00cd,0xf000,
+    41,  0x00d4,0x00d2,0x00D6,0x00d3,0xf000,
+    45,  0xf000,0xf000,0xf000,0x015a,0xf000,
+    52,  0xf000,0xf000,0xf000,0x0139,0xf000,
+    57,  0xf000,0xf000,0xf000,0x0106,0xf000,
+    60,  0xf000,0xf000,0xf000,0x0143,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_French = 10;
+const TInt KStandardQwertyDeadKeyTableRows_French = 24;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_02.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_German[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x40,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x7a,
-     0x75,0xf9,0xfa,0xfb,
-     0x69,0xec,0xed,0xee,0xef,
-     0x6f,0xf2,0xf3,0xf4,0xf5,0xf8,
-     0x70,
-     0xfc,
-     0x2b,
-     0x61,0xe0,0xe1,0xe3,0xe2,0xe5,0xe6,
-     0x73,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf6,
-     0xe4,
-     0x79,0xfd,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x20ac,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x3d,
-     0x3f,
-     0xdf,
-     0x7e,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x5a,
-     0x55,0xd9,0xda,0xdb,
-     0x49,0xcc,0xcd,0xce,0xcf,
-     0x4f,0xd2,0xd3,0xd4,0xd5,0xd8,
-     0x50,
-     0xdc,
-     0x23,
-     0x41,0xc0,0xc1,0xc3,0xc2,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd6,
-     0xc4,
-     0x59,0xdd,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x27,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x007A,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00FC,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00F6,
+     0x00E4,
+     0x0079,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x00DF,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x005A,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00DC,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00D6,
+     0x00C4,
+     0x0059,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
+     0x0027,
     };
 
-const TInt KStandardQwertyDataSize_German = 140;
+const TInt KStandardQwertyDataSize_German = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_German[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 4},
-        {EPtiKeyQwertyI, EPtiCaseLower, 26, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 31, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 40, 7},
-        {EPtiKeyQwertyS, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyD, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 58, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 61, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 83, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 89, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 92, 4},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 96, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 101, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 107, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 109, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 110, 7},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 128, 2},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 131, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 139, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_German = 88;
+const TInt KMaxStandardQwertyIndex_German = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Spanish[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0x71,
-     0x77,
-     0x65,0xe9,0xeb,0xe8,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,
-     0x75,0xfc,0xfa,0xf9,0xfb,
-     0x69,0xed,0xef,0xec,0xee,
-     0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8,
-     0x70,
-     0xf001,0xb4,
-     0xbf,
-     0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf1,0xe7,
-     0xf005,0x7e,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x40,
-     0x22,
-     0x23,
-     0x2b,
-     0x3d,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x27,
-     0x21,
-     0x51,
-     0x57,
-     0x45,0xc9,0xcb,0xc8,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xda,0xd9,0xdb,
-     0x49,0xcd,0xcf,0xcc,0xce,
-     0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8,
-     0x50,
-     0xf002,0xa8,
-     0xa1,
-     0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd1,0xc7,
-     0xf004,0x5e,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xf003,0x60,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00F1,
+     0x00E7,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00D1,
+     0x00C7,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x00BF,
+     0x00A1,
     };
 
-const TInt KStandardQwertyDataSize_Spanish = 159;
+const TInt KStandardQwertyDataSize_Spanish = 92;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Spanish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 27, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 92, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 100, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 107, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 121, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 124, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 142, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 148, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 154, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 157, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 20, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Spanish = 88;
+const TInt KMaxStandardQwertyIndex_Spanish = 92;
 
 
 //
@@ -290,23 +272,33 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Spanish[] =
     {
-    13,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xF000,
-    17,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
-    18,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
-    19,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
-    23,  0x00E1,0x00E4,0x00E0,0x00E2,0x00E3,
-    39,  0xF000,0xF000,0xF000,0xF000,0x00F1,
-    57,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xF000,
-    61,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
-    62,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
-    63,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
-    67,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
-    83,  0xF000,0xF000,0xF000,0xF000,0x00D1,
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Spanish = 14;
+const TInt KStandardQwertyDeadKeyTableRows_Spanish = 24;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,194 @@
 //
 const TUint16 StandardQwertyData_table_Italian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xf9,0xfc,0xfb,0xfa,
-     0x69,0xec,0xee,0xef,0xed,
-     0x6f,0xf3,0xf2,0xba,0xf6,0xf4,0xf5,0xf8,
-     0x70,
-     0xe8,
-     0x2b,
-     0x61,0xe0,0xaa,0xe4,0xe1,0xe2,0xe3,0xe5,0xe6,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf2,
-     0xe0,
-     0x7a,
-     0x78,
-     0x63,
-     0x76,
-     0x62,
-     0x6e,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x23,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2f,
-     0x28,
-     0x29,
-     0x27,
-     0x40,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xd9,0xdc,0xdb,0xda,
-     0x49,0xcc,0xce,0xcf,0xcd,
-     0x4f,0xd3,0xd2,0xba,0xd6,0xd4,0xd5,0xd8,
-     0x50,
-     0xe9,
-     0x2a,
-     0x41,0xc0,0xaa,0xc4,0xc1,0xc2,0xc3,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xec,
-     0xf9,
-     0x5a,
-     0x58,
-     0x43,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x3d,
+     0x0071,
+     0x0077,
+     0x0065,0x00E8,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,0x00F9,
+     0x0069,0x00EC,
+     0x006F,0x00F2,
+     0x0070,
+     0xf001,0x0060,
+     0x0061,0x00E0,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00E9,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
+     0x0051,
+     0x0057,
+     0x0045,0x00C8,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,0x00D9,
+     0x0049,0x00CC,
+     0x004F,0x00D2,
+     0x0050,
+     0xf001,0x0060,
+     0x0041,0x00C0,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00C9,
+     0x0022,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x0040,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Italian = 150;
+const TInt KStandardQwertyDataSize_Italian = 78;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Italian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 118, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 119, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 129, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 148, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 149, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 14, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 28, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 36, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 39, 0},
+        {0x5b, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 39, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 41, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 46, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 67, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 74, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 75, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 78, 0},
+        {0x5b, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 78, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Italian = 88;
+const TInt KMaxStandardQwertyIndex_Italian = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_Italian[] =
+    {
+    2,  0x00E8,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00F9,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00EC,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F2,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E0,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C8,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00D9,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CC,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D2,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C0,0xf000,0xf000,0xf000,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_Italian = 10;
 
 //
 // MiniQwerty keymap data table
@@ -751,3 +753,16 @@
     }
 
 
+const TUint16* CPtiLangDataImplItalian::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Italian;
+        return StandardQwertyDeadKeyData_table_Italian;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,6 +42,7 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_05.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Swedish[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x23,
-     0x71,
-     0x77,
-     0x65,0xe9,0xe8,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,
-     0x6f,0xf8,0xf2,0xf3,0xf4,0xf5,
-     0x70,
-     0xe5,
-     0x2b,
-     0x61,0xe6,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf6,
-     0xe4,0xe6,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x40,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0xc8,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,
-     0x4f,0xd8,0xd2,0xd3,0xd4,0xd5,
-     0x50,
-     0xc5,
-     0x2a,
-     0x41,0xc6,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd6,0xd8,
-     0xc4,0xc6,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x27,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00E5,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00F6,
+     0x00E4,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0027,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00C5,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00D6,
+     0x00C4,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
+     0x002F,
     };
 
-const TInt KStandardQwertyDataSize_Swedish = 146;
+const TInt KStandardQwertyDataSize_Swedish = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Swedish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 50, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 59, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 86, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 92, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 96, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 106, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 112, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 113, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 115, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 122, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 130, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 132, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 136, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 140, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 145, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Swedish = 88;
+const TInt KMaxStandardQwertyIndex_Swedish = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_06.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Danish[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x23,
-     0x71,
-     0x77,
-     0x65,0xe9,0xe8,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,
-     0x6f,0xf6,0xf4,0xf2,0xf3,0xf5,
-     0x70,
-     0xe5,
-     0x2b,
-     0x61,0xe4,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf8,0xf6,
-     0xe6,0xe4,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x40,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0xc8,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,
-     0x4f,0xd6,0xd4,0xd2,0xd3,0xd5,
-     0x50,
-     0xc5,
-     0x2a,
-     0x41,0xc4,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd8,0xd6,
-     0xc6,0xc4,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x27,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00E5,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00E6,
+     0x00F8,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0027,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00C5,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00C6,
+     0x00D8,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
+     0x002F,
     };
 
-const TInt KStandardQwertyDataSize_Danish = 147;
+const TInt KStandardQwertyDataSize_Danish = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Danish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 50, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 58, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 60, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 64, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 68, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 87, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 93, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 95, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 97, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 107, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 113, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 116, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 123, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 131, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 133, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 137, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 141, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 146, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Danish = 88;
+const TInt KMaxStandardQwertyIndex_Danish = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_07.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Norwegian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x23,
-     0x71,
-     0x77,
-     0x65,0xe9,0xe8,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,
-     0x6f,0xf6,0xf4,0xf2,0xf3,0xf5,
-     0x70,
-     0xe5,
-     0x2b,
-     0x61,0xe4,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf8,0xf6,
-     0xe6,0xe4,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x40,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0xc8,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,
-     0x4f,0xd6,0xd4,0xd2,0xd3,0xd5,
-     0x50,
-     0xc5,
-     0x2a,
-     0x41,0xc4,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd8,0xd6,
-     0xc6,0xc4,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x27,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00E5,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00F8,
+     0x00E6,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0027,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00C5,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00D8,
+     0x00C6,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
+     0x002F,
     };
 
-const TInt KStandardQwertyDataSize_Norwegian = 147;
+const TInt KStandardQwertyDataSize_Norwegian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Norwegian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 50, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 58, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 60, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 64, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 68, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 87, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 93, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 95, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 97, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 107, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 113, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 116, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 123, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 131, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 133, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 137, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 141, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 146, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Norwegian = 88;
+const TInt KMaxStandardQwertyIndex_Norwegian = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_08.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Finnish[] =
     {
-     0x0031,
-     0x0032,
-     0x0033,
-     0x0034,
-     0x0035,
-     0x0036,
-     0x0037,
-     0x0038,
-     0x0039,
-     0x0030,
-     0x0023,
      0x0071,
      0x0077,
-     0x0065,0x00e9,0x00e8,0x00eb,0x00ea,
+     0x0065,
      0x0072,
-     0x0074,0x00fe,
-     0x0079,0x00fd,
-     0x0075,0x00f9,0x00fa,0x00fb,0x00fc,
-     0x0069,0x00ee,0x00ef,0x00ec,0x00ed,
-     0x006f,0x00f8,0x00f2,0x00f3,0x00f4,0x00f5,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
      0x0070,
-     0x00e5,
-     0x002b,
-     0x0061,0x00e6,0x00e0,0x00e1,0x00e2,0x00e3,
-     0x0073,0x0161,0x00DF,
-     0x0064,0x00f0,
+     0x00E5,
+     0x0061,
+     0x0073,
+     0x0064,
      0x0066,
      0x0067,
      0x0068,
-     0x006a,
-     0x006b,
-     0x006c,
-     0x00f6,0x00f8,
-     0x00e4,0x00e6,
-     0x007A,0x017E,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00F6,
+     0x00E4,
+     0x007A,
      0x0078,
-     0x0063,0x00e7,
+     0x0063,
      0x0076,
      0x0062,
-     0x006e,0x00f1,
-     0x006d,
-     0x002c,
-     0x002e,
-     0x002d,
-     0x0021,
-     0x0022,
-     0x0040,
-     0x20ac,
-     0x0025,
-     0x0026,
-     0x002f,
-     0x0028,
-     0x0029,
-     0x003f,
-     0x003d,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
      0x0051,
      0x0057,
-     0x0045,0x00c9,0x00c8,0x00cb,0x00ca,
+     0x0045,
      0x0052,
-     0x0054,0x00de,
-     0x0059,0x00dd,
-     0x0055,0x00dc,0x00d9,0x00db,0x00da,
-     0x0049,0x00ce,0x00cf,0x00cc,0x00cd,
-     0x004f,0x00d8,0x00d2,0x00d3,0x00d4,0x00d5,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
      0x0050,
-     0x00c5,
-     0x002a,
-     0x0041,0x00c6,0x00c0,0x00c1,0x00c2,0x00c3,
-     0x0053,0x0160,
-     0x0044,0x00d0,
+     0x00C5,
+     0x0041,
+     0x0053,
+     0x0044,
      0x0046,
      0x0047,
      0x0048,
-     0x004a,
-     0x004b,
-     0x004c,
-     0x00d6,0x00d8,
-     0x00c4,0x00c6,
-     0x005a,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00D6,
+     0x00C4,
+     0x005A,
      0x0058,
-     0x0043,0x00c7,
+     0x0043,
      0x0056,
      0x0042,
-     0x004e,0x00d1,
-     0x004d,
-     0x003b,
-     0x003a,
+     0x004E,
+     0x004D,
      0x0027,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Finnish = 150;
+const TInt KStandardQwertyDataSize_Finnish = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Finnish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 48, 3},
-        {EPtiKeyQwertyD, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 59, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 61, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 66, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 70, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 89, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 95, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 97, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 99, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 104, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 109, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 124, 2},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 126, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 140, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 148, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 149, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Finnish = 88;
+const TInt KMaxStandardQwertyIndex_Finnish = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_09.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Basque[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0x71,
-     0x77,
-     0x65,0xe9,0xeb,0xe8,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,
-     0x75,0xfc,0xfa,0xf9,0xfb,
-     0x69,0xed,0xef,0xec,0xee,
-     0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8,
-     0x70,
-     0xf001,0xb4,
-     0xbf,
-     0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf1,0xe7,
-     0xf005,0x7e,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x40,
-     0x22,
-     0x23,
-     0x2b,
-     0x3d,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x27,
-     0x21,
-     0x51,
-     0x57,
-     0x45,0xc9,0xcb,0xc8,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xda,0xd9,0xdb,
-     0x49,0xcd,0xcf,0xcc,0xce,
-     0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8,
-     0x50,
-     0xf002,0xa8,
-     0xa1,
-     0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd1,0xc7,
-     0xf004,0x5e,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xf003,0x60,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00F1,
+     0x00E7,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00D1,
+     0x00C7,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x00BF,
+     0x00A1,
     };
 
-const TInt KStandardQwertyDataSize_Basque = 159;
+const TInt KStandardQwertyDataSize_Basque = 92;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Basque[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 27, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 92, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 100, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 107, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 121, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 124, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 142, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 148, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 154, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 157, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 20, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Basque = 88;
+const TInt KMaxStandardQwertyIndex_Basque = 92;
 
 
 //
@@ -290,23 +272,43 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Basque[] =
     {
-    13,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xF000,
-    17,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
-    18,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
-    19,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    14,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
+    17,  0x00FD,0xF000,0xF000,0xF000,0xF000,
+    18,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
+    19,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
+    20,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
     23,  0x00E1,0x00E4,0x00E0,0x00E2,0x00E3,
-    39,  0xF000,0xF000,0xF000,0xF000,0x00F1,
-    57,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xF000,
-    61,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
-    62,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
-    63,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
-    67,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
-    83,  0xF000,0xF000,0xF000,0xF000,0x00D1,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    47,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
+    50,  0x00DD,0xF000,0xF000,0xF000,0xF000,
+    51,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
+    52,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
+    53,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    56,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Basque = 14;
+const TInt KStandardQwertyDeadKeyTableRows_Basque = 34;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_102.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Galician[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0x71,
-     0x77,
-     0x65,0xe9,0xeb,0xe8,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,
-     0x75,0xfc,0xfa,0xf9,0xfb,
-     0x69,0xed,0xef,0xec,0xee,
-     0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8,
-     0x70,
-     0xf001,0xb4,
-     0xbf,
-     0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf1,0xe7,
-     0xf005,0x7e,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x40,
-     0x22,
-     0x23,
-     0x2b,
-     0x3d,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x27,
-     0x21,
-     0x51,
-     0x57,
-     0x45,0xc9,0xcb,0xc8,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xda,0xd9,0xdb,
-     0x49,0xcd,0xcf,0xcc,0xce,
-     0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8,
-     0x50,
-     0xf002,0xa8,
-     0xa1,
-     0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd1,0xc7,
-     0xf004,0x5e,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xf003,0x60,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00F1,
+     0x00E7,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00D1,
+     0x00C7,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x00BF,
+     0x00A1,
     };
 
-const TInt KStandardQwertyDataSize_Galician = 159;
+const TInt KStandardQwertyDataSize_Galician = 92;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Galician[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 27, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 92, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 100, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 107, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 121, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 124, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 142, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 148, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 154, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 157, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 20, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Galician = 88;
+const TInt KMaxStandardQwertyIndex_Galician = 92;
 
 
 //
@@ -290,23 +272,33 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Galician[] =
     {
-    13,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xF000,
-    17,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
-    18,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
-    19,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
-    23,  0x00E1,0x00E4,0x00E0,0x00E2,0x00E3,
-    39,  0xF000,0xF000,0xF000,0xF000,0x00F1,
-    57,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xF000,
-    61,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
-    62,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
-    63,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
-    67,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
-    83,  0xF000,0xF000,0xF000,0xF000,0x00D1,
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Galician = 14;
+const TInt KStandardQwertyDeadKeyTableRows_Galician = 24;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_103.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Portuguese[] =
     {
-     0x0031,
-     0x0032,
-     0x0033,
-     0x0034,
-     0x0035,
-     0x0036,
-     0x0037,
-     0x0038,
-     0x0039,
-     0x0030,
-     0x003f,
      0x0071,
      0x0077,
-     0x0065,0x00ea,0x00e9,0x00e8,0x00eb,
-     0x0072,
-     0x0074,0x00fe,
-     0x0079,0x00fd,
-     0x0075,0x00fa,0x00fb,0x00f9,0x00fc,
-     0x0069,0x00ed,0x00ee,0x00ec,0x00ef,
-     0x006f,0x00f5,0x00f4,0x00f3,0x00f2,0x00f6,0x00ba,0x00f8,
+     0x0065,0x00EA,0x00E8,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FB,0x00F9,0x00FA,
+     0x0069,0x00EE,0x00EC,0x00ED,
+     0x006F,0x00F4,0x00F2,0x00F5,0x00F3,
      0x0070,
-     0xf001,0x00b4,
-     0x00bf,
-     0x0061,0x00e2,0x00e1,0x00e0,0x00e3,0x00aa,0x00e4,0x00e5,0x00e6,
-     0x0073,0x00df,
-     0x0064,0x00f0,
+     0xf004,0x00B4,
+     0x0061,0x00E2,0x00E0,0x00E3,0x00E1,
+     0x0073,0x015B,
+     0x0064,
      0x0066,
      0x0067,
      0x0068,
-     0x006a,
-     0x006b,
-     0x006c,
-     0x00e7,0x00f1,
-     0xf005,0x007e,
-     0x007a,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00E7,
+     0xf003,0x007E,
+     0x007A,0x017A,
      0x0078,
-     0x0063,0x00e7,
+     0x0063,0x0107,
      0x0076,
      0x0062,
-     0x006e,0x00f1,
-     0x006d,
-     0x002c,
-     0x002e,
-     0x002d,
-     0x0040,
-     0x0022,
-     0x0023,
-     0x002b,
-     0x003d,
-     0x002a,
-     0x002f,
-     0x0028,
-     0x0029,
-     0x0027,
-     0x0021,
+     0x006E,0x0144,
+     0x006D,
+     0x002E,
+     0x003F,
+     0xf002,0x0060,
+     0xf001,0x005E,
      0x0051,
      0x0057,
-     0x0045,0x00ca,0x00c9,0x00c8,0x00cb,
-     0x0052,
-     0x0054,0x00de,
-     0x0059,0x00dd,
-     0x0055,0x00da,0x00db,0x00d9,0x00dc,
-     0x0049,0x00cd,0x00ce,0x00cc,0x00cf,
-     0x004f,0x00d5,0x00d4,0x00d3,0x00d2,0x00d6,0x00ba,0x00d8,
+     0x0045,0x00CA,0x00C8,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DB,0x00D9,0x00DA,
+     0x0049,0x00CE,0x00CC,0x00CD,
+     0x004F,0x00D4,0x00D2,0x00D5,0x00D3,
      0x0050,
-     0xf002,0x00a8,
-     0x00a1,
-     0x0041,0x00c2,0x00c1,0x00c0,0x00c3,0x00aa,0x00c4,0x00c5,0x00c6,
-     0x0053,
-     0x0044,0x00d0,
+     0xf004,0x00B4,
+     0x0041,0x00C2,0x00C0,0x00C3,0x00C1,
+     0x0053,0x015A,
+     0x0044,
      0x0046,
      0x0047,
      0x0048,
-     0x004a,
-     0x004b,
-     0x004c,
-     0x00c7,0x00d1,
-     0xf004,0x005e,
-     0x005a,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00C7,
+     0xf003,0x007E,
+     0x005A,0x0179,
      0x0058,
-     0x0043,0x00c7,
+     0x0043,0x0106,
      0x0056,
      0x0042,
-     0x004e,0x00d1,
-     0x004d,
-     0x003b,
-     0x003a,
-     0xf003,0x0060,
+     0x004E,0x0143,
+     0x004D,
+     0x002C,
+     0x0021,
+     0xf002,0x0060,
+     0xf001,0x005E,
     };
 
-const TInt KStandardQwertyDataSize_Portuguese = 160;
+const TInt KStandardQwertyDataSize_Portuguese = 122;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Portuguese[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 42, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 45, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 54, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 56, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 64, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 66, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 70, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 74, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 79, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 93, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 98, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 99, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 101, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 108, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 113, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 122, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 125, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 135, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 145, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 148, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 149, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 152, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 153, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 157, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 158, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 4},
+        {EPtiKeyQwerty3, EPtiCaseLower, 6, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 11, 4},
+        {EPtiKeyQwerty7, EPtiCaseLower, 15, 4},
+        {EPtiKeyQwerty8, EPtiCaseLower, 19, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 25, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 27, 5},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 36, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 43, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 45, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 45, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 57, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 59, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 61, 0},
+        {0x5b, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 63, 4},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 72, 4},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 76, 4},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 80, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 86, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 88, 5},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 93, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 100, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 104, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 106, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 109, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 112, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 113, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 116, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 117, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 118, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 122, 0},
+        {0x5b, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 122, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Portuguese = 88;
+const TInt KMaxStandardQwertyIndex_Portuguese = 92;
 
 
 //
@@ -290,399 +272,33 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Portuguese[] =
     {
-    13,  0x00E9, 0x00EB, 0x00E8, 0x00EA, 0xF000,
-    16,  0x00FD, 0xF000, 0xF000, 0xF000, 0xF000,
-    17,  0x00FA, 0x00FC, 0x00F9, 0x00FB, 0xF000,
-    18,  0x00ED, 0x00EF, 0x00EC, 0x00EE, 0xF000,
-    19,  0x00F3, 0x00F6, 0x00F2, 0x00F4, 0x00F5,
-    23,  0x00E1, 0x00E4, 0x00E0, 0x00E2, 0x00E3,
-    39,  0xF000, 0xF000, 0xF000, 0xF000, 0x00F1,
-    57,  0x00C9, 0x00CB, 0x00C8, 0x00CA, 0xF000,
-    60,  0x00DD, 0xF000, 0xF000, 0xF000, 0xF000,
-    61,  0x00DA, 0x00DC, 0x00D9, 0x00DB, 0xF000,
-    62,  0x00CD, 0x00CF, 0x00CC, 0x00CE, 0xF000,
-    63,  0x00D3, 0x00D6, 0x00D2, 0x00D4, 0x00D5,
-    67,  0x00C1, 0x00C4, 0x00C0, 0x00C2, 0x00C3,
-    83,  0xF000, 0xF000, 0xF000, 0xF000, 0x00D1,
-    };
-
-const TInt KStandardQwertyDeadKeyTableRows_Portuguese = 14;
-
-//
-// MiniQwerty keymap data table
-//
-const TUint16 MiniQwertyData_table_Portuguese[] =
-    {
-     0x0071,
-     0x0077,
-     0x0065,0x00EA,0x00E9,0x00E8,0x00EB,
-     0x0072,
-     0x0074,0x00FE,
-     0x0079,0x00FD,
-     0x0075,0x00FA,0x00FB,0x00F9,0x00FC,
-     0x0069,0x00ED,0x00EE,0x00EC,0x00EF,
-     0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8,
-     0x0070,
-     0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6,
-     0x0073,0x00DF,
-     0x0064,0x00F0,
-     0x0066,
-     0x0067,
-     0x0068,
-     0x006A,
-     0x006B,
-     0x006C,
-     0x007A,
-     0x0078,
-     0x0063,0x00E7,
-     0x0076,
-     0x0062,
-     0x006E,0x00F1,
-     0x006D,
-     0x002C,
-     0x002E,
-     0x0040,
-     0x003F,
-     0x00B4,
-     0x007E,
-     0x0051,
-     0x0057,
-     0x0045,0x00CA,0x00C9,0x00C8,0x00CB,
-     0x0052,
-     0x0054,0x00DE,
-     0x0059,0x00DD,
-     0x0055,0x00DA,0x00DB,0x00D9,0x00DC,
-     0x0049,0x00CD,0x00CE,0x00CC,0x00CF,
-     0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8,
-     0x0050,
-     0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6,
-     0x0053,
-     0x0044,0x00D0,
-     0x0046,
-     0x0047,
-     0x0048,
-     0x004A,
-     0x004B,
-     0x004C,
-     0x005A,
-     0x0058,
-     0x0043,0x00C7,
-     0x0056,
-     0x0042,
-     0x004E,0x00D1,
-     0x004D,
-     0x003B,
-     0x003A,
-     0x0060,
-     0x005E,
-     0x0021,
-     0x0022,
-     0x0031,
-     0x0031,
-     0x0032,
-     0x0032,
-     0x0033,
-     0x0033,
-     0x002B,
-     0x002F,
-     0x0025,
-     0x0034,
-     0x0034,
-     0x0035,
-     0x0035,
-     0x0036,
-     0x0036,
-     0x00E7,
-     0x002D,
-     0x003D,
-     0x0037,
-     0x0037,
-     0x0038,
-     0x0038,
-     0x0039,
-     0x0039,
-     0x0027,
-     0x002A,
-     0x002A,
-     0x0030,
-     0x0030,
-     0x0023,
-     0x0023,
-     0x00C7,
+    2,  0x00EA,0x00E8,0xf000,0x00E9,0xf000,
+    3,  0xf000,0xf000,0xf000,0x0155,0xf000,
+    5,  0xf000,0xf000,0xf000,0x00FD,0xf000,
+    6,  0x00FB,0x00F9,0xf000,0x00FA,0xf000,
+    7,  0x00EE,0x00EC,0xf000,0x00ED,0xf000,
+    8,  0x00F4,0x00F2,0x00F5,0x00F3,0xf000,
+    11,  0x00E2,0x00E0,0x00E3,0x00E1,0xf000,
+    12,  0xf000,0xf000,0xf000,0x015B,0xf000,
+    19,  0xf000,0xf000,0xf000,0x013A,0xf000,
+    22,  0xf000,0xf000,0xf000,0x017A,0xf000,
+    24,  0xf000,0xf000,0xf000,0x0107,0xf000,
+    27,  0xf000,0xf000,0xf000,0x0144,0xf000,
+    35,  0x00CA,0x00C8,0xf000,0x00C9,0xf000,
+    36,  0xf000,0xf000,0xf000,0x0154,0xf000,
+    38,  0xf000,0xf000,0xf000,0x00DD,0xf000,
+    39,  0x00DB,0x00D9,0xf000,0x00DA,0xf000,
+    40,  0x00CE,0x00CC,0xf000,0x00CD,0xf000,
+    41,  0x00D4,0x00D2,0x00D5,0x00D3,0xf000,
+    44,  0x00C2,0x00C0,0x00C3,0x00C1,0xf000,
+    45,  0xf000,0xf000,0xf000,0x015A,0xf000,
+    52,  0xf000,0xf000,0xf000,0x0139,0xf000,
+    55,  0xf000,0xf000,0xf000,0x0179,0xf000,
+    57,  0xf000,0xf000,0xf000,0x0106,0xf000,
+    60,  0xf000,0xf000,0xf000,0x0143,0xf000,
     };
 
-const TInt KMiniQwertyDataSize_Portuguese = 161;
-
-
-const TPtiKeyBinding MiniQwertyKeyBindings_table_Portuguese[] =
-    {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
-        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
-        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
-        {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
-        {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
-        {EPtiKeyQwerty9, EPtiCaseLower, 22, 8},
-        {EPtiKeyQwerty0, EPtiCaseLower, 30, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 5},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 73, 2},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 75, 2},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 77, 5},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 5},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 8},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 96, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 105, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 106, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 109, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 110, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 112, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 113, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 116, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 118, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 119, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 120, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwerty1, EPtiCaseFnLower, 127, 1},
-        {EPtiKeyQwerty2, EPtiCaseFnLower, 128, 1},
-        {EPtiKeyQwerty3, EPtiCaseFnLower, 129, 1},
-        {EPtiKeyQwerty4, EPtiCaseFnLower, 130, 1},
-        {EPtiKeyQwerty5, EPtiCaseFnLower, 131, 1},
-        {EPtiKeyQwerty6, EPtiCaseFnLower, 132, 1},
-        {EPtiKeyQwerty7, EPtiCaseFnLower, 133, 1},
-        {EPtiKeyQwerty8, EPtiCaseFnLower, 134, 1},
-        {EPtiKeyQwerty9, EPtiCaseFnLower, 135, 1},
-        {EPtiKeyQwertyA, EPtiCaseFnLower, 136, 1},
-        {EPtiKeyQwertyS, EPtiCaseFnLower, 137, 1},
-        {EPtiKeyQwertyD, EPtiCaseFnLower, 138, 1},
-        {EPtiKeyQwertyF, EPtiCaseFnLower, 139, 1},
-        {EPtiKeyQwertyG, EPtiCaseFnLower, 140, 1},
-        {EPtiKeyQwertyH, EPtiCaseFnLower, 141, 1},
-        {EPtiKeyQwertyJ, EPtiCaseFnLower, 142, 1},
-        {EPtiKeyQwertyK, EPtiCaseFnLower, 143, 1},
-        {EPtiKeyQwertyL, EPtiCaseFnLower, 144, 1},
-        {EPtiKeyQwertyZ, EPtiCaseFnLower, 145, 1},
-        {EPtiKeyQwertyX, EPtiCaseFnLower, 146, 1},
-        {EPtiKeyQwertyC, EPtiCaseFnLower, 147, 1},
-        {EPtiKeyQwertyV, EPtiCaseFnLower, 148, 1},
-        {EPtiKeyQwertyB, EPtiCaseFnLower, 149, 1},
-        {EPtiKeyQwertyN, EPtiCaseFnLower, 150, 1},
-        {EPtiKeyQwertyM, EPtiCaseFnLower, 151, 1},
-        {EPtiKeyQwertyComma, EPtiCaseFnLower, 152, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 153, 1},
-        {EPtiKeyQwertyL, EPtiCaseFnUpper, 160, 1},
-    };
-
-const TInt KMaxMiniQwertyIndex_Portuguese = 84;
-
-//
-// MiniQwerty3x11 keymap data table
-//
-const TUint16 MiniQwerty3x11Data_table_Portuguese[] =
-    {
-     0x0071,
-     0x0077,
-     0x0065,0x00EA,0x00E9,0x00E8,0x00EB,
-     0x0072,
-     0x0074,0x00FE,
-     0x0079,0x00FD,
-     0x0075,0x00FA,0x00FB,0x00F9,0x00FC,
-     0x0069,0x00ED,0x00EE,0x00EC,0x00EF,
-     0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8,
-     0x0070,
-     0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6,
-     0x0073,0x00DF,
-     0x0064,0x00F0,
-     0x0066,
-     0x0067,
-     0x0068,
-     0x006A,
-     0x006B,
-     0x006C,
-     0x00E7,
-     0x007A,
-     0x0078,
-     0x0063,0x00E7,
-     0x0076,
-     0x0062,
-     0x006E,0x00F1,
-     0x006D,
-     0x0051,
-     0x0057,
-     0x0045,0x00CA,0x00C9,0x00C8,0x00CB,
-     0x0052,
-     0x0054,0x00DE,
-     0x0059,0x00DD,
-     0x0055,0x00DA,0x00DB,0x00D9,0x00DC,
-     0x0049,0x00CD,0x00CE,0x00CC,0x00CF,
-     0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8,
-     0x0050,
-     0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6,
-     0x0053,
-     0x0044,0x00D0,
-     0x0046,
-     0x0047,
-     0x0048,
-     0x004A,
-     0x004B,
-     0x004C,
-     0x00C7,
-     0x005A,
-     0x0058,
-     0x0043,0x00C7,
-     0x0056,
-     0x0042,
-     0x004E,0x00D1,
-     0x004D,
-     0x0031,
-     0x0032,
-     0x0033,
-     0x0034,
-     0x0035,
-     0x0036,
-     0x0037,
-     0x0038,
-     0x0039,
-     0x0030,
-     0x0040,
-     0x002F,
-     0x002B,
-     0x002D,
-     0x002A,
-     0x0023,
-     0x003D,
-     0x003F,
-     0x0021,
-     0x0027,
-     0x0028,
-     0x0029,
-     0x0025,
-     0x002C,
-     0x002E,
-     0x003B,
-     0x003A,
-    };
-
-const TInt KMiniQwerty3x11DataSize_Portuguese = 146;
-
-
-const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Portuguese[] =
-    {
-        {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 8, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 10, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 12, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 17, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 22, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 30, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 57, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 59, 1},
-        {EStdKeySpace, EPtiCaseLower, 60, 0},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 62, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 68, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 70, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 72, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 77, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 82, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 91, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 100, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 101, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 103, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 104, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 105, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 106, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 107, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 109, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 110, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 112, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 116, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 118, 1},
-        {EStdKeySpace, EPtiCaseUpper, 119, 0},
-        {EPtiKeyQwertyQ, EPtiCaseFnLower, 119, 1},
-        {EPtiKeyQwertyW, EPtiCaseFnLower, 120, 1},
-        {EPtiKeyQwertyE, EPtiCaseFnLower, 121, 1},
-        {EPtiKeyQwertyR, EPtiCaseFnLower, 122, 1},
-        {EPtiKeyQwertyT, EPtiCaseFnLower, 123, 1},
-        {EPtiKeyQwertyY, EPtiCaseFnLower, 124, 1},
-        {EPtiKeyQwertyU, EPtiCaseFnLower, 125, 1},
-        {EPtiKeyQwertyI, EPtiCaseFnLower, 126, 1},
-        {EPtiKeyQwertyO, EPtiCaseFnLower, 127, 1},
-        {EPtiKeyQwertyP, EPtiCaseFnLower, 128, 1},
-        {EPtiKeyQwertyA, EPtiCaseFnLower, 129, 1},
-        {EPtiKeyQwertyS, EPtiCaseFnLower, 130, 1},
-        {EPtiKeyQwertyD, EPtiCaseFnLower, 131, 1},
-        {EPtiKeyQwertyF, EPtiCaseFnLower, 132, 1},
-        {EPtiKeyQwertyG, EPtiCaseFnLower, 133, 1},
-        {EPtiKeyQwertyH, EPtiCaseFnLower, 134, 1},
-        {EPtiKeyQwertyJ, EPtiCaseFnLower, 135, 1},
-        {EPtiKeyQwertyK, EPtiCaseFnLower, 136, 1},
-        {EPtiKeyQwertyL, EPtiCaseFnLower, 137, 1},
-        {EPtiKeyQwertyComma, EPtiCaseFnLower, 138, 1},
-        {EPtiKeyQwertyZ, EPtiCaseFnLower, 139, 1},
-        {EPtiKeyQwertyX, EPtiCaseFnLower, 140, 1},
-        {EPtiKeyQwertyC, EPtiCaseFnLower, 141, 1},
-        {EPtiKeyQwertyV, EPtiCaseFnLower, 142, 1},
-        {EPtiKeyQwertyB, EPtiCaseFnLower, 143, 1},
-        {EPtiKeyQwertyN, EPtiCaseFnLower, 144, 1},
-        {EPtiKeyQwertyM, EPtiCaseFnLower, 145, 1},
-    };
-
-const TInt KMaxMiniQwerty3x11Index_Portuguese = 83;
+const TInt KStandardQwertyDeadKeyTableRows_Portuguese = 24;
 
 //
 // Class implementation.
@@ -713,18 +329,6 @@
         return StandardQwertyData_table_Portuguese;
         }
 
-    if (aKeyboardType == EPtiKeyboardQwerty4x10)
-        {
-        aDataSize = KMiniQwertyDataSize_Portuguese;
-        return MiniQwertyData_table_Portuguese;
-        }
-
-    if (aKeyboardType == EPtiKeyboardQwerty3x11)
-        {
-        aDataSize = KMiniQwerty3x11DataSize_Portuguese;
-        return MiniQwerty3x11Data_table_Portuguese;
-        }
-
     aDataSize = 0;
     return NULL;
     }
@@ -742,16 +346,6 @@
         aNumItems = KMaxStandardQwertyIndex_Portuguese;
         return StandardQwertyKeyBindings_table_Portuguese;
         }
-    if (aKeyboardType == EPtiKeyboardQwerty4x10)
-        {
-        aNumItems = KMaxMiniQwertyIndex_Portuguese;
-        return MiniQwertyKeyBindings_table_Portuguese;
-        }
-    if (aKeyboardType == EPtiKeyboardQwerty3x11)
-        {
-        aNumItems = KMaxMiniQwerty3x11Index_Portuguese;
-        return MiniQwerty3x11KeyBindings_table_Portuguese;
-        }
 
     aNumItems = 0;
     return NULL;
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_13.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Turkish[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2c,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xeb,0xea,
-     0x72,
-     0x74,
-     0x79,
-     0x75,0xf9,0xfb,0xfa,
-     0x131,
-     0x6f,0xf4,0xf2,0xf3,0xf8,
-     0x70,
-     0xfc,
-     0x2b,
-     0x61,0xe2,0xe4,0xe0,0xe1,0xe3,0xe6,
-     0x73,0xdf,
-     0x64,
-     0x66,
-     0x67,0x11f,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x15f,
-     0x69,0xee,0xef,0xec,0xed,
-     0x7a,
-     0x78,
-     0x63,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0xf6,
-     0xe7,
-     0x2e,
-     0x21,
-     0x22,
-     0x40,
-     0x23,
-     0x2d,
-     0x2f,
-     0x28,
-     0x29,
-     0x3d,
-     0x3f,
-     0x3b,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xcb,0xca,
-     0x52,
-     0x54,
-     0x59,
-     0x55,0xdb,0xd9,0xda,
-     0x49,
-     0x4f,0xd4,0xd2,0xd3,0xd8,
-     0x50,
-     0xdc,
-     0x2a,
-     0x41,0xc2,0xc4,0xc0,0xc1,0xc3,0xc6,
-     0x53,
-     0x44,
-     0x46,
-     0x47,0x11e,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x15e,
-     0x130,0xce,0xcf,0xcc,0xcd,
-     0x5a,
-     0x58,
-     0x43,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0xd6,
-     0xc7,
-     0x3a,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0131,
+     0x006F,
+     0x0070,
+     0x00FC,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x015F,
+     0x0069,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x00F6,
+     0x00E7,
+     0x011F,
+     0x002E,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00DC,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x015E,
+     0x0130,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x00D6,
+     0x00C7,
+     0x011E,
+     0x002C,
     };
 
-const TInt KStandardQwertyDataSize_Turkish = 135;
+const TInt KStandardQwertyDataSize_Turkish = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Turkish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 21, 4},
-        {EPtiKeyQwertyI, EPtiCaseLower, 25, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 26, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 34, 7},
-        {EPtiKeyQwertyS, EPtiCaseLower, 41, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 45, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 48, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 49, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 52, 5},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 62, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 81, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 89, 4},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 94, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 99, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 100, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 101, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 102, 7},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 109, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 110, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 112, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 118, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 119, 5},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 129, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 134, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Turkish = 88;
+const TInt KMaxStandardQwertyIndex_Turkish = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_14.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Icelandic[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x23,
-     0x71,
-     0x77,
-     0x65,0xe9,0xe8,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,
-     0x6f,0xf6,0xf4,0xf2,0xf3,0xf5,
-     0x70,
-     0xf0,
-     0x2b,
-     0x61,0xe4,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xe6,0xe4,
-     0xf6,0xf8,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0xfe,
-     0x21,
-     0x22,
-     0x40,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2f,
-     0x2d,
-     0x27,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0xc8,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,
-     0x4f,0xd6,0xd4,0xd2,0xd3,0xd5,
-     0x50,
-     0xd0,
-     0x2a,
-     0x41,0xc4,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xc6,0xc4,
-     0xd6,0xd8,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xde,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00F0,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00E6,
+     0x00F6,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x00FE,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00D0,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00C6,
+     0x00D6,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x0021,
+     0x00DE,
     };
 
-const TInt KStandardQwertyDataSize_Icelandic = 145;
+const TInt KStandardQwertyDataSize_Icelandic = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Icelandic[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 57, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 59, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 86, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 92, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 96, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 106, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 112, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 113, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 115, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 129, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 131, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 135, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 144, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Icelandic = 88;
+const TInt KMaxStandardQwertyIndex_Icelandic = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_15.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,320 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <PtiKeyMapData.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_157.h"
+
+//
+// Multitap keymap data table
+//
+const TUint16 MultitapData_table_English_Taiwan[] =
+    {
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x61,0x62,0x63,0x32,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,0xe7,
+     0x64,0x65,0x66,0x33,0xe8,0xe9,0xea,0xeb,0xf0,
+     0x67,0x68,0x69,0x34,0xec,0xed,0xee,0xef,
+     0x6a,0x6b,0x6c,0x35,0xa3,
+     0x6d,0x6e,0x6f,0x36,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,0xf1,
+     0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
+     0x74,0x75,0x76,0x38,0xf9,0xfa,0xfb,0xfc,
+     0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe,
+     0x20,0x30,0x21b2,
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x41,0x42,0x43,0x32,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,0xc7,
+     0x44,0x45,0x46,0x33,0xc8,0xc9,0xca,0xcb,0xd0,
+     0x47,0x48,0x49,0x34,0xcc,0xcd,0xce,0xcf,
+     0x4a,0x4b,0x4c,0x35,0xa3,
+     0x4d,0x4e,0x4f,0x36,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,0xd1,
+     0x50,0x51,0x52,0x53,0x37,0x24,
+     0x54,0x55,0x56,0x38,0xd9,0xda,0xdb,0xdc,
+     0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
+     0x20,0x30,0x21b2,
+    };
+
+const TInt KMultitapDataSize_English_Taiwan = 199;
+
+
+const TPtiKeyBinding MultitapKeyBindings_table_English_Taiwan[] =
+    {
+        {EPtiKey1, EPtiCaseLower, 0, 30},
+        {EPtiKey2, EPtiCaseLower, 30, 12},
+        {EPtiKey3, EPtiCaseLower, 42, 9},
+        {EPtiKey4, EPtiCaseLower, 51, 8},
+        {EPtiKey5, EPtiCaseLower, 59, 5},
+        {EPtiKey6, EPtiCaseLower, 64, 11},
+        {EPtiKey7, EPtiCaseLower, 75, 7},
+        {EPtiKey8, EPtiCaseLower, 82, 8},
+        {EPtiKey9, EPtiCaseLower, 90, 7},
+        {EPtiKeyStar, EPtiCaseLower, 97, 0},
+        {EPtiKey0, EPtiCaseLower, 97, 3},
+        {EPtiKeyHash, EPtiCaseLower, 100, 0},
+        {EPtiKey1, EPtiCaseUpper, 100, 30},
+        {EPtiKey2, EPtiCaseUpper, 130, 12},
+        {EPtiKey3, EPtiCaseUpper, 142, 9},
+        {EPtiKey4, EPtiCaseUpper, 151, 8},
+        {EPtiKey5, EPtiCaseUpper, 159, 5},
+        {EPtiKey6, EPtiCaseUpper, 164, 11},
+        {EPtiKey7, EPtiCaseUpper, 175, 6},
+        {EPtiKey8, EPtiCaseUpper, 181, 8},
+        {EPtiKey9, EPtiCaseUpper, 189, 7},
+        {EPtiKeyStar, EPtiCaseUpper, 196, 0},
+        {EPtiKey0, EPtiCaseUpper, 196, 3},
+        {EPtiKeyHash, EPtiCaseUpper, 199, 0},
+    };
+
+const TInt KMaxMultitapIndex_English_Taiwan = 24;
+
+//
+// StandardQwerty keymap data table
+//
+const TUint16 StandardQwertyData_table_English_Taiwan[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x003A,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0028,
+     0x0029,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x003A,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x0028,
+     0x0029,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+    };
+
+const TInt KStandardQwertyDataSize_English_Taiwan = 66;
+
+
+const TPtiKeyBinding StandardQwertyKeyBindings_table_English_Taiwan[] =
+    {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
+    };
+
+const TInt KMaxStandardQwertyIndex_English_Taiwan = 92;
+
+//
+// Class implementation.
+//
+
+CPtiLangDataImplEnglish_Taiwan* CPtiLangDataImplEnglish_Taiwan::NewL()
+    {
+    return new (ELeave) CPtiLangDataImplEnglish_Taiwan();
+    }
+
+
+TInt CPtiLangDataImplEnglish_Taiwan::LanguageCode() const
+    {
+    return ELangEnglish_Taiwan;
+    }
+
+
+const TUint16* CPtiLangDataImplEnglish_Taiwan::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aDataSize = KMultitapDataSize_English_Taiwan;
+        return MultitapData_table_English_Taiwan;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aDataSize = KStandardQwertyDataSize_English_Taiwan;
+        return StandardQwertyData_table_English_Taiwan;
+        }
+
+    aDataSize = 0;
+    return NULL;
+    }
+
+
+const TPtiKeyBinding* CPtiLangDataImplEnglish_Taiwan::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aNumItems = KMaxMultitapIndex_English_Taiwan;
+        return MultitapKeyBindings_table_English_Taiwan;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumItems = KMaxStandardQwertyIndex_English_Taiwan;
+        return StandardQwertyKeyBindings_table_English_Taiwan;
+        }
+
+    aNumItems = 0;
+    return NULL;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.h	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __PTI_LANGUAGES_ITUT_157_H__
+#define __PTI_LANGUAGES_ITUT_157_H__
+
+#include <PtiKeyMapData.h>
+
+
+//
+// Class declaration for language English_Taiwan 
+//
+class CPtiLangDataImplEnglish_Taiwan : public CPtiKeyMapData
+    {
+    public:
+        static CPtiLangDataImplEnglish_Taiwan* NewL();
+        TInt LanguageCode() const;
+        const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
+        const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+    };
+
+#endif
+
+// End of file. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_157.mmp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project file for  keymapping data dll.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <platform_paths.hrh>
+
+TARGET       PtiKeymappings_ITUT_157.dll
+CAPABILITY   CAP_ECOM_PLUGIN
+targettype   PLUGIN
+UID	     0x10009D8D 0x10282568 
+
+sourcepath . 
+
+userinclude . 
+
+MW_LAYER_SYSTEMINCLUDE
+
+
+source PtiKeymappings_ITUT_157.cpp
+source PtiFactory_ITUT_157.cpp
+
+START RESOURCE 10282568.rss
+TARGET PtiKeymappings_ITUT_157.rsc
+END
+
+library	EUSER.LIB BAFL.LIB EFSRV.LIB
+library PtiEngine.lib
+
+START WINS
+	baseaddress	0x7dd10000
+END
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,206 +97,176 @@
 //
 const TUint16 StandardQwertyData_table_Russian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x439,
-     0x446,
-     0x443,
-     0x43a,
-     0x435,
-     0x43d,
-     0x433,
-     0x448,
-     0x449,
-     0x437,
-     0x445,
-     0x2b,
-     0x444,
-     0x44b,
-     0x432,
-     0x430,
-     0x43f,
-     0x440,
-     0x43e,
-     0x43b,
-     0x434,
-     0x436,
-     0x44d,
-     0x44f,
-     0x447,
-     0x441,
-     0x43c,
-     0x438,
-     0x442,
-     0x44c,
-     0x431,
-     0x44e,
-     0x2e,
-     0x21,
-     0x22,
-     0x40,
-     0x3b,
-     0x3d,
-     0x3a,
-     0x3f,
-     0x2a,
-     0x28,
-     0x29,
-     0x2f,
-     0x419,
-     0x426,
-     0x423,
-     0x41a,
-     0x415,
-     0x41d,
-     0x413,
-     0x428,
-     0x429,
-     0x417,
-     0x425,
-     0x23,
-     0x424,
-     0x42b,
-     0x412,
-     0x410,
-     0x41f,
-     0x420,
-     0x41e,
-     0x41b,
-     0x414,
-     0x416,
-     0x42d,
-     0x42f,
-     0x427,
-     0x421,
-     0x41c,
-     0x418,
-     0x422,
-     0x42c,
-     0x411,
-     0x42e,
-     0x2c,
+     0x0439,
+     0x0446,
+     0x0443,
+     0x043A,
+     0x0435,0x0451,
+     0x043D,
+     0x0433,
+     0x0448,
+     0x0449,
+     0x0437,
+     0x0445,
+     0x0444,
+     0x044B,
+     0x0432,
+     0x0430,
+     0x043F,
+     0x0440,
+     0x043E,
+     0x043B,
+     0x0434,
+     0x0436,
+     0x044D,
+     0x044F,
+     0x0447,
+     0x0441,
+     0x043C,
+     0x0438,
+     0x0442,
+     0x044C,
+     0x0431,
+     0x044E,
+     0x044A,
+     0x002E,
+     0x0419,
+     0x0426,
+     0x0423,
+     0x041A,
+     0x0415,0x0401,
+     0x041D,
+     0x0413,
+     0x0428,
+     0x0429,
+     0x0417,
+     0x0425,
+     0x0424,
+     0x042B,
+     0x0412,
+     0x0410,
+     0x041F,
+     0x0420,
+     0x041E,
+     0x041B,
+     0x0414,
+     0x0416,
+     0x042D,
+     0x042F,
+     0x0427,
+     0x0421,
+     0x041C,
+     0x0418,
+     0x0422,
+     0x042C,
+     0x0411,
+     0x042E,
+     0x042A,
+     0x002C,
     };
 
-const TInt KStandardQwertyDataSize_Russian = 88;
+const TInt KStandardQwertyDataSize_Russian = 68;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Russian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
-        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
-        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty5, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 23, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 34, 0},
+        {0x5b, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 38, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 57, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 68, 0},
+        {0x5b, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 68, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 68, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Russian = 88;
-
+const TInt KMaxStandardQwertyIndex_Russian = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Russian[] =
-	{
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Russian = 3;
-//
 // MiniQwerty keymap data table
 //
 const TUint16 MiniQwertyData_table_Russian[] =
@@ -573,12 +543,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplRussian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Russian;
-        return StandardQwertyNumericKeysData_table_Russian;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Russian;
@@ -590,10 +554,3 @@
     }
 
 
-
-TBool CPtiLangDataImplRussian::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,489 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <PtiKeyMapData.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_161.h"
+
+//
+// Multitap keymap data table
+//
+const TUint16 MultitapData_table_English[] =
+    {
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x61,0x62,0x63,0x32,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,0xe7,
+     0x64,0x65,0x66,0x33,0xe8,0xe9,0xea,0xeb,0xf0,
+     0x67,0x68,0x69,0x34,0xec,0xed,0xee,0xef,
+     0x6a,0x6b,0x6c,0x35,0xa3,
+     0x6d,0x6e,0x6f,0x36,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,0xf1,
+     0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
+     0x74,0x75,0x76,0x38,0xf9,0xfa,0xfb,0xfc,
+     0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe,
+     0x20,0x30,0x21b2,
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x41,0x42,0x43,0x32,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,0xc7,
+     0x44,0x45,0x46,0x33,0xc8,0xc9,0xca,0xcb,0xd0,
+     0x47,0x48,0x49,0x34,0xcc,0xcd,0xce,0xcf,
+     0x4a,0x4b,0x4c,0x35,0xa3,
+     0x4d,0x4e,0x4f,0x36,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,0xd1,
+     0x50,0x51,0x52,0x53,0x37,0x24,
+     0x54,0x55,0x56,0x38,0xd9,0xda,0xdb,0xdc,
+     0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
+     0x20,0x30,0x21b2,
+    };
+
+const TInt KMultitapDataSize_English = 199;
+
+
+const TPtiKeyBinding MultitapKeyBindings_table_English[] =
+    {
+        {EPtiKey1, EPtiCaseLower, 0, 30},
+        {EPtiKey2, EPtiCaseLower, 30, 12},
+        {EPtiKey3, EPtiCaseLower, 42, 9},
+        {EPtiKey4, EPtiCaseLower, 51, 8},
+        {EPtiKey5, EPtiCaseLower, 59, 5},
+        {EPtiKey6, EPtiCaseLower, 64, 11},
+        {EPtiKey7, EPtiCaseLower, 75, 7},
+        {EPtiKey8, EPtiCaseLower, 82, 8},
+        {EPtiKey9, EPtiCaseLower, 90, 7},
+        {EPtiKeyStar, EPtiCaseLower, 97, 0},
+        {EPtiKey0, EPtiCaseLower, 97, 3},
+        {EPtiKeyHash, EPtiCaseLower, 100, 0},
+        {EPtiKey1, EPtiCaseUpper, 100, 30},
+        {EPtiKey2, EPtiCaseUpper, 130, 12},
+        {EPtiKey3, EPtiCaseUpper, 142, 9},
+        {EPtiKey4, EPtiCaseUpper, 151, 8},
+        {EPtiKey5, EPtiCaseUpper, 159, 5},
+        {EPtiKey6, EPtiCaseUpper, 164, 11},
+        {EPtiKey7, EPtiCaseUpper, 175, 6},
+        {EPtiKey8, EPtiCaseUpper, 181, 8},
+        {EPtiKey9, EPtiCaseUpper, 189, 7},
+        {EPtiKeyStar, EPtiCaseUpper, 196, 0},
+        {EPtiKey0, EPtiCaseUpper, 196, 3},
+        {EPtiKeyHash, EPtiCaseUpper, 199, 0},
+    };
+
+const TInt KMaxMultitapIndex_English = 24;
+
+//
+// StandardQwerty keymap data table
+//
+const TUint16 StandardQwertyData_table_English[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002F,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
+    };
+
+const TInt KStandardQwertyDataSize_English = 60;
+
+
+const TPtiKeyBinding StandardQwertyKeyBindings_table_English[] =
+    {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 30, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 31, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 32, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 40, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 60, 0},
+    };
+
+const TInt KMaxStandardQwertyIndex_English = 92;
+
+//
+// MiniQwerty keymap data table
+//
+const TUint16 MiniQwertyData_table_English[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00E8,0x00E9,0x00EA,0x00EB,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00F9,0x00FA,0x00FB,0x00FC,
+     0x0069,0x00EC,0x00ED,0x00EE,0x00EF,
+     0x006F,0x00F4,0x00F6,0x00F2,0x00F3,0x00F8,
+     0x0070,
+     0x0061,0x00E2,0x00E4,0x00E0,0x00E1,0x00E3,0x00E6,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,0x011F,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x0040,
+     0x0051,
+     0x0057,
+     0x0045,0x00C8,0x00C9,0x00CA,0x00CB,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00D9,0x00DA,0x00DB,0x00DC,
+     0x0049,0x00CC,0x00CD,0x00CE,0x00CF,
+     0x004F,0x00D4,0x00D6,0x00D2,0x00D3,0x00D8,
+     0x0050,
+     0x0041,0x00C2,0x00C4,0x00C0,0x00C1,0x00C3,0x00C6,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,0x011E,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x0E20,
+     0x0E38,
+     0x0031,
+     0x0032,
+     0x0033,
+     0x0E04,
+     0x0E02,
+     0x0E1A,
+     0x0034,
+     0x0035,
+     0x0036,
+     0x0E08,
+     0x0E26,
+     0x0E0A,
+     0x0037,
+     0x0038,
+     0x0039,
+     0x0E1D,
+     0x002A,
+     0x0030,
+     0x0023,
+    };
+
+const TInt KMiniQwertyDataSize_English = 133;
+
+
+const TPtiKeyBinding MiniQwertyKeyBindings_table_English[] =
+    {
+        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 22, 6},
+        {EPtiKeyQwerty0, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 29, 7},
+        {EPtiKeyQwertyS, EPtiCaseLower, 36, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 38, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 41, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 49, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 53, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 59, 5},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 65, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 67, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 69, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 74, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 79, 6},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 86, 7},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 93, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 94, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 97, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 100, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 101, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 105, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 109, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 112, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 112, 0},
+        {EPtiKeyQwerty1, EPtiCaseFnUpper, 112, 1},
+        {EPtiKeyQwerty2, EPtiCaseFnUpper, 113, 1},
+        {EPtiKeyQwerty3, EPtiCaseFnUpper, 114, 1},
+        {EPtiKeyQwerty5, EPtiCaseFnUpper, 115, 1},
+        {EPtiKeyQwerty7, EPtiCaseFnUpper, 116, 1},
+        {EPtiKeyQwerty9, EPtiCaseFnUpper, 117, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnUpper, 118, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnUpper, 119, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnUpper, 120, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnUpper, 121, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnUpper, 122, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnUpper, 123, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnUpper, 124, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnUpper, 125, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnUpper, 126, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnUpper, 127, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnUpper, 128, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseFnUpper, 129, 1},
+    };
+
+const TInt KMaxMiniQwertyIndex_English = 74;
+
+//
+// Class implementation.
+//
+
+CPtiLangDataImplEnglish* CPtiLangDataImplEnglish::NewL()
+    {
+    return new (ELeave) CPtiLangDataImplEnglish();
+    }
+
+
+TInt CPtiLangDataImplEnglish::LanguageCode() const
+    {
+    return ELangEnglish;
+    }
+
+
+const TUint16* CPtiLangDataImplEnglish::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aDataSize = KMultitapDataSize_English;
+        return MultitapData_table_English;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aDataSize = KStandardQwertyDataSize_English;
+        return StandardQwertyData_table_English;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aDataSize = KMiniQwertyDataSize_English;
+        return MiniQwertyData_table_English;
+        }
+
+    aDataSize = 0;
+    return NULL;
+    }
+
+
+const TPtiKeyBinding* CPtiLangDataImplEnglish::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aNumItems = KMaxMultitapIndex_English;
+        return MultitapKeyBindings_table_English;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumItems = KMaxStandardQwertyIndex_English;
+        return StandardQwertyKeyBindings_table_English;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aNumItems = KMaxMiniQwertyIndex_English;
+        return MiniQwertyKeyBindings_table_English;
+        }
+
+    aNumItems = 0;
+    return NULL;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.h	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __PTI_LANGUAGES_ITUT_161_H__
+#define __PTI_LANGUAGES_ITUT_161_H__
+
+#include <PtiKeyMapData.h>
+
+
+//
+// Class declaration for language English 
+//
+class CPtiLangDataImplEnglish : public CPtiKeyMapData
+    {
+    public:
+        static CPtiLangDataImplEnglish* NewL();
+        TInt LanguageCode() const;
+        const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
+        const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+    };
+
+#endif
+
+// End of file. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_161.mmp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project file for  keymapping data dll.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <platform_paths.hrh>
+
+TARGET       PtiKeymappings_ITUT_161.dll
+CAPABILITY   CAP_ECOM_PLUGIN
+targettype   PLUGIN
+UID	     0x10009D8D 0x10282562 
+
+sourcepath . 
+
+userinclude . 
+
+MW_LAYER_SYSTEMINCLUDE
+
+
+source PtiKeymappings_ITUT_161.cpp
+source PtiFactory_ITUT_161.cpp
+
+START RESOURCE 10282562.rss
+TARGET PtiKeymappings_ITUT_161.rsc
+END
+
+library	EUSER.LIB BAFL.LIB EFSRV.LIB
+library PtiEngine.lib
+
+START WINS
+	baseaddress	0x7dd10000
+END
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,208 @@
 //
 const TUint16 StandardQwertyData_table_Hungarian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0x119,0x11b,0xe9,
-     0x72,0x155,0x159,
-     0x74,0x163,0x165,
-     0x79,0xfd,
-     0x75,0xfa,0x16f,0x171,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf4,0x151,
-     0x70,
-     0xf6,0x151,
-     0x23,
-     0x61,0xe4,0xe2,0x103,0x105,0xe1,
-     0x73,0xdf,0x15b,0x15f,0x161,
-     0x64,0x111,0x10f,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x142,
-     0xe9,
-     0xe1,
-     0x7a,0x17a,0x17c,0x17e,
-     0x78,
-     0x63,0x107,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x144,0x148,
-     0x6d,
-     0x2c,
-     0x2e,
-     0xfc,0x171,
-     0x27,
-     0x22,
-     0x2b,
-     0x21,
-     0x40,
-     0x2f,
-     0x3d,
-     0x28,
-     0x29,
-     0x20ac,
-     0x3b,
-     0x51,
-     0x57,
-     0x45,0x118,0x11a,0xc9,
-     0x52,0x154,0x158,
-     0x54,0x162,0x164,
-     0x59,0xdd,
-     0x55,0xda,0x16e,0x170,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd4,0x150,
-     0x50,
-     0xd6,0x150,
-     0x2a,
-     0x41,0xc4,0xc2,0x102,0x104,0xc1,
-     0x53,0x15a,0x15e,0x160,
-     0x44,0x110,0x10e,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x141,
-     0xc9,
-     0xc1,
-     0x5a,0x179,0x17b,0x17d,
-     0x58,
-     0x43,0x106,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x143,0x147,
-     0x4d,
-     0x3f,
-     0x3a,
-     0xdc,0x170,
+     0x0071,
+     0x0077,
+     0x0065,0x00EB,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FF,0x00FD,
+     0x0075,0x00FC,0x00FA,0x0171,
+     0x0069,0x00EF,0x00ED,
+     0x006F,0x00F6,0x00F3,0x0151,
+     0x0070,
+     0xF002,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0xF001,0x00A8,
+     0xF003,0x02DD,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
+     0x0051,
+     0x0057,
+     0x0045,0x00CB,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x0178,0x00DD,
+     0x0055,0x00DC,0x00DA,0x0170,
+     0x0049,0x00CF,0x00CD,
+     0x004F,0x00D6,0x00D3,0x0150,
+     0x0050,
+     0xF002,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0xF001,0x00A8,
+     0xF003,0x02DD,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Hungarian = 161;
+const TInt KStandardQwertyDataSize_Hungarian = 110;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Hungarian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 25, 4},
-        {EPtiKeyQwertyI, EPtiCaseLower, 29, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 4},
-        {EPtiKeyQwertyP, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 37, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 40, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 46, 5},
-        {EPtiKeyQwertyD, EPtiCaseLower, 51, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 59, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 4},
-        {EPtiKeyQwertyX, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 68, 3},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 79, 2},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 94, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 98, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 101, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 104, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 106, 4},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 110, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 113, 4},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 121, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 127, 4},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 131, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 143, 4},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 148, 3},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 152, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 153, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 157, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 158, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 159, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 3},
+        {EPtiKeyQwerty3, EPtiCaseLower, 5, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 8, 3},
+        {EPtiKeyQwerty6, EPtiCaseLower, 11, 4},
+        {EPtiKeyQwerty7, EPtiCaseLower, 15, 3},
+        {EPtiKeyQwerty8, EPtiCaseLower, 18, 4},
+        {EPtiKeyQwerty9, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 23, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 25, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 27, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 37, 2},
+        {EPtiKeyQwertyP, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 44, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 48, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 53, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 55, 0},
+        {0x5b, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 55, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 57, 3},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 60, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 63, 3},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 66, 4},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 70, 3},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 73, 4},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 80, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 82, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 86, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 90, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 92, 2},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 94, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 96, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 96, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 99, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 101, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 103, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 110, 0},
+        {0x5b, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 110, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 110, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Hungarian = 88;
+const TInt KMaxStandardQwertyIndex_Hungarian = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_Hungarian[] =
+    {
+    2,  0x00EB,0x00E9,0xf000,0xf000,0xf000,
+    3,  0xF000,0xF000,0x0155,0xf000,0xf000,
+    5,  0x00FF,0x00FD,0xf000,0xf000,0xf000,
+    6,  0x00FC,0x00FA,0x0171,0xf000,0xf000,
+    7,  0x00EF,0x00ED,0xf000,0xf000,0xf000,
+    8,  0x00F6,0x00F3,0x0151,0xf000,0xf000,
+    11,  0xF000,0x00E1,0xf000,0xf000,0xf000,
+    12,  0xF000,0xF000,0x015B,0xf000,0xf000,
+    19,  0xF000,0x013A,0xf000,0xf000,0xf000,
+    22,  0xF000,0x017A,0xf000,0xf000,0xf000,
+    24,  0xF000,0x0107,0xf000,0xf000,0xf000,
+    27,  0xF000,0x0144,0xf000,0xf000,0xf000,
+    35,  0x00CB,0x00C9,0xf000,0xf000,0xf000,
+    36,  0xF000,0xF000,0x0154,0xf000,0xf000,
+    38,  0x0178,0x00DD,0xf000,0xf000,0xf000,
+    39,  0x00DC,0x00DA,0x0170,0xf000,0xf000,
+    40,  0x00CF,0x00CD,0xf000,0xf000,0xf000,
+    41,  0x00D6,0x00D3,0x0150,0xf000,0xf000,
+    44,  0xF000,0x00C1,0xf000,0xf000,0xf000,
+    45,  0xF000,0xF000,0x015A,0xf000,0xf000,
+    52,  0xF000,0x0139,0xf000,0xf000,0xf000,
+    55,  0xF000,0x0179,0xf000,0xf000,0xf000,
+    57,  0xF000,0x0106,0xf000,0xf000,0xf000,
+    60,  0xF000,0x0143,0xf000,0xf000,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_Hungarian = 24;
 
 //
 // MiniQwerty keymap data table
@@ -539,3 +555,16 @@
     }
 
 
+const TUint16* CPtiLangDataImplHungarian::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Hungarian;
+        return StandardQwertyDeadKeyData_table_Hungarian;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,6 +42,7 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_17.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,168 @@
 //
 const TUint16 StandardQwertyData_table_Dutch[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0xe9,0xe8,0xeb,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,
-     0x6f,0xf6,0xf4,0xf2,0xf3,0xf5,0xf8,
-     0x70,
-     0x2d,
-     0x23,
-     0x61,0xe4,0xe0,0xe1,0xe2,0xe6,0xe3,0xe5,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x3b,
-     0x27,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x22,
-     0xa3,
-     0x24,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0xc8,0xcb,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,
-     0x4f,0xd6,0xd4,0xd2,0xd3,0xd5,0xd8,
-     0x50,
-     0x5f,
-     0x7e,
-     0x41,0xc4,0xc0,0xc1,0xc2,0xc6,0xc3,0xc5,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x3a,
-     0x40,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002F,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
     };
 
-const TInt KStandardQwertyDataSize_Dutch = 149;
+const TInt KStandardQwertyDataSize_Dutch = 60;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Dutch[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 0},
         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
-        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 30, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 31, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 32, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 40, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 60, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Dutch = 88;
+const TInt KMaxStandardQwertyIndex_Dutch = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_18.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Czech[] =
     {
-     0x23,
-     0x161,
-     0x10d,
-     0x40,
-     0x17e,
-     0xfd,
-     0xe1,
-     0xed,
-     0xe9,
-     0x22,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0x11b,0xe9,0x119,
-     0x72,0x159,0x155,
-     0x74,0x165,0x163,
-     0x79,0xfd,
-     0x75,0x16f,0xfa,0xfc,0x171,0xf9,0xfb,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf6,0x151,0xf4,
-     0x70,
-     0xe4,
-     0x28,
-     0x61,0xe1,0x103,0xe2,0x105,0xe4,
-     0x73,0x161,0xdf,0x15b,0x15f,
-     0x64,0x10f,0x111,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x13e,0x13a,0x142,
-     0xf001,0xb4,
-     0xf002,0x2c7,
-     0x7a,0x17e,0x17a,0x17c,
-     0x78,
-     0x63,0x10d,0x107,
-     0x76,
-     0x62,
-     0x6e,0x148,0x144,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2a,
-     0x51,
-     0x57,
-     0x45,0x11a,0xc9,0x118,
-     0x52,0x158,0x154,
-     0x54,0x164,0x162,
-     0x59,0xdd,
-     0x55,0x16e,0xda,0xdc,0x170,0xd9,0xdb,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd6,0x150,0xd4,
-     0x50,
-     0x2f,
-     0x29,
-     0x41,0xc1,0x102,0xc2,0x104,0xc4,
-     0x53,0x160,0x15a,0x15e,
-     0x44,0x10e,0x110,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x13d,0x139,0x141,
-     0xf003,0xb0,
-     0xf004,0x5e,
-     0x5a,0x17d,0x179,0x17b,
-     0x58,
-     0x43,0x10c,0x106,
-     0x56,
-     0x42,
-     0x4e,0x147,0x143,
-     0x4d,
-     0x3f,
-     0x3a,
-     0x21,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,0x011B,
+     0x0072,0x0155,0x0159,
+     0x0074,0xf000,0x0165,
+     0x007A,0x017A,0x017E,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,0x0161,
+     0x0064,0x010F,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x016F,
+     0xF002,0x02C7,
+     0x0079,0x00FD,
+     0x0078,
+     0x0063,0x0107,0x010D,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,0x0148,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,0x011A,
+     0x0052,0x0154,0x0158,
+     0x0054,0x0164,
+     0x005A,0x0179,0x017D,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,0x0160,
+     0x0044,0x010E,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x016E,
+     0xF002,0x02C7,
+     0x0059,0x00DD,
+     0x0058,
+     0x0043,0x0106,0x010C,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,0x0147,
+     0x004D,
+     0x0027,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Czech = 173;
+const TInt KStandardQwertyDataSize_Czech = 111;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Czech[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 25, 7},
-        {EPtiKeyQwertyI, EPtiCaseLower, 32, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 35, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 49, 5},
-        {EPtiKeyQwertyD, EPtiCaseLower, 54, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 66, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 68, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 70, 4},
-        {EPtiKeyQwertyX, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 75, 3},
-        {EPtiKeyQwertyV, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 79, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 80, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 83, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 84, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 85, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 86, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 98, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 99, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 100, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 104, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 107, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 110, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 112, 7},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 119, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 122, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 130, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 136, 4},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 140, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 148, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 154, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 156, 4},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 160, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 161, 3},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 164, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 165, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 166, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 169, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 170, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 171, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 172, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 3},
+        {EPtiKeyQwerty3, EPtiCaseLower, 5, 3},
+        {EPtiKeyQwerty4, EPtiCaseLower, 8, 3},
+        {EPtiKeyQwerty5, EPtiCaseLower, 11, 3},
+        {EPtiKeyQwerty6, EPtiCaseLower, 14, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 21, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 23, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 25, 3},
+        {EPtiKeyQwertyW, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyE, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 38, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 43, 3},
+        {EPtiKeyQwertyD, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 48, 3},
+        {EPtiKeyQwertyH, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 53, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 56, 0},
+        {0x5b, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 56, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 58, 3},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 61, 3},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 66, 3},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 69, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 71, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 73, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 75, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 76, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 80, 3},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 83, 2},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 86, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 90, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 92, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 93, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 95, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 95, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 98, 3},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 101, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 103, 3},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 111, 0},
+        {0x5b, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 111, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 111, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Czech = 88;
+const TInt KMaxStandardQwertyIndex_Czech = 92;
 
 
 //
@@ -290,48 +272,38 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Czech[] =
     {
-    13,  0x00E9,0x011B,0xF000,0x00EA,0xf000,
-    14,  0x0155,0x0159,0xF000,0xF000,0xf000,
-    15,  0xF000,0x0165,0xF000,0xF000,0xf000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xf000,
-    17,  0x00FA,0xF000,0x016F,0xF000,0xf000,
-    18,  0x00ED,0xF000,0xF000,0x00EE,0xf000,
-    19,  0x00F3,0xF000,0xF000,0x00F4,0xf000,
-    23,  0x00E1,0xF000,0x00E5,0x00E2,0xf000,
-    24,  0x015B,0x0161,0xF000,0xF000,0xf000,
-    25,  0xF000,0x010F,0xF000,0xF000,0xf000,
-    31,  0x013A,0x013E,0xF000,0xF000,0xf000,
-    34,  0x017A,0x017E,0xF000,0xF000,0xf000,
-    36,  0x0107,0x010D,0xF000,0xF000,0xf000,
-    39,  0x0144,0x0148,0xF000,0xF000,0xf000,
-    57,  0x00C9,0x011A,0xF000,0x00CA,0xf000,
-    58,  0x0154,0x0158,0xF000,0xF000,0xf000,
-    59,  0xF000,0x0164,0xF000,0xF000,0xf000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xf000,
-    61,  0x00DA,0xF000,0x016E,0xF000,0xf000,
-    62,  0x00CD,0xF000,0xF000,0x00CE,0xf000,
-    63,  0x00D3,0xF000,0xF000,0x00D4,0xf000,
-    67,  0x00C1,0xF000,0x00C5,0x00C2,0xf000,
-    68,  0x015A,0x0160,0xF000,0xF000,0xf000,
-    69,  0xF000,0x010E,0xF000,0xF000,0xf000,
-    75,  0x0139,0x013D,0xF000,0xF000,0xf000,
-    78,  0x0179,0x017D,0xF000,0xF000,0xf000,
-    80,  0x0106,0x010C,0xF000,0xF000,0xf000,
-    83,  0x0143,0x0147,0xF000,0xF000,0xf000,
+    2,  0x00E9,0x011B,0xf000,0xf000,0xf000,
+    3,  0x0155,0x0159,0xf000,0xf000,0xf000,
+    4,  0xf000,0x0165,0xf000,0xf000,0xf000,
+    5,  0x017A,0x017E,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0x0161,0xf000,0xf000,0xf000,
+    13,  0xf000,0x010F,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0x010D,0xf000,0xf000,0xf000,
+    27,  0x0144,0x0148,0xf000,0xf000,0xf000,
+    35,  0x00C9,0x011A,0xf000,0xf000,0xf000,
+    36,  0x0154,0x0158,0xf000,0xf000,0xf000,
+    37,  0xf000,0x0164,0xf000,0xf000,0xf000,
+    38,  0x0179,0x017D,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0x0160,0xf000,0xf000,0xf000,
+    46,  0xf000,0x010E,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0x010C,0xf000,0xf000,0xf000,
+    60,  0x0143,0x0147,0xf000,0xf000,0xf000,
     };
 
 const TInt KStandardQwertyDeadKeyTableRows_Czech = 28;
 
-
-//
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Czech[] =
-	{
-	{';',EPtiKeyQwertyFullstop,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Czech = 1;
 //
 // MiniQwerty keymap data table
 //
@@ -814,16 +786,3 @@
     }
 
 
-const TPtiNumericKeyBinding* CPtiLangDataImplCzech::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Czech;
-        return StandardQwertyNumericKeysData_table_Czech;
-        }
-
-    aNumEntries = 0;
-    return NULL;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
-        const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_25.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Slovak[] =
     {
-     0x23,
-     0x161,
-     0x10d,
-     0x40,
-     0x17e,
-     0xfd,
-     0xe1,
-     0xed,
-     0xe9,
-     0x22,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0x11b,0xe9,0x119,
-     0x72,0x155,0x159,
-     0x74,0x165,0x163,
-     0x79,0xfd,
-     0x75,0xfa,0x16f,0xfc,0x171,0xf9,0xfb,
-     0x69,0xed,0xee,
-     0x6f,0xf4,0xf3,0xf6,0x151,
-     0x70,
-     0xe4,
-     0x28,
-     0x61,0xe1,0x103,0xe2,0x105,0xe4,
-     0x73,0x161,0xdf,0x15b,0x15f,
-     0x64,0x10f,0x111,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x13e,0x13a,0x142,
-     0xf001,0xb4,
-     0xf002,0x2c7,
-     0x7a,0x17e,0x17a,0x17c,
-     0x78,
-     0x63,0x10d,0x107,
-     0x76,
-     0x62,
-     0x6e,0x148,0x144,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2a,
-     0x51,
-     0x57,
-     0x45,0x11a,0xc9,0x118,
-     0x52,0x154,0x158,
-     0x54,0x164,0x162,
-     0x59,0xdd,
-     0x55,0xda,0x16e,0xdc,0x170,0xd9,0xdb,
-     0x49,0xcd,0xce,
-     0x4f,0xd4,0xd3,0xd6,0x150,
-     0x50,
-     0x2f,
-     0x29,
-     0x41,0xc1,0x102,0xc2,0x104,0xc4,
-     0x53,0x160,0x15a,0x15e,
-     0x44,0x10e,0x110,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x13d,0x139,0x141,
-     0xf003,0xb0,
-     0xf004,0x5e,
-     0x5a,0x17d,0x179,0x17b,
-     0x58,
-     0x43,0x10c,0x106,
-     0x56,
-     0x42,
-     0x4e,0x147,0x143,
-     0x4d,
-     0x3f,
-     0x3a,
-     0x21,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,0x011B,
+     0x0072,0x0155,0x0159,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0x00E4,
+     0x0061,0x00E1,
+     0x0073,0x015B,0x0161,
+     0x0064,0x010F,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00F4,
+     0xF002,0x02C7,
+     0x007A,0x017A,0x017E,
+     0x0078,
+     0x0063,0x0107,0x010D,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,0x0148,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0xF001,0x00B4,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,0x011A,
+     0x0052,0x0154,0x0158,
+     0x0054,0x0164,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0x00C4,
+     0x0041,0x00C1,
+     0x0053,0x015A,0x0160,
+     0x0044,0x010D,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00D4,
+     0xF002,0x02C7,
+     0x005A,0x0179,0x017D,
+     0x0058,
+     0x0043,0x0106,0x010C,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,0x0147,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x0021,
+     0xF001,0x00B4,
     };
 
-const TInt KStandardQwertyDataSize_Slovak = 173;
+const TInt KStandardQwertyDataSize_Slovak = 109;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Slovak[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 25, 7},
-        {EPtiKeyQwertyI, EPtiCaseLower, 32, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 35, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 49, 5},
-        {EPtiKeyQwertyD, EPtiCaseLower, 54, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 66, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 68, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 70, 4},
-        {EPtiKeyQwertyX, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 75, 3},
-        {EPtiKeyQwertyV, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 79, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 80, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 83, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 84, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 85, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 86, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 98, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 99, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 100, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 104, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 107, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 110, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 112, 7},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 119, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 122, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 130, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 136, 4},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 140, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 148, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 154, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 156, 4},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 160, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 161, 3},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 164, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 165, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 166, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 169, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 170, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 171, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 172, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 3},
+        {EPtiKeyQwerty3, EPtiCaseLower, 5, 3},
+        {EPtiKeyQwerty4, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 15, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 19, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 21, 3},
+        {EPtiKeyQwertyW, EPtiCaseLower, 24, 2},
+        {EPtiKeyQwertyE, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 31, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 34, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 36, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 36, 3},
+        {EPtiKeyQwertyA, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 40, 3},
+        {EPtiKeyQwertyD, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 45, 3},
+        {EPtiKeyQwertyH, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 54, 0},
+        {0x5b, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 56, 3},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 59, 3},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 68, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 76, 3},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 79, 2},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 81, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 82, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 86, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 89, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 91, 3},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 94, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 95, 3},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 100, 3},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 107, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 109, 0},
+        {0x5b, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 109, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 109, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Slovak = 88;
+const TInt KMaxStandardQwertyIndex_Slovak = 92;
 
 
 //
@@ -290,48 +272,38 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Slovak[] =
     {
-    13,  0x00E9,0x011B,0xF000,0x00EA,0xf000,
-    14,  0x0155,0x0159,0xF000,0xF000,0xf000,
-    15,  0xF000,0x0165,0xF000,0xF000,0xf000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xf000,
-    17,  0x00FA,0xF000,0x016F,0xF000,0xf000,
-    18,  0x00ED,0xF000,0xF000,0x00EE,0xf000,
-    19,  0x00F3,0xF000,0xF000,0x00F4,0xf000,
-    23,  0x00E1,0xF000,0x00E5,0x00E2,0xf000,
-    24,  0x015B,0x0161,0xF000,0xF000,0xf000,
-    25,  0xF000,0x010F,0xF000,0xF000,0xf000,
-    31,  0x013A,0x013E,0xF000,0xF000,0xf000,
-    34,  0x017A,0x017E,0xF000,0xF000,0xf000,
-    36,  0x0107,0x010D,0xF000,0xF000,0xf000,
-    39,  0x0144,0x0148,0xF000,0xF000,0xf000,
-    57,  0x00C9,0x011A,0xF000,0x00CA,0xf000,
-    58,  0x0154,0x0158,0xF000,0xF000,0xf000,
-    59,  0xF000,0x0164,0xF000,0xF000,0xf000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xf000,
-    61,  0x00DA,0xF000,0x016E,0xF000,0xf000,
-    62,  0x00CD,0xF000,0xF000,0x00CE,0xf000,
-    63,  0x00D3,0xF000,0xF000,0x00D4,0xf000,
-    67,  0x00C1,0xF000,0x00C5,0x00C2,0xf000,
-    68,  0x015A,0x0160,0xF000,0xF000,0xf000,
-    69,  0xF000,0x010E,0xF000,0xF000,0xf000,
-    75,  0x0139,0x013D,0xF000,0xF000,0xf000,
-    78,  0x0179,0x017D,0xF000,0xF000,0xf000,
-    80,  0x0106,0x010C,0xF000,0xF000,0xf000,
-    83,  0x0143,0x0147,0xF000,0xF000,0xf000,
+    2,  0x00E9,0x011B,0xf000,0xf000,0xf000,
+    3,  0x0155,0x0159,0xf000,0xf000,0xf000,
+    4,  0xF000,0x0165,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0x0161,0xf000,0xf000,0xf000,
+    13,  0xF000,0x010F,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0x017E,0xf000,0xf000,0xf000,
+    24,  0x0107,0x010D,0xf000,0xf000,0xf000,
+    27,  0x0144,0x0148,0xf000,0xf000,0xf000,
+    35,  0x00C9,0x011A,0xf000,0xf000,0xf000,
+    36,  0x0154,0x0158,0xf000,0xf000,0xf000,
+    37,  0xF000,0x0164,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0x0160,0xf000,0xf000,0xf000,
+    46,  0xF000,0x010D,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0x017D,0xf000,0xf000,0xf000,
+    57,  0x0106,0x010C,0xf000,0xf000,0xf000,
+    60,  0x0143,0x0147,0xf000,0xf000,0xf000,
     };
 
 const TInt KStandardQwertyDeadKeyTableRows_Slovak = 28;
 
-
-//
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Slovak[] =
-	{
-	{';',EPtiKeyQwertyFullstop,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Slovak = 1;
 //
 // MiniQwerty keymap data table
 //
@@ -858,16 +830,3 @@
     }
 
 
-const TPtiNumericKeyBinding* CPtiLangDataImplSlovak::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Slovak;
-        return StandardQwertyNumericKeysData_table_Slovak;
-        }
-
-    aNumEntries = 0;
-    return NULL;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
-        const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_26.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,208 @@
 //
 const TUint16 StandardQwertyData_table_Polish[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x7e,
-     0x71,
-     0x77,
-     0x65,0x119,0xe9,0x11b,
-     0x72,0x155,0x159,
-     0x74,0x163,0x165,
-     0x79,0xfd,
-     0x75,0xfa,0xfc,0x16f,0x171,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf4,0xf6,0x151,
-     0x70,
-     0x2d,
-     0x2b,
-     0x61,0x105,0xe1,0xe2,0xe4,0x103,
-     0x73,0x15b,0x15f,0x161,0xdf,
-     0x64,0x10f,0x111,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x142,0x13e,0x13a,
-     0x3b,
-     0x27,
-     0x7a,0x17c,0x17e,0x17a,
-     0x78,0x17a,
-     0x63,0x107,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x144,0x148,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x3f,
-     0x21,
-     0x40,
-     0x20ac,
-     0x24,
-     0x25,
-     0x5f,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x5c,
-     0x51,
-     0x57,
-     0x45,0x118,0xc9,0x11a,
-     0x52,0x154,0x158,
-     0x54,0x162,0x164,
-     0x59,0xdd,
-     0x55,0xda,0xdc,0x16e,0x170,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd4,0xd6,0x150,
-     0x50,
-     0x3d,
-     0x23,
-     0x41,0x104,0xc1,0xc2,0xc4,0x102,
-     0x53,0x15a,0x15e,0x160,
-     0x44,0x10e,0x110,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x141,0x13d,0x139,
-     0x3a,
-     0x22,
-     0x5a,0x17b,0x17d,0x179,
-     0x58,0x179,
-     0x43,0x106,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x143,0x147,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x2f,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0x017C,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x0142,
+     0xF001,0x00B4,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002E,
+     0x003F,
+     0x0105,
+     0x0119,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0x017B,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x0141,
+     0xF001,0x00B4,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x002C,
+     0x0021,
+     0x0104,
+     0x0118,
     };
 
-const TInt KStandardQwertyDataSize_Polish = 167;
+const TInt KStandardQwertyDataSize_Polish = 92;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Polish[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 25, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 30, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 41, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 47, 5},
-        {EPtiKeyQwertyD, EPtiCaseLower, 52, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 66, 4},
-        {EPtiKeyQwertyX, EPtiCaseLower, 70, 2},
-        {EPtiKeyQwertyC, EPtiCaseLower, 72, 3},
-        {EPtiKeyQwertyV, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 77, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 80, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 81, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 82, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 83, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 97, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 101, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 104, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 107, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 109, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 114, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 117, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 125, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 131, 4},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 135, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 143, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 148, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 149, 4},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 153, 2},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 155, 3},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 158, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 159, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 160, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 163, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 164, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 165, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 166, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 17, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 19, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 27, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 30, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 63, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 65, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 73, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 75, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 76, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Polish = 88;
+const TInt KMaxStandardQwertyIndex_Polish = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_Polish[] =
+    {
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_Polish = 24;
 
 //
 // MiniQwerty keymap data table
@@ -539,3 +555,16 @@
     }
 
 
+const TUint16* CPtiLangDataImplPolish::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Polish;
+        return StandardQwertyDeadKeyData_table_Polish;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,6 +42,7 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_27.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Slovenian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0xe9,0x119,0x11b,
-     0x72,0x155,0x159,
-     0x74,0x163,0x165,
-     0x7a,0x17a,0x17c,
-     0x75,0xfa,0xfc,0x16f,0x171,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf4,0xf6,0x151,
-     0x70,
-     0x161,0x111,
-     0x2b,
-     0x61,0xe1,0xe2,0xe4,0x103,0x105,
-     0x73,0xdf,0x15b,0x15f,
-     0x64,0x10f,0x111,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x142,0x13e,0x13a,
-     0x10d,
-     0x107,
-     0x79,0xfd,
-     0x78,
-     0x63,
-     0x76,
-     0x62,
-     0x6e,0x144,0x148,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x17e,
-     0x21,
-     0x22,
-     0x23,
-     0x24,
-     0x40,
-     0x27,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0x118,0x11a,
-     0x52,0x154,0x158,
-     0x54,0x162,0x164,
-     0x5a,0x179,0x17b,
-     0x55,0xda,0xdc,0x16e,0x170,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd4,0xd6,0x150,
-     0x50,
-     0x160,0x110,
-     0x2a,
-     0x41,0xc1,0xc2,0xc4,0x102,0x104,
-     0x53,0x15a,0x15e,
-     0x44,0x10e,0x110,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x141,0x13d,0x139,
-     0x10c,
-     0x106,
-     0x59,0xdd,
-     0x58,
-     0x43,
-     0x56,
-     0x42,
-     0x4e,0x143,0x147,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x17d,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x007A,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0161,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x010D,
+     0x017E,
+     0x0079,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x005A,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0160,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x010C,
+     0x017D,
+     0x0059,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x0027,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Slovenian = 159;
+const TInt KStandardQwertyDataSize_Slovenian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Slovenian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 3},
-        {EPtiKeyQwertyU, EPtiCaseLower, 26, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 31, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 34, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 49, 4},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 61, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 79, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 93, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 100, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 103, 3},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 106, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 111, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 114, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 119, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 120, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 123, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 129, 3},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 132, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 140, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 2},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 148, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 149, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 152, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 157, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 158, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Slovenian = 88;
+const TInt KMaxStandardQwertyIndex_Slovenian = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_28.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -186,6 +186,7 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_TaiwanChinese[] =
     {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 0},
         {EPtiKeyQwerty1, EPtiCaseLower, 0, 6},
         {EPtiKeyQwerty2, EPtiCaseLower, 6, 6},
         {EPtiKeyQwerty3, EPtiCaseLower, 12, 6},
@@ -220,6 +221,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 140, 4},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 144, 8},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 152, 8},
+        {0x5b, EPtiCaseLower, 160, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 160, 2},
         {EPtiKeyQwertyX, EPtiCaseLower, 162, 2},
         {EPtiKeyQwertyC, EPtiCaseLower, 164, 2},
@@ -230,6 +232,7 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 174, 8},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 182, 8},
         {EPtiKeyQwertySlash, EPtiCaseLower, 190, 8},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 198, 0},
         {EPtiKeyQwerty1, EPtiCaseUpper, 198, 4},
         {EPtiKeyQwerty2, EPtiCaseUpper, 202, 4},
         {EPtiKeyQwerty3, EPtiCaseUpper, 206, 4},
@@ -264,6 +267,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 257, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 258, 4},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 262, 4},
+        {0x5b, EPtiCaseUpper, 266, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 266, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 267, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 268, 1},
@@ -276,7 +280,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 281, 4},
     };
 
-const TInt KMaxStandardQwertyIndex_TaiwanChinese = 88;
+const TInt KMaxStandardQwertyIndex_TaiwanChinese = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_29.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -177,6 +177,7 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_HongKongChinese[] =
     {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 0},
         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
@@ -211,6 +212,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 92, 4},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 96, 8},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 104, 8},
+        {0x5b, EPtiCaseLower, 112, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 112, 2},
         {EPtiKeyQwertyX, EPtiCaseLower, 114, 2},
         {EPtiKeyQwertyC, EPtiCaseLower, 116, 2},
@@ -221,6 +223,7 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 126, 8},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 134, 8},
         {EPtiKeyQwertySlash, EPtiCaseLower, 142, 8},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 150, 0},
         {EPtiKeyQwerty1, EPtiCaseUpper, 150, 1},
         {EPtiKeyQwerty2, EPtiCaseUpper, 151, 1},
         {EPtiKeyQwerty3, EPtiCaseUpper, 152, 1},
@@ -255,6 +258,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 180, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 181, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 182, 1},
+        {0x5b, EPtiCaseUpper, 183, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 183, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 184, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 185, 1},
@@ -267,7 +271,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 192, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_HongKongChinese = 88;
+const TInt KMaxStandardQwertyIndex_HongKongChinese = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -178,6 +178,7 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_PrcChinese[] =
     {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 0},
         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
@@ -212,6 +213,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 92, 4},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 96, 8},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 104, 8},
+        {0x5b, EPtiCaseLower, 112, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 112, 2},
         {EPtiKeyQwertyX, EPtiCaseLower, 114, 2},
         {EPtiKeyQwertyC, EPtiCaseLower, 116, 2},
@@ -222,6 +224,7 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 126, 8},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 134, 8},
         {EPtiKeyQwertySlash, EPtiCaseLower, 142, 8},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 150, 0},
         {EPtiKeyQwerty1, EPtiCaseUpper, 150, 1},
         {EPtiKeyQwerty2, EPtiCaseUpper, 151, 1},
         {EPtiKeyQwerty3, EPtiCaseUpper, 152, 1},
@@ -256,6 +259,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 180, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 181, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 182, 1},
+        {0x5b, EPtiCaseUpper, 183, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 183, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 184, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 185, 1},
@@ -268,7 +272,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 192, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_PrcChinese = 88;
+const TInt KMaxStandardQwertyIndex_PrcChinese = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_31.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -99,94 +99,94 @@
 //
 const TUint16 StandardQwertyData_table_Thai[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0xe46,
-     0xe44,
-     0xe33,
-     0xe1e,
-     0xe30,
-     0xe31,
-     0xe35,
-     0xe23,
-     0xe19,
-     0xe22,
-     0xe1a,
-     0x2c,
-     0xe1f,
-     0xe2b,
-     0xe01,
-     0xe14,
-     0xe40,
-     0xe49,
-     0xe48,
-     0xe32,
-     0xe2a,
-     0xe27,
-     0xe07,
-     0xe1c,
-     0xe1b,
-     0xe41,
-     0xe2d,
-     0xe34,
-     0xe37,
-     0xe17,
-     0xe21,
-     0xe43,
-     0xe1d,
-     0xe45,
-     0x40,
-     0xe20,
-     0xe16,
-     0xe39,
-     0xe38,
-     0xe36,
-     0xe04,
-     0xe15,
-     0xe08,
-     0x21,
-     0xe02,
-     0xe0a,
-     0xe0e,
-     0xe11,
-     0xe18,
-     0xe4d,
-     0xe4a,
-     0xe13,
-     0xe2f,
-     0xe0d,
-     0xe10,
-     0x2e,
-     0xe25,
-     0xe06,
-     0xe0f,
-     0xe42,
-     0xe0c,
-     0xe47,
-     0xe4b,
-     0xe29,
-     0xe28,
-     0xe0b,
-     0x22,
-     0xe1c,
-     0xe1b,
-     0xe09,
-     0xe2e,
-     0xe34,
-     0xe4c,
-     0xe17,
-     0xe12,
-     0xe2c,
-     0x2f,
+     0x0E45,
+     0x0E3F,
+     0x0E20,
+     0x0E16,
+     0x0E39,
+     0x0E38,
+     0x0E36,
+     0x0E04,
+     0x0E15,
+     0x0E08,
+     0x002F,
+     0x0E46,
+     0x0E44,
+     0x0E33,
+     0x0E1E,
+     0x0E30,
+     0x0E31,
+     0x0E35,
+     0x0E23,
+     0x0E19,
+     0x0E22,
+     0x0E1A,
+     0x0E1F,
+     0x0E2B,
+     0x0E01,
+     0x0E14,
+     0x0E40,
+     0x0E49,
+     0x0E48,
+     0x0E32,
+     0x0E2A,
+     0x0E27,
+     0x0E07,
+     0x0E1C,
+     0x0E1B,
+     0x0E41,
+     0x0E2D,
+     0x0E34,
+     0x0E37,
+     0x0E17,
+     0x0E21,
+     0x0E43,
+     0x0E1D,
+     0x0E03,
+     0x0E45,
+     0x0E3F,
+     0x0E20,
+     0x0E4E,
+     0x0E3A,
+     0x0E24,
+     0x0E26,
+     0x0E04,
+     0x0E15,
+     0x0E08,
+     0x002F,
+     0x0E02,
+     0x0E0A,
+     0x0E0E,
+     0x0E11,
+     0x0E18,
+     0x0E4D,
+     0x0E4A,
+     0x0E13,
+     0x0E2F,
+     0x0E0D,
+     0x0E10,
+     0x0E25,
+     0x0E06,
+     0x0E0F,
+     0x0E42,
+     0x0E0C,
+     0x0E47,
+     0x0E4B,
+     0x0E29,
+     0x0E28,
+     0x0E0B,
+     0x201D,
+     0x003F,
+     0x0021,
+     0x0E09,
+     0x0E2E,
+     0x003A,
+     0x0E4C,
+     0x0E05,
+     0x0E12,
+     0x0E2C,
+     0x002C,
+     0x002E,
     };
 
 const TInt KStandardQwertyDataSize_Thai = 88;
@@ -194,28 +194,29 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Thai[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -227,7 +228,8 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 1},
         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
@@ -238,28 +240,29 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 66, 0},
         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
@@ -271,7 +274,8 @@
         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 0},
+        {0x5b, EPtiCaseUpper, 77, 1},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
@@ -284,7 +288,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_Thai = 88;
+const TInt KMaxStandardQwertyIndex_Thai = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Arabic[] =
     {
-     0x0031,
-     0x0032,
-     0x0033,
-     0x0034,
-     0x0035,
-     0x0036,
-     0x0037,
-     0x0038,
-     0x0039,
-     0x0030,
-     0x002d,
      0x0636,
      0x0635,
-     0x062b,
+     0x062B,
      0x0642,
      0x0641,
-     0x063a,
+     0x063A,
      0x0639,
      0x0647,
-     0x062e,
-     0x062d,
-     0x062c,
-     0x002b,
+     0x062E,
+     0x062D,
+     0x062C,
      0x0634,
      0x0633,
-     0x064a,
+     0x064A,
      0x0628,
      0x0644,
      0x0627,
-     0x062a,
+     0x062A,
      0x0646,
      0x0645,
      0x0643,
-     0x0637,
+     0x062F,
      0x0626,
      0x0621,
      0x0624,
      0x0631,
-     0xfefb,
      0x0649,
      0x0629,
      0x0648,
      0x0632,
      0x0638,
-     0x0021,
-     0x0022,
-     0x20ac,
-     0x0024,
-     0x0025,
-     0x0026,
-     0x002a,
+     0x0637,
+     0x0630,
      0x0029,
      0x0028,
-     0x003d,
-     0x0040,
-     0x0636,
-     0x0635,
-     0x062b,
-     0x0642,
-     0xfef9,
+     0x005C,
+     0x0644,0x0622,
+     0x0644,0x0627,
      0x0625,
-     0x0639,
-     0x0647,
-     0x062e,
-     0x061b,
-     0x062f,
-     0x0023,
-     0x0634,
-     0x0633,
-     0x064a,
-     0x0628,
-     0x0fef7,
+     0x0022,
+     0x0027,
+     0x061B,
+     0x060C,
+     0x002E,
+     0x005D,
+     0x005B,
+     0x002D,
+     0x002B,
+     0x0644,0x0625,
      0x0623,
-     0x062a,
-     0x0646,
-     0x0645,
-     0x003a,
-     0x0630,
-     0x0626,
-     0x0621,
-     0x0624,
-     0x0631,
-     0xfef5,
+     0x201D,
+     0x201E,
+     0x003B,
+     0x003A,
+     0x002C,
+     0x003E,
+     0x003C,
+     0x00A7,
+     0x003D,
+     0x0644,0x0623,
      0x0622,
-     0x0629,
-     0x060c,
-     0x002e,
-     0x061f,
+     0x0026,
+     0x0640,
+     0x003F,
+     0x0021,
+     0x061F,
     };
 
-const TInt KStandardQwertyDataSize_Arabic = 88;
+const TInt KStandardQwertyDataSize_Arabic = 70;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,82 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 38, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 58, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 70, 0},
+        {0x5b, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 70, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 70, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Arabic = 88;
-
+const TInt KMaxStandardQwertyIndex_Arabic = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Arabic[] =
-	{
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{';',EPtiKeyQwertySemicolon,EPtiCaseLower},
-	{',',EPtiKeyQwertyComma,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
-	{'/',EPtiKeyQwertySlash,EPtiCaseLower},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Arabic = 7;
-//
 // MiniQwerty keymap data table
 //
 const TUint16 MiniQwertyData_table_Arabic[] =
@@ -776,12 +742,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Arabic;
-        return StandardQwertyNumericKeysData_table_Arabic;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic;
@@ -799,10 +759,3 @@
     }
 
 
-
-TBool CPtiLangDataImplArabic::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,168 @@
 //
 const TUint16 StandardQwertyData_table_Tagalog[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xea,0xeb,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xf9,0xfa,0xfb,0xfc,
-     0x69,0xec,0xed,0xee,0xef,
-     0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,
-     0x70,
-     0x2d,
-     0x23,
-     0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x3b,
-     0x27,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x22,
-     0xa3,
-     0x24,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xca,0xcb,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xd9,0xda,0xdb,0xdc,
-     0x49,0xcc,0xcd,0xce,0xcf,
-     0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,
-     0x50,
-     0x5f,
-     0x7e,
-     0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x3a,
-     0x40,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002F,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
     };
 
-const TInt KStandardQwertyDataSize_Tagalog = 149;
+const TInt KStandardQwertyDataSize_Tagalog = 60;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Tagalog[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 0},
         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
-        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 30, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 31, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 32, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 40, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 60, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Tagalog = 88;
+const TInt KMaxStandardQwertyIndex_Tagalog = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_39.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Bulgarian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2c,
-     0x443,
-     0x435,
-     0x438,
-     0x448,
-     0x449,
-     0x43a,
-     0x441,
-     0x434,
-     0x437,
-     0x446,
-     0x2e,
-     0x44c,
-     0x44f,
-     0x430,
-     0x43e,
-     0x436,
-     0x433,
-     0x442,
-     0x43d,
-     0x432,
-     0x43c,
-     0x447,
-     0x28,
-     0x44e,
-     0x439,
-     0x44a,
-     0x44d,
-     0x444,
-     0x445,
-     0x43f,
-     0x440,
-     0x43b,
-     0x431,
-     0x21,
-     0x3f,
-     0x2b,
-     0x22,
-     0x25,
-     0x3d,
-     0x3a,
-     0x2f,
-     0x5f,
-     0x3b,
-     0x44b,
-     0x423,
-     0x415,
-     0x418,
-     0x428,
-     0x429,
-     0x41a,
-     0x421,
-     0x414,
-     0x417,
-     0x426,
-     0x2d,
-     0x42c,
-     0x42f,
-     0x410,
-     0x41e,
-     0x416,
-     0x413,
-     0x422,
-     0x41d,
-     0x412,
-     0x41c,
-     0x427,
-     0x29,
-     0x42e,
-     0x419,
-     0x42a,
-     0x42d,
-     0x424,
-     0x425,
-     0x41f,
-     0x420,
-     0x41b,
-     0x411,
+     0x002C,
+     0x0443,
+     0x0435,
+     0x0438,
+     0x0448,
+     0x0449,
+     0x043A,
+     0x0441,
+     0x0434,
+     0x0437,
+     0x0446,
+     0x044C,
+     0x044F,
+     0x0430,
+     0x043E,
+     0x0436,
+     0x0433,
+     0x0442,
+     0x043D,
+     0x0432,
+     0x043C,
+     0x0447,
+     0x044E,
+     0x0439,
+     0x044A,
+     0x044D,
+     0x0444,
+     0x0445,
+     0x043F,
+     0x0440,
+     0x043B,
+     0x0431,
+     0x002E,
+     0x044B,
+     0x0423,
+     0x0415,
+     0x0418,
+     0x0428,
+     0x0429,
+     0x041A,
+     0x0421,
+     0x0414,
+     0x0417,
+     0x0426,
+     0x042C,
+     0x042F,
+     0x0410,
+     0x041E,
+     0x0416,
+     0x0413,
+     0x0422,
+     0x041D,
+     0x0412,
+     0x041C,
+     0x0427,
+     0x042E,
+     0x0419,
+     0x042A,
+     0x042D,
+     0x0424,
+     0x0425,
+     0x041F,
+     0x0420,
+     0x041B,
+     0x0411,
+     0x003F,
     };
 
-const TInt KStandardQwertyDataSize_Bulgarian = 88;
+const TInt KStandardQwertyDataSize_Bulgarian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Bulgarian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,80 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Bulgarian = 88;
-
+const TInt KMaxStandardQwertyIndex_Bulgarian = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Bulgarian[] =
-	{
-	{'*',EPtiKeyQwerty8,EPtiCaseUpper},
-	{'#',EPtiKeyQwertyHash,EPtiCaseLower},
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Bulgarian = 5;
-//
 // Class implementation.
 //
 
@@ -350,23 +318,3 @@
     }
 
 
-const TPtiNumericKeyBinding* CPtiLangDataImplBulgarian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Bulgarian;
-        return StandardQwertyNumericKeysData_table_Bulgarian;
-        }
-
-    aNumEntries = 0;
-    return NULL;
-    }
-
-
-
-TBool CPtiLangDataImplBulgarian::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,8 +42,6 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
-        const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_42.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Catalan[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3f,
-     0x71,
-     0x77,
-     0x65,0xe9,0xeb,0xe8,0xea,
-     0x72,
-     0x74,0xfe,
-     0x79,
-     0x75,0xfc,0xfa,0xf9,0xfb,
-     0x69,0xed,0xef,0xec,0xee,
-     0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8,
-     0x70,
-     0xf001,0xb4,
-     0xbf,
-     0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0xf1,0xe7,
-     0xf005,0x7e,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x40,
-     0x22,
-     0x23,
-     0x2b,
-     0x3d,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x27,
-     0x21,
-     0x51,
-     0x57,
-     0x45,0xc9,0xcb,0xc8,0xca,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xdc,0xda,0xd9,0xdb,
-     0x49,0xcd,0xcf,0xcc,0xce,
-     0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8,
-     0x50,
-     0xf002,0xa8,
-     0xa1,
-     0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0xd1,0xc7,
-     0xf004,0x5e,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xf003,0x60,
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x0140,
+     0x00E7,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x013F,
+     0x00C7,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x00BF,
+     0x00A1,
     };
 
-const TInt KStandardQwertyDataSize_Catalan = 159;
+const TInt KStandardQwertyDataSize_Catalan = 92;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Catalan[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 27, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 8},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
-        {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 73, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 92, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 100, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 102, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 107, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 8},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 121, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 124, 9},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 142, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 148, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 152, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 154, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 155, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 156, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 157, 2},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 20, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Catalan = 88;
+const TInt KMaxStandardQwertyIndex_Catalan = 92;
 
 
 //
@@ -290,23 +272,33 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Catalan[] =
     {
-    13,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
-    16,  0x00FD,0xF000,0xF000,0xF000,0xF000,
-    17,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
-    18,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
-    19,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
-    23,  0x00E1,0x00E4,0x00E0,0x00E2,0x00E3,
-    39,  0xF000,0xF000,0xF000,0xF000,0x00F1,
-    57,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
-    60,  0x00DD,0xF000,0xF000,0xF000,0xF000,
-    61,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
-    62,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
-    63,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
-    67,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
-    83,  0xF000,0xF000,0xF000,0xF000,0x00D1,
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Catalan = 14;
+const TInt KStandardQwertyDeadKeyTableRows_Catalan = 24;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Croatian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0xe9,0x119,0x11b,
-     0x72,0x155,0x159,
-     0x74,0x163,0x165,
-     0x7a,0x17a,0x17c,
-     0x75,0xfa,0xfc,0x16f,0x171,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf4,0xf6,0x151,
-     0x70,
-     0x161,0x111,
-     0x2b,
-     0x61,0xe1,0xe2,0xe4,0x103,0x105,
-     0x73,0xdf,0x15b,0x15f,
-     0x64,0x111,0x10f,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x142,
-     0x10d,
-     0x107,
-     0x79,0xfd,
-     0x78,
-     0x63,
-     0x76,
-     0x62,
-     0x6e,0x144,0x148,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x17e,
-     0x21,
-     0x22,
-     0x23,
-     0x24,
-     0x40,
-     0x27,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc9,0x118,0x11a,
-     0x52,0x154,0x158,
-     0x54,0x162,0x164,
-     0x5a,0x179,0x17b,
-     0x55,0xda,0xdc,0x16e,0x170,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd4,0xd6,0x150,
-     0x50,
-     0x160,0x110,
-     0x2a,
-     0x41,0xc1,0xc2,0xc4,0x102,0x104,
-     0x53,0x15a,0x15e,
-     0x44,0x110,0x10e,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x141,
-     0x10c,
-     0x106,
-     0x59,0xdd,
-     0x58,
-     0x43,
-     0x56,
-     0x42,
-     0x4e,0x143,0x147,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x17d,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x007A,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0161,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x010D,
+     0x0107,
+     0x0079,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002E,
+     0x003F,
+     0x017E,
+     0x0111,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x005A,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0160,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x010C,
+     0x0106,
+     0x0059,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002C,
+     0x0021,
+     0x017D,
+     0x0110,
     };
 
-const TInt KStandardQwertyDataSize_Croatian = 155;
+const TInt KStandardQwertyDataSize_Croatian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Croatian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 3},
-        {EPtiKeyQwertyU, EPtiCaseLower, 26, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 31, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 34, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 40, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 49, 4},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 61, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 71, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 75, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 76, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 91, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 95, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 101, 3},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 104, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 109, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 112, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 121, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 127, 3},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 130, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 138, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 142, 2},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 148, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 151, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 152, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 153, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 154, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Croatian = 88;
+const TInt KMaxStandardQwertyIndex_Croatian = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_45.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,204 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Estonian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x40,
-     0x71,
-     0x77,
-     0x65,0xe9,0x113,0x117,0x119,
-     0x72,0x157,
-     0x74,
-     0x7a,0x17e,
-     0x75,0x16b,0x173,
-     0x69,0x12b,0x12f,
-     0x6f,0xf5,0xf8,
-     0x70,
-     0xfc,
-     0x2b,
-     0x61,0x101,0x105,0xe5,0xe6,
-     0x73,0x161,0xdf,
-     0x64,
-     0x66,
-     0x67,0x123,
-     0x68,
-     0x6a,
-     0x6b,0x137,
-     0x6c,0x13c,
-     0xf6,
-     0xe4,
-     0x79,
-     0x78,
-     0x63,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x146,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2d,
-     0x21,
-     0x22,
-     0x20ac,
-     0x2a,
-     0x2f,
-     0x28,
-     0x29,
-     0x3d,
-     0x3f,
-     0xdf,
-     0xf001,0x7e,
-     0x51,
-     0x57,
-     0x45,0xc9,0x112,0x116,0x118,
-     0x52,0x156,
-     0x54,
-     0x5a,0x17d,
-     0x55,0x16a,0x172,
-     0x49,0x12a,0x12e,
-     0x4f,0xd5,0xd8,
-     0x50,
-     0xdc,
-     0x23,
-     0x41,0x100,0x104,0xc5,0xc6,
-     0x53,0x160,
-     0x44,
-     0x46,
-     0x47,0x122,
-     0x48,
-     0x4a,
-     0x4b,0x136,
-     0x4c,0x13b,
-     0xd6,
-     0xc4,
-     0x59,
-     0x58,
-     0x43,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x145,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x27,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x00FC,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00F6,
+     0x00E4,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x00F5,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x00DC,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00D6,
+     0x00C4,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x0021,
+     0x00D5,
     };
 
-const TInt KStandardQwertyDataSize_Estonian = 134;
+const TInt KStandardQwertyDataSize_Estonian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Estonian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 2},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 3},
-        {EPtiKeyQwertyI, EPtiCaseLower, 26, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 29, 3},
-        {EPtiKeyQwertyP, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 35, 5},
-        {EPtiKeyQwertyS, EPtiCaseLower, 40, 3},
-        {EPtiKeyQwertyD, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 45, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 48, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 49, 2},
-        {EPtiKeyQwertyL, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 57, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 61, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 77, 2},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 81, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 86, 2},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 89, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 91, 3},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 94, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 97, 3},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 100, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 101, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 102, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 108, 2},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 110, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 112, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 116, 2},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 122, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 124, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 128, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 133, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Estonian = 88;
-
-
-//
-// Dead key data table for StandardQwerty
-//
-const TUint16 StandardQwertyDeadKeyData_table_Estonian[] =
-    {
-    19,  0x00f5,0xf000,0xf000,0xf000,0xf000,
-    63,  0x00d5,0xf000,0xf000,0xf000,0xf000,
-    };
-
-const TInt KStandardQwertyDeadKeyTableRows_Estonian = 2;
+const TInt KMaxStandardQwertyIndex_Estonian = 92;
 
 //
 // MiniQwerty keymap data table
@@ -752,16 +722,3 @@
     }
 
 
-const TUint16* CPtiLangDataImplEstonian::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Estonian;
-        return StandardQwertyDeadKeyData_table_Estonian;
-        }
-
-    aNumRowsInArray = 0;
-    return NULL;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,7 +42,6 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
-        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Farsi[] =
     {
-     0x6f1,
-     0x6f2,
-     0x6f3,
-     0x6f4,
-     0x6f5,
-     0x6f6,
-     0x6f7,
-     0x6f8,
-     0x6f9,
-     0x6f0,
-     0x636,
-     0x635,
-     0x62b,
-     0x642,
-     0x641,
-     0x63a,
-     0x639,
-     0x647,
-     0x62e,
-     0x62d,
-     0x62c,
-     0x686,
-     0x634,
-     0x633,
-     0x6cc,
-     0x628,
-     0x644,
-     0x627,
-     0x62a,
-     0x646,
-     0x645,
-     0x6a9,
-     0x6af,
-     0x40,
-     0x638,
-     0x637,
-     0x632,
-     0x631,
-     0x630,
-     0x62f,
-     0x67e,
-     0x648,
-     0x2e,
-     0x2f,
-     0x66c,
-     0x66b,
-     0xfdfc,
-     0x66a,
-     0x3d,
-     0x21,
-     0x2a,
-     0x2d,
-     0x2b,
-     0x640,
-     0x636,
-     0x635,
-     0x62b,
-     0x642,
-     0x641,
-     0x63a,
-     0x28,
-     0x28,
-     0x7d,
-     0x7b,
-     0x5c,
-     0x7c,
-     0x624,
-     0x626,
-     0x64a,
-     0x625,
-     0x623,
-     0x622,
-     0x629,
-     0xbb,
-     0xab,
-     0x3a,
-     0x61b,
-     0x60c,
-     0x643,
-     0x637,
-     0x698,
-     0x631,
-     0x200c,
-     0x200d,
-     0x621,
-     0x3e,
-     0x3c,
-     0x61f,
+     0x0636,
+     0x0635,
+     0x062B,
+     0x0642,
+     0x0641,
+     0x063A,
+     0x0639,
+     0x0647,
+     0x062E,
+     0x062D,
+     0x062C,
+     0x0634,
+     0x0633,
+     0x06CC,
+     0x0628,
+     0x0644,
+     0x0627,
+     0x062A,
+     0x0646,
+     0x0645,
+     0x06A9,
+     0x0686,
+     0x0638,
+     0x0637,
+     0x0698,
+     0x0632,
+     0x0631,
+     0x0630,
+     0x062F,
+     0x0648,
+     0x002E,
+     0x067E,
+     0x06AF,
+     0x066C,
+     0x066B,
+     0xFDFC,
+     0x066A,
+     0x003D,
+     0x0021,
+     0x002A,
+     0x002D,
+     0x002B,
+     0x0640,
+     0x060C,
+     0x0624,
+     0x0626,
+     0x064A,
+     0x0625,
+     0x0623,
+     0x0622,
+     0x0629,
+     0x003E,
+     0x003C,
+     0x003A,
+     0x061B,
+     0x0643,
+     0x0621,
+     0x201D,
+     0x201E,
+     0x200C,
+     0x200D,
+     0x0022,
+     0x0027,
+     0x061F,
+     0x0029,
+     0x0028,
     };
 
-const TInt KStandardQwertyDataSize_Farsi = 88;
+const TInt KStandardQwertyDataSize_Farsi = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Farsi[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,89 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Farsi = 88;
-
+const TInt KMaxStandardQwertyIndex_Farsi = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Farsi[] =
-	{
-	{'#',EPtiKeyQwertyHash,EPtiCaseLower},
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'1',EPtiKeyQwerty1,EPtiCaseLower},
-	{'2',EPtiKeyQwerty2,EPtiCaseLower},
-	{'3',EPtiKeyQwerty3,EPtiCaseLower},
-	{'4',EPtiKeyQwerty4,EPtiCaseLower},
-	{'5',EPtiKeyQwerty5,EPtiCaseLower},
-	{'6',EPtiKeyQwerty6,EPtiCaseLower},
-	{'7',EPtiKeyQwerty7,EPtiCaseLower},
-	{'8',EPtiKeyQwerty8,EPtiCaseLower},
-	{'9',EPtiKeyQwerty9,EPtiCaseLower},
-	{'0',EPtiKeyQwerty0,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Farsi = 14;
-//
 // MiniQwerty keymap data table
 //
 const TUint16 MiniQwertyData_table_Farsi[] =
@@ -578,12 +537,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplFarsi::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Farsi;
-        return StandardQwertyNumericKeysData_table_Farsi;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Farsi;
@@ -595,10 +548,3 @@
     }
 
 
-
-TBool CPtiLangDataImplFarsi::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,771 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <PtiKeyMapData.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_51.h"
+
+//
+// Multitap keymap data table
+//
+const TUint16 MultitapData_table_French[] =
+    {
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x61,0x62,0x63,0x32,0xe0,0xe2,0xe6,0xe7,0xe4,0xe1,0xe3,
+     0x64,0x65,0x66,0x33,0xe9,0xe8,0xea,0xeb,
+     0x67,0x68,0x69,0x34,0xef,0xee,0xec,0xed,0x11f,0x131,
+     0x6a,0x6b,0x6c,0x35,
+     0x6d,0x6e,0x6f,0x36,0xf4,0x153,0xf6,0xf1,0xf2,0xf3,0xf8,
+     0x70,0x71,0x72,0x73,0x37,0x24,0xdf,
+     0x74,0x75,0x76,0x38,0xf9,0xfb,0xfc,0xfa,
+     0x77,0x78,0x79,0x7a,0x39,
+     0x20,0x30,0x21b2,
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x41,0x42,0x43,0x32,0xc0,0xc2,0xc6,0xc7,0xc4,0xc1,0xc3,
+     0x44,0x45,0x46,0x33,0xc9,0xc8,0xca,0xcb,
+     0x47,0x48,0x49,0x34,0xcf,0xce,0xcc,0xcd,0x11e,0x130,
+     0x4a,0x4b,0x4c,0x35,
+     0x4d,0x4e,0x4f,0x36,0xd4,0x152,0xd6,0xd1,0xd2,0xd3,0xd8,
+     0x50,0x51,0x52,0x53,0x37,0x24,
+     0x54,0x55,0x56,0x38,0xd9,0xdb,0xdc,0xda,
+     0x57,0x58,0x59,0x5a,0x39,
+     0x20,0x30,0x21b2,
+    };
+
+const TInt KMultitapDataSize_French = 193;
+
+
+const TPtiKeyBinding MultitapKeyBindings_table_French[] =
+    {
+        {EPtiKey1, EPtiCaseLower, 0, 30},
+        {EPtiKey2, EPtiCaseLower, 30, 11},
+        {EPtiKey3, EPtiCaseLower, 41, 8},
+        {EPtiKey4, EPtiCaseLower, 49, 10},
+        {EPtiKey5, EPtiCaseLower, 59, 4},
+        {EPtiKey6, EPtiCaseLower, 63, 11},
+        {EPtiKey7, EPtiCaseLower, 74, 7},
+        {EPtiKey8, EPtiCaseLower, 81, 8},
+        {EPtiKey9, EPtiCaseLower, 89, 5},
+        {EPtiKeyStar, EPtiCaseLower, 94, 0},
+        {EPtiKey0, EPtiCaseLower, 94, 3},
+        {EPtiKeyHash, EPtiCaseLower, 97, 0},
+        {EPtiKey1, EPtiCaseUpper, 97, 30},
+        {EPtiKey2, EPtiCaseUpper, 127, 11},
+        {EPtiKey3, EPtiCaseUpper, 138, 8},
+        {EPtiKey4, EPtiCaseUpper, 146, 10},
+        {EPtiKey5, EPtiCaseUpper, 156, 4},
+        {EPtiKey6, EPtiCaseUpper, 160, 11},
+        {EPtiKey7, EPtiCaseUpper, 171, 6},
+        {EPtiKey8, EPtiCaseUpper, 177, 8},
+        {EPtiKey9, EPtiCaseUpper, 185, 5},
+        {EPtiKeyStar, EPtiCaseUpper, 190, 0},
+        {EPtiKey0, EPtiCaseUpper, 190, 3},
+        {EPtiKeyHash, EPtiCaseUpper, 193, 0},
+    };
+
+const TInt KMaxMultitapIndex_French = 24;
+
+//
+// StandardQwerty keymap data table
+//
+const TUint16 StandardQwertyData_table_French[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00ea,0x00e8,0x00eb,0x00e9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00ff,0x00fd,
+     0x0075,0x00fb,0x00f9,0x00fc,0x00fa,
+     0x0069,0x00ee,0x00ec,0x00ef,0x00ed,
+     0x006F,0x00f4,0x00f2,0x00F6,0x00f3,
+     0x0070,
+     0xF001,0x005E,
+     0x0061,0x00E2,0x00E0,0x00E1,
+     0x0073,0x015b,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013a,
+     0xF004,0x00B4,
+     0xF002,0x0060,
+     0x007A,0x017a,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002E,
+     0x003F,
+     0x00E7,
+     0xF003,0x00A8,
+     0x0051,
+     0x0057,
+     0x0045,0x00ca,0x00c8,0x00cb,0x00c9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x0178,0x00dd,
+     0x0055,0x00db,0x00d9,0x00dc,0x00da,
+     0x0049,0x00ce,0x00cc,0x00cf,0x00cd,
+     0x004F,0x00d4,0x00d2,0x00D6,0x00d3,
+     0x0050,
+     0xF001,0x005E,
+     0x0041,0x00C2,0x00C0,0x00C1,
+     0x0053,0x015a,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0xF004,0x00B4,
+     0xF002,0x0060,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x002C,
+     0x0027,
+     0x00C7,
+     0xF003,0x00A8,
+    };
+
+const TInt KStandardQwertyDataSize_French = 128;
+
+
+const TPtiKeyBinding StandardQwertyKeyBindings_table_French[] =
+    {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwerty3, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 10, 3},
+        {EPtiKeyQwerty6, EPtiCaseLower, 13, 5},
+        {EPtiKeyQwerty7, EPtiCaseLower, 18, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 23, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 29, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 31, 4},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 43, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 45, 2},
+        {EPtiKeyQwertyP, EPtiCaseLower, 47, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 49, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 49, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 56, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 58, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 59, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 60, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 61, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 62, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 64, 0},
+        {0x5b, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 64, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 66, 5},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 71, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 74, 3},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 77, 5},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 82, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 87, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 92, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 93, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 95, 4},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 99, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 101, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 107, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 109, 2},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 111, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 113, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 113, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 118, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 119, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 122, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 123, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 124, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 125, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 126, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 128, 0},
+        {0x5b, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 128, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 128, 0},
+    };
+
+const TInt KMaxStandardQwertyIndex_French = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_French[] =
+    {
+    2,  0x00ea,0x00e8,0x00eb,0x00e9,0xf000,
+    3,  0xf000,0xf000,0xf000,0x0155,0xf000,
+    5,  0xf000,0xf000,0x00ff,0x00fd,0xf000,
+    6,  0x00fb,0x00f9,0x00fc,0x00fa,0xf000,
+    7,  0x00ee,0x00ec,0x00ef,0x00ed,0xf000,
+    8,  0x00f4,0x00f2,0x00F6,0x00f3,0xf000,
+    11,  0x00E2,0x00E0,0xF000,0x00E1,0xF000,
+    12,  0xf000,0xf000,0xf000,0x015b,0xf000,
+    19,  0xf000,0xf000,0xf000,0x013a,0xf000,
+    22,  0xf000,0xf000,0xf000,0x017a,0xf000,
+    24,  0xf000,0xf000,0xf000,0x0107,0xf000,
+    27,  0xf000,0xf000,0xf000,0x0144,0xf000,
+    35,  0x00ca,0x00c8,0x00cb,0x00c9,0xf000,
+    36,  0xf000,0xf000,0xf000,0x0154,0xf000,
+    38,  0xf000,0xf000,0x0178,0x00dd,0xf000,
+    39,  0x00db,0x00d9,0x00dc,0x00da,0xf000,
+    40,  0x00ce,0x00cc,0x00cf,0x00cd,0xf000,
+    41,  0x00d4,0x00d2,0x00D6,0x00d3,0xf000,
+    44,  0x00C2,0x00C0,0xF000,0x00C1,0xF000,
+    45,  0xf000,0xf000,0xf000,0x015a,0xf000,
+    52,  0xf000,0xf000,0xf000,0x0139,0xf000,
+    55,  0xf000,0xf000,0xf000,0x0179,0xf000,
+    57,  0xf000,0xf000,0xf000,0x0106,0xf000,
+    60,  0xf000,0xf000,0xf000,0x0143,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_French = 24;
+
+//
+// MiniQwerty keymap data table
+//
+const TUint16 MiniQwertyData_table_French[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00EB,0x00EA,0x00E8,0x00E9,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00F9,0x00FB,0x00FA,0x00FC,
+     0x0069,0x00EF,0x00EE,0x00EC,0x00ED,
+     0x006F,0x0153,0x00F4,0x00F2,0x00F3,0x00F5,0x00F6,0x00F8,
+     0x0070,
+     0x0061,0x00E6,0x00E2,0x00E0,0x00E1,0x00E3,0x00E4,0x00E5,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,0x011F,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x0040,
+     0x0026,
+     0x0027,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,0x00CB,0x00CA,0x00C8,0x00C9,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00D9,0x00DB,0x00DA,0x00DC,
+     0x0049,0x00CF,0x00CE,0x00CC,0x00CD,
+     0x004F,0x0152,0x00D4,0x00D2,0x00D3,0x00D5,0x00D6,0x00D8,
+     0x0050,
+     0x0041,0x00C6,0x00C2,0x00C0,0x00C1,0x00C3,0x00C4,0x00C5,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,0x011E,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x003B,
+     0x003A,
+     0x0021,
+     0x0022,
+     0x0031,
+     0x0031,
+     0x0032,
+     0x0032,
+     0x0033,
+     0x0033,
+     0x002B,
+     0x002F,
+     0x0025,
+     0x0034,
+     0x0034,
+     0x0035,
+     0x0035,
+     0x0036,
+     0x0036,
+     0x002D,
+     0x0028,
+     0x0029,
+     0x0037,
+     0x0037,
+     0x0038,
+     0x0038,
+     0x0039,
+     0x0039,
+     0x003D,
+     0x002A,
+     0x002A,
+     0x0030,
+     0x0030,
+     0x0023,
+     0x0023,
+    };
+
+const TInt KMiniQwertyDataSize_French = 158;
+
+
+const TPtiKeyBinding MiniQwertyKeyBindings_table_French[] =
+    {
+        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 22, 8},
+        {EPtiKeyQwerty0, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 31, 8},
+        {EPtiKeyQwertyS, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 41, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 44, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 59, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 60, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 5},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 73, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 75, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 77, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 8},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 96, 8},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 105, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 108, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 112, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 113, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 118, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 119, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 123, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 124, 1},
+        {EPtiKeyQwerty1, EPtiCaseFnLower, 125, 1},
+        {EPtiKeyQwerty2, EPtiCaseFnLower, 126, 1},
+        {EPtiKeyQwerty3, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwerty4, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwerty5, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwerty6, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwerty7, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwerty8, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwerty9, EPtiCaseFnLower, 133, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 134, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 135, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 136, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 137, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 138, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 139, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 140, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 141, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 142, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 143, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 144, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 145, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 146, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 147, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 148, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 149, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 150, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 151, 1},
+    };
+
+const TInt KMaxMiniQwertyIndex_French = 83;
+
+//
+// MiniQwerty3x11 keymap data table
+//
+const TUint16 MiniQwerty3x11Data_table_French[] =
+    {
+     0x0061,0x00E6,0x00E2,0x00E0,0x00E1,0x00E3,0x00E4,0x00E5,
+     0x007A,
+     0x0065,0x00EB,0x00EA,0x00E8,0x00E9,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00F9,0x00FB,0x00FA,0x00FC,
+     0x0069,0x00EF,0x00EE,0x00EC,0x00ED,
+     0x006F,0x0153,0x00F4,0x00F2,0x00F3,0x00F5,0x00F6,0x00F8,
+     0x0070,
+     0x0071,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,0x011F,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x006D,
+     0x0077,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x002C,
+     0x0041,0x00C6,0x00C2,0x00C0,0x00C1,0x00C3,0x00C4,0x00C5,
+     0x005A,
+     0x0045,0x00CB,0x00CA,0x00C8,0x00C9,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00D9,0x00DB,0x00DA,0x00DC,
+     0x0049,0x00CF,0x00CE,0x00CC,0x00CD,
+     0x004F,0x0152,0x00D4,0x00D2,0x00D3,0x00D5,0x00D6,0x00D8,
+     0x0050,
+     0x0051,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,0x011E,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x004D,
+     0x0057,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x002E,
+     0x0031,
+     0x0032,
+     0x0033,
+     0x0034,
+     0x0035,
+     0x0036,
+     0x0037,
+     0x0038,
+     0x0039,
+     0x0030,
+     0x00E9,
+     0x00EA,
+     0x00E8,
+     0x002B,
+     0x002A,
+     0x0023,
+     0x002D,
+     0x003D,
+     0x0040,
+     0x002F,
+     0x00E7,
+     0x00E0,
+     0x0021,
+     0x003F,
+     0x003B,
+     0x003A,
+     0x0027,
+     0x00C9,
+     0x00CA,
+     0x00C8,
+     0x00C7,
+     0x00C0,
+    };
+
+const TInt KMiniQwerty3x11DataSize_French = 151;
+
+
+const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_French[] =
+    {
+        {EPtiKeyQwertyQ, EPtiCaseLower, 0, 8},
+        {EPtiKeyQwertyW, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 9, 5},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 2},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 2},
+        {EPtiKeyQwertyU, EPtiCaseLower, 19, 5},
+        {EPtiKeyQwertyI, EPtiCaseLower, 24, 5},
+        {EPtiKeyQwertyO, EPtiCaseLower, 29, 8},
+        {EPtiKeyQwertyP, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 41, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 44, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 53, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 56, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 57, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 59, 1},
+        {EStdKeySpace, EPtiCaseLower, 60, 0},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 60, 8},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 5},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 74, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 75, 2},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 77, 2},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 79, 5},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 84, 5},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 89, 8},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 100, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 103, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 112, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 118, 1},
+        {EStdKeySpace, EPtiCaseUpper, 119, 0},
+        {EPtiKeyQwertyQ, EPtiCaseFnLower, 119, 1},
+        {EPtiKeyQwertyW, EPtiCaseFnLower, 120, 1},
+        {EPtiKeyQwertyE, EPtiCaseFnLower, 121, 1},
+        {EPtiKeyQwertyR, EPtiCaseFnLower, 122, 1},
+        {EPtiKeyQwertyT, EPtiCaseFnLower, 123, 1},
+        {EPtiKeyQwertyY, EPtiCaseFnLower, 124, 1},
+        {EPtiKeyQwertyU, EPtiCaseFnLower, 125, 1},
+        {EPtiKeyQwertyI, EPtiCaseFnLower, 126, 1},
+        {EPtiKeyQwertyO, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwertyP, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 133, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 134, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 135, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 136, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 137, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 138, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 139, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 140, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 141, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 142, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 143, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 144, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 145, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnUpper, 146, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnUpper, 147, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnUpper, 148, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnUpper, 149, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnUpper, 150, 1},
+    };
+
+const TInt KMaxMiniQwerty3x11Index_French = 88;
+
+//
+// Class implementation.
+//
+
+CPtiLangDataImplFrench* CPtiLangDataImplFrench::NewL()
+    {
+    return new (ELeave) CPtiLangDataImplFrench();
+    }
+
+
+TInt CPtiLangDataImplFrench::LanguageCode() const
+    {
+    return ELangFrench;
+    }
+
+
+const TUint16* CPtiLangDataImplFrench::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aDataSize = KMultitapDataSize_French;
+        return MultitapData_table_French;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aDataSize = KStandardQwertyDataSize_French;
+        return StandardQwertyData_table_French;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aDataSize = KMiniQwertyDataSize_French;
+        return MiniQwertyData_table_French;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aDataSize = KMiniQwerty3x11DataSize_French;
+        return MiniQwerty3x11Data_table_French;
+        }
+
+    aDataSize = 0;
+    return NULL;
+    }
+
+
+const TPtiKeyBinding* CPtiLangDataImplFrench::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aNumItems = KMaxMultitapIndex_French;
+        return MultitapKeyBindings_table_French;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumItems = KMaxStandardQwertyIndex_French;
+        return StandardQwertyKeyBindings_table_French;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aNumItems = KMaxMiniQwertyIndex_French;
+        return MiniQwertyKeyBindings_table_French;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aNumItems = KMaxMiniQwerty3x11Index_French;
+        return MiniQwerty3x11KeyBindings_table_French;
+        }
+
+    aNumItems = 0;
+    return NULL;
+    }
+
+
+const TUint16* CPtiLangDataImplFrench::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_French;
+        return StandardQwertyDeadKeyData_table_French;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.h	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __PTI_LANGUAGES_ITUT_51_H__
+#define __PTI_LANGUAGES_ITUT_51_H__
+
+#include <PtiKeyMapData.h>
+
+
+//
+// Class declaration for language French 
+//
+class CPtiLangDataImplFrench : public CPtiKeyMapData
+    {
+    public:
+        static CPtiLangDataImplFrench* NewL();
+        TInt LanguageCode() const;
+        const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
+        const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
+    };
+
+#endif
+
+// End of file. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_51.mmp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project file for  keymapping data dll.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <platform_paths.hrh>
+
+TARGET       PtiKeymappings_ITUT_51.dll
+CAPABILITY   CAP_ECOM_PLUGIN
+targettype   PLUGIN
+UID	     0x10009D8D 0x1028255C 
+
+sourcepath . 
+
+userinclude . 
+
+MW_LAYER_SYSTEMINCLUDE
+
+
+source PtiKeymappings_ITUT_51.cpp
+source PtiFactory_ITUT_51.cpp
+
+START RESOURCE 1028255C.rss
+TARGET PtiKeymappings_ITUT_51.rsc
+END
+
+library	EUSER.LIB BAFL.LIB EFSRV.LIB
+library PtiEngine.lib
+
+START WINS
+	baseaddress	0x7dd10000
+END
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Greek[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x3b,
-     0x387,
-     0x3c2,
-     0x3b5,0x3ad,
-     0x3c1,
-     0x3c4,
-     0x3c5,0x3cd,0x3cb,0x3b0,
-     0x3b8,
-     0x3b9,0x3af,0x3ca,0x390,
-     0x3bf,0x3cc,
-     0x3c0,
-     0x2d,
-     0x2b,
-     0x3b1,0x3ac,
-     0x3c3,
-     0x3b4,
-     0x3c6,
-     0x3b3,
-     0x3b7,0x3ae,
-     0x3be,
-     0x3ba,
-     0x3bb,
-     0xf001,0x384,
-     0xab,
-     0x3b6,
-     0x3c7,
-     0x3c8,
-     0x3c9,0x3ce,
-     0x3b2,
-     0x3bd,
-     0x3bc,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x40,
-     0x23,
-     0x24,
-     0x25,
-     0x20ac,
-     0x26,
-     0x5c,
-     0x28,
-     0x29,
-     0x3a,
-     0x387,
-     0xf003,0x385,
-     0x395,0x388,
-     0x3a1,
-     0x3a4,
-     0x3a5,0x38e,0x3ab,
-     0x398,
-     0x399,0x38a,0x3aa,
-     0x39f,0x38c,
-     0x3a0,
-     0x3d,
-     0x2a,
-     0x391,0x386,
-     0x3a3,
-     0x394,
-     0x3a6,
-     0x393,
-     0x397,0x389,
-     0x39e,
-     0x39a,
-     0x39b,
-     0xf002,0xa8,
-     0xbb,
-     0x396,
-     0x3a7,
-     0x3a8,
-     0x3a9,0x38f,
-     0x392,
-     0x39d,
-     0x39c,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x003B,
+     0x03C2,
+     0x03B5,0x03AD,
+     0x03C1,
+     0x03C4,
+     0x03C5,0x03CB,0x03CD,0x03B0,
+     0x03B8,
+     0x03B9,0x03CA,0x03AF,0x0390,
+     0x03BF,
+     0x03C0,
+     0xF003,0x0385,
+     0x03B1,0x03AC,
+     0x03C3,
+     0x03B4,
+     0x03C6,
+     0x03B3,
+     0x03B7,0x03AE,
+     0x03BE,
+     0x03BA,
+     0x03BB,
+     0xF002,0x0384,
+     0xF001,0x00A8,
+     0x03B6,
+     0x03C7,
+     0x03C8,
+     0x03C9,0x03CE,
+     0x03B2,
+     0x03BD,
+     0x03BC,
+     0x002C,
+     0x002E,
+     0x002D,
+     0x0021,
+     0x003B,
+     0x03C2,
+     0x0395,0x0388,
+     0x03A1,
+     0x03A4,
+     0x03A5,0x03AB,0x038E,
+     0x0398,
+     0x0399,0x03AA,0x038A,
+     0x039F,0x038C,
+     0x03A0,
+     0xF003,0x0385,
+     0x0391,0x0386,
+     0x03A3,
+     0x0394,
+     0x03A6,
+     0x0393,
+     0x0397,0x0389,
+     0x039E,
+     0x039A,
+     0x039B,
+     0xF002,0x0384,
+     0xF001,0x00A8,
+     0x0396,
+     0x03A7,
+     0x03A8,
+     0x03A9,0x038F,
+     0x0392,
+     0x039D,
+     0x039C,
+     0x0027,
+     0x0022,
+     0x002B,
+     0x002F,
     };
 
-const TInt KStandardQwertyDataSize_Greek = 111;
+const TInt KStandardQwertyDataSize_Greek = 91;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Greek[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 2},
-        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 17, 4},
-        {EPtiKeyQwertyU, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 22, 4},
-        {EPtiKeyQwertyO, EPtiCaseLower, 26, 2},
-        {EPtiKeyQwertyP, EPtiCaseLower, 28, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 29, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 30, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 31, 2},
-        {EPtiKeyQwertyS, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyD, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 37, 2},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 42, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 44, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 45, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 46, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyB, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 52, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 53, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 2},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 70, 2},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 74, 3},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 78, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 81, 2},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 86, 2},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 92, 2},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 97, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 99, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 100, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 101, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 102, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 103, 2},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 105, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 106, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 107, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 109, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 6, 4},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 4},
+        {EPtiKeyQwerty8, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 17, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 19, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 2},
+        {EPtiKeyQwertyY, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 2},
+        {EPtiKeyQwertyP, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 34, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 36, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 52, 3},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 56, 3},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 75, 2},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 79, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 79, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 82, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 86, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 91, 0},
+        {0x5b, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 91, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Greek = 88;
+const TInt KMaxStandardQwertyIndex_Greek = 92;
 
 
 //
@@ -290,36 +272,24 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Greek[] =
     {
-    13,  0x03AD,0xF000,0xF000,0xf000,0xf000,
-    16,  0x03CD,0x03CB,0x03B0,0xf000,0xf000,
-    18,  0x03AF,0x03CA,0x0390,0xf000,0xf000,
-    19,  0x03CC,0xF000,0xF000,0xf000,0xf000,
-    23,  0x03AC,0xF000,0xF000,0xf000,0xf000,
-    28,  0x03AE,0xF000,0xF000,0xf000,0xf000,
-    37,  0x03CE,0xF000,0xF000,0xf000,0xf000,
-    57,  0x0388,0xF000,0xF000,0xf000,0xf000,
-    60,  0x038E,0x03AB,0xF000,0xf000,0xf000,
-    62,  0x038A,0x03AA,0xF000,0xf000,0xf000,
-    63,  0x038C,0xF000,0xF000,0xf000,0xf000,
-    67,  0x0386,0xF000,0xF000,0xf000,0xf000,
-    72,  0x0389,0xF000,0xF000,0xf000,0xf000,
-    81,  0x038F,0xF000,0xF000,0xf000,0xf000,
+    2,  0xf000,0x03AD,0xf000,0xf000,0xf000,
+    5,  0x03CB,0x03CD,0x03B0,0xf000,0xf000,
+    7,  0x03CA,0x03AF,0x0390,0xf000,0xf000,
+    8,  0xf000,0x03CC,0xf000,0xf000,0xf000,
+    11,  0xf000,0x03AC,0xf000,0xf000,0xf000,
+    16,  0xf000,0x03AE,0xf000,0xf000,0xf000,
+    25,  0xf000,0x03CE,0xf000,0xf000,0xf000,
+    35,  0xf000,0x0388,0xf000,0xf000,0xf000,
+    38,  0x03AB,0x038E,0xf000,0xf000,0xf000,
+    40,  0x03AA,0x038A,0xf000,0xf000,0xf000,
+    41,  0xf000,0x038C,0xf000,0xf000,0xf000,
+    44,  0xf000,0x0386,0xf000,0xf000,0xf000,
+    49,  0xf000,0x0389,0xf000,0xf000,0xf000,
+    58,  0xf000,0x038F,0xf000,0xf000,0xf000,
     };
 
 const TInt KStandardQwertyDeadKeyTableRows_Greek = 14;
 
-
-//
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Greek[] =
-	{
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Greek = 3;
 //
 // MiniQwerty keymap data table
 //
@@ -627,12 +597,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplGreek::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Greek;
-        return StandardQwertyNumericKeysData_table_Greek;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Greek;
@@ -644,10 +608,3 @@
     }
 
 
-
-TBool CPtiLangDataImplGreek::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -44,7 +44,6 @@
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Hebrew[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x2f,
-     0x5c,
-     0x5e7,
-     0x5e8,
-     0x5d0,
-     0x5d8,
-     0x5d5,
-     0x5df,
-     0x5dd,
-     0x5e4,
-     0x3a,
-     0x2b,
-     0x5e9,
-     0x5d3,
-     0x5d2,
-     0x5db,
-     0x5e2,
-     0x5d9,
-     0x5d7,
-     0x5dc,
-     0x5da,
-     0x5e3,
-     0x2c,
-     0x5d6,
-     0x5e1,
-     0x5d1,
-     0x5d4,
-     0x5e0,
-     0x5de,
-     0x5e6,
-     0x5ea,
-     0x5e5,
-     0x2e,
-     0x21,
-     0x40,
-     0x20ac,
-     0x24,
-     0x25,
-     0x26,
-     0x2a,
-     0x29,
-     0x28,
-     0x3d,
-     0x5f,
-     0x2f,
-     0x5c,
-     0x5e7,
-     0x5e8,
-     0x5d0,
-     0x5d8,
-     0x5d5,
-     0x5df,
-     0x5dd,
-     0x5e4,
-     0x3b,
-     0x23,
-     0x5e9,
-     0x5d3,
-     0x5d2,
-     0x5db,
-     0x5e2,
-     0x5d9,
-     0x5d7,
-     0x5dc,
-     0x5da,
-     0x27,
-     0x22,
-     0x5d6,
-     0x5e1,
-     0x5d1,
-     0x5d4,
-     0x5e0,
-     0x5de,
-     0x5e6,
-     0x3e,
-     0x3c,
-     0x3f,
+     0x002F,
+     0x0027,
+     0x05E7,
+     0x05E8,
+     0x05D0,
+     0x05D8,
+     0x05D5,
+     0x05DF,
+     0x05DD,
+     0x05E4,
+     0x0021,
+     0x05E9,
+     0x05D3,
+     0x05D2,
+     0x05DB,
+     0x05E2,
+     0x05D9,
+     0x05D7,
+     0x05DC,
+     0x05DA,
+     0x05E3,
+     0x002C,
+     0x05D6,
+     0x05E1,
+     0x05D1,
+     0x05D4,
+     0x05E0,
+     0x05DE,
+     0x05E6,
+     0x05EA,
+     0x05E5,
+     0x002E,
+     0x003F,
+     0x005C,
+     0x0027,
+     0x05E7,
+     0x05E8,
+     0x05D0,
+     0x05D8,
+     0x05D5,
+     0x05DF,
+     0x05DD,
+     0x05E4,
+     0x0022,
+     0x05E9,
+     0x05D3,
+     0x05D2,
+     0x05DB,
+     0x05E2,
+     0x05D9,
+     0x05D7,
+     0x05DC,
+     0x05DA,
+     0x05E3,
+     0x003A,
+     0x05D6,
+     0x05E1,
+     0x05D1,
+     0x05D4,
+     0x05E0,
+     0x05DE,
+     0x05E6,
+     0x05EA,
+     0x05E5,
+     0x0029,
+     0x0028,
     };
 
-const TInt KStandardQwertyDataSize_Hebrew = 88;
+const TInt KStandardQwertyDataSize_Hebrew = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Hebrew[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,78 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Hebrew = 88;
-
+const TInt KMaxStandardQwertyIndex_Hebrew = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Hebrew[] =
-	{
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Hebrew = 3;
-//
 // MiniQwerty keymap data table
 //
 const TUint16 MiniQwertyData_table_Hebrew[] =
@@ -563,12 +533,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplHebrew::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Hebrew;
-        return StandardQwertyNumericKeysData_table_Hebrew;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Hebrew;
@@ -580,10 +544,3 @@
     }
 
 
-
-TBool CPtiLangDataImplHebrew::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_57.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -192,6 +192,7 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Hindi[] =
     {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 0},
         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
@@ -226,6 +227,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
+        {0x5b, EPtiCaseLower, 34, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
@@ -236,6 +238,7 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 44, 0},
         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
@@ -270,6 +273,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 86, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 87, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 88, 1},
+        {0x5b, EPtiCaseUpper, 89, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 89, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 90, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 91, 1},
@@ -282,7 +286,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 98, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_Hindi = 88;
+const TInt KMaxStandardQwertyIndex_Hindi = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_58.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,168 @@
 //
 const TUint16 StandardQwertyData_table_Indonesian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xea,0xeb,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xf9,0xfa,0xfb,0xfc,
-     0x69,0xec,0xed,0xee,0xef,
-     0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,
-     0x70,
-     0x2d,
-     0x23,
-     0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x3b,
-     0x27,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x22,
-     0xa3,
-     0x24,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xca,0xcb,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xd9,0xda,0xdb,0xdc,
-     0x49,0xcc,0xcd,0xce,0xcf,
-     0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,
-     0x50,
-     0x5f,
-     0x7e,
-     0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x3a,
-     0x40,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002F,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
     };
 
-const TInt KStandardQwertyDataSize_Indonesian = 149;
+const TInt KStandardQwertyDataSize_Indonesian = 60;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Indonesian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 0},
         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
-        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 30, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 31, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 32, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 40, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 60, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Indonesian = 88;
+const TInt KMaxStandardQwertyIndex_Indonesian = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_59.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_65.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Latvian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0x113,0x119,0x117,0xe9,
-     0x72,0x157,
-     0x74,
-     0x79,
-     0x75,0x16b,0x173,0xfc,
-     0x69,0x12b,0x12f,
-     0x6f,0xf5,0xf6,0xf8,
-     0x70,
-     0xf005,0x2d9,
-     0x2b,
-     0x61,0x101,0x105,0xe4,0xe5,0xe6,
-     0x73,0x161,0xdf,
-     0x64,
-     0x66,
-     0x67,0x123,
-     0x68,
-     0x6a,
-     0x6b,0x137,
-     0x6c,0x13c,
-     0xf002,0x2c7,
-     0xf003,0x2db,
-     0x7a,0x17e,
-     0x78,
-     0x63,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x146,
-     0x6d,
-     0xf004,0xb8,
-     0xf001,0x2c9,
-     0x2e,
-     0x21,
-     0x22,
-     0x40,
-     0x3b,
-     0x3d,
-     0x3a,
-     0x3f,
-     0x2a,
-     0x28,
-     0x29,
-     0x2f,
-     0x51,
-     0x57,
-     0x45,0x112,0x118,0x116,0xc9,
-     0x52,0x156,
-     0x54,
-     0x59,
-     0x55,0x16a,0x172,0xdc,
-     0x49,0x12a,0x12e,
-     0x4f,0xd5,0xd6,0xd8,
-     0x50,
-     0xf005,0x2d9,
-     0x23,
-     0x41,0x100,0x104,0xc4,0xc5,0xc6,
-     0x53,0x160,
-     0x44,
-     0x46,
-     0x47,0x122,
-     0x48,
-     0x4a,
-     0x4b,0x136,
-     0x4c,0x13b,
-     0xf002,0x2c7,
-     0xf003,0x2db,
-     0x5a,0x17d,
-     0x58,
-     0x43,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x145,
-     0x4d,
-     0xf004,0xb8,
-     0xf001,0x2c9,
-     0x2c,
+     0x0071,
+     0x0077,
+     0x0065,0x0113,0x011B,
+     0x0072,0x0157,0x0159,
+     0x0074,0x0165,
+     0x0079,
+     0x0075,0x016B,
+     0x0069,0x012B,
+     0x006F,
+     0x0070,
+     0xF001,0x00AF,
+     0x0061,0x0101,
+     0x0073,0x0161,
+     0x0064,0x010F,
+     0x0066,
+     0x0067,0x0123,
+     0x0068,
+     0x006A,
+     0x006B,0x0137,
+     0x006C,0x013C,
+     0xF003,0x02C7,
+     0xF002,0x00B8,
+     0x007A,0x017E,
+     0x0078,
+     0x0063,0x010D,
+     0x0076,
+     0x0062,
+     0x006E,0x0146,0x0148,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x002D,
+     0x0051,
+     0x0057,
+     0x0045,0x0112,0x011A,
+     0x0052,0x0156,0x0158,
+     0x0054,0x0164,
+     0x0059,
+     0x0055,0x016A,
+     0x0049,0x012A,
+     0x004F,
+     0x0050,
+     0xF001,0x00AF,
+     0x0041,0x0100,
+     0x0053,0x0160,
+     0x0044,0x010E,
+     0x0046,
+     0x0047,0x0122,
+     0x0048,
+     0x004A,
+     0x004B,0x0136,
+     0x004C,0x013B,
+     0xF003,0x02C7,
+     0xF002,0x00B8,
+     0x005A,0x017D,
+     0x0058,
+     0x0043,0x010C,
+     0x0056,
+     0x0042,
+     0x004E,0x0145,0x0147,
+     0x004D,
+     0x0027,
+     0x002F,
+     0x0021,
+     0x002B,
     };
 
-const TInt KStandardQwertyDataSize_Latvian = 149;
+const TInt KStandardQwertyDataSize_Latvian = 106;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Latvian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 2},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 4},
-        {EPtiKeyQwertyI, EPtiCaseLower, 26, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 29, 4},
-        {EPtiKeyQwertyP, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 34, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 37, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 43, 3},
-        {EPtiKeyQwertyD, EPtiCaseLower, 46, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 52, 2},
-        {EPtiKeyQwertyL, EPtiCaseLower, 54, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 56, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 58, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 60, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 70, 2},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 72, 2},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 2},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 97, 4},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 104, 4},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 109, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 112, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 122, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 126, 2},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 128, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 130, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 132, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 137, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 141, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 146, 2},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 3},
+        {EPtiKeyQwerty3, EPtiCaseLower, 5, 3},
+        {EPtiKeyQwerty4, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwerty5, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 17, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 19, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 21, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 23, 2},
+        {EPtiKeyQwertyE, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 26, 2},
+        {EPtiKeyQwertyT, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 30, 2},
+        {EPtiKeyQwertyI, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 34, 2},
+        {EPtiKeyQwertyP, EPtiCaseLower, 36, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 38, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 38, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 41, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 45, 3},
+        {EPtiKeyQwertyH, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 53, 0},
+        {0x5b, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 53, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 55, 3},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 58, 3},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 61, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 72, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 76, 2},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 78, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 79, 2},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 81, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 82, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 83, 2},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 87, 2},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 89, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 91, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 91, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 93, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 94, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 98, 3},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 101, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 106, 0},
+        {0x5b, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 106, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Latvian = 88;
+const TInt KMaxStandardQwertyIndex_Latvian = 92;
 
 
 //
@@ -290,33 +272,37 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Latvian[] =
     {
-    13,  0x0113,0xF000,0x0119,0xF000,0x0117,
-    14,  0xF000,0xF000,0xF000,0x0157,0xF000,
-    17,  0x016B,0xF000,0x0173,0xF000,0xF000,
-    18,  0x012B,0xF000,0x012F,0xF000,0xF000,
-    23,  0x0101,0xF000,0x0105,0xF000,0xF000,
-    24,  0xF000,0x0161,0xF000,0xF000,0xF000,
-    27,  0xF000,0xF000,0xF000,0x0123,0xF000,
-    30,  0xF000,0xF000,0xF000,0x0137,0xF000,
-    31,  0xF000,0xF000,0xF000,0x013C,0xF000,
-    34,  0xF000,0x017E,0xF000,0xF000,0xF000,
-    36,  0xF000,0x010D,0xF000,0xF000,0xF000,
-    39,  0xF000,0xF000,0xF000,0x0146,0xF000,
-    57,  0x0112,0xF000,0x0118,0xF000,0x0116,
-    58,  0xF000,0xF000,0xF000,0x0156,0xF000,
-    61,  0x016A,0xF000,0x0172,0xF000,0xF000,
-    62,  0x012A,0xF000,0x012E,0xF000,0xF000,
-    67,  0x0100,0xF000,0x0104,0xF000,0xF000,
-    68,  0xF000,0x0160,0xF000,0xF000,0xF000,
-    71,  0xF000,0xF000,0xF000,0x0122,0xF000,
-    74,  0xF000,0xF000,0xF000,0x0136,0xF000,
-    75,  0xF000,0xF000,0xF000,0x013B,0xF000,
-    78,  0xF000,0x017D,0xF000,0xF000,0xF000,
-    80,  0xF000,0x010C,0xF000,0xF000,0xF000,
-    83,  0xF000,0xF000,0xF000,0x0145,0xF000,
+    2,  0x0113,0xf000,0x011B,0xf000,0xf000,
+    3,  0xf000,0x0157,0x0159,0xf000,0xf000,
+    4,  0xf000,0xf000,0x0165,0xf000,0xf000,
+    6,  0x016B,0xf000,0xf000,0xf000,0xf000,
+    7,  0x012B,0xf000,0xf000,0xf000,0xf000,
+    11,  0x0101,0xf000,0xf000,0xf000,0xf000,
+    12,  0xf000,0xf000,0x0161,0xf000,0xf000,
+    13,  0xf000,0xf000,0x010F,0xf000,0xf000,
+    15,  0xf000,0x0123,0xf000,0xf000,0xf000,
+    18,  0xf000,0x0137,0xf000,0xf000,0xf000,
+    19,  0xf000,0x013C,0xf000,0xf000,0xf000,
+    22,  0xf000,0xf000,0x017E,0xf000,0xf000,
+    24,  0xf000,0xf000,0x010D,0xf000,0xf000,
+    27,  0xf000,0x0146,0x0148,0xf000,0xf000,
+    35,  0x0112,0xf000,0x011A,0xf000,0xf000,
+    36,  0xf000,0x0156,0x0158,0xf000,0xf000,
+    37,  0xf000,0xf000,0x0164,0xf000,0xf000,
+    39,  0x016A,0xf000,0xf000,0xf000,0xf000,
+    40,  0x012A,0xf000,0xf000,0xf000,0xf000,
+    44,  0x0100,0xf000,0xf000,0xf000,0xf000,
+    45,  0xf000,0xf000,0x0160,0xf000,0xf000,
+    46,  0xf000,0xf000,0x010E,0xf000,0xf000,
+    48,  0xf000,0x0122,0xf000,0xf000,0xf000,
+    51,  0xf000,0x0136,0xf000,0xf000,0xf000,
+    52,  0xf000,0x013B,0xf000,0xf000,0xf000,
+    55,  0xf000,0xf000,0x017D,0xf000,0xf000,
+    57,  0xf000,0xf000,0x010C,0xf000,0xf000,
+    60,  0xf000,0x0145,0x0147,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Latvian = 24;
+const TInt KStandardQwertyDeadKeyTableRows_Latvian = 28;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_67.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Lithuanian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0x119,0x117,0x113,0xe9,
-     0x72,0x157,
-     0x74,
-     0x79,
-     0x75,0x173,0x16b,0xfc,
-     0x69,0x12f,0x12b,
-     0x6f,0xf5,0xf6,0xf8,
-     0x70,
-     0xf005,0x2d9,
-     0x2b,
-     0x61,0x105,0x101,0xe4,0xe5,0xe6,
-     0x73,0x161,0xdf,
-     0x64,
-     0x66,
-     0x67,0x123,
-     0x68,
-     0x6a,
-     0x6b,0x137,
-     0x6c,0x13c,
-     0xf002,0x2c7,
-     0xf003,0x2db,
-     0x7a,0x17e,
-     0x78,
-     0x63,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x146,
-     0x6d,
-     0xf004,0xb8,
-     0xf001,0x2c9,
-     0x2e,
-     0x21,
-     0x22,
-     0x40,
-     0x3b,
-     0x3d,
-     0x3a,
-     0x3f,
-     0x2a,
-     0x28,
-     0x29,
-     0x2f,
-     0x51,
-     0x57,
-     0x45,0x118,0x116,0x112,0xc9,
-     0x52,0x156,
-     0x54,
-     0x59,
-     0x55,0x172,0x16a,0xdc,
-     0x49,0x12e,0x12a,
-     0x4f,0xd5,0xd6,0xd8,
-     0x50,
-     0xf005,0x2d9,
-     0x23,
-     0x41,0x104,0x100,0xc4,0xc5,0xc6,
-     0x53,0x160,
-     0x44,
-     0x46,
-     0x47,0x122,
-     0x48,
-     0x4a,
-     0x4b,0x136,
-     0x4c,0x13b,
-     0xf002,0x2c7,
-     0xf003,0x2db,
-     0x5a,0x17d,
-     0x58,
-     0x43,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x145,
-     0x4d,
-     0xf004,0xb8,
-     0xf001,0x2c9,
-     0x2c,
+     0x0071,
+     0x0077,
+     0x0065,0x011B,0x0119,
+     0x0072,0x0159,
+     0x0074,0x0165,
+     0x0079,
+     0x0075,0x0173,
+     0x0069,0x012F,
+     0x006F,
+     0x0070,
+     0x0117,
+     0x0061,0x0105,
+     0x0073,0x0161,
+     0x0064,0x010F,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0xF002,0x02DB,
+     0xF001,0x02C7,
+     0x007A,0x017E,
+     0x0078,
+     0x0063,0x010D,
+     0x0076,
+     0x0062,
+     0x006E,0x0148,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x016B,
+     0x0051,
+     0x0057,
+     0x0045,0x011A,0x0118,
+     0x0052,0x0158,
+     0x0054,0x0164,
+     0x0059,
+     0x0055,0x0172,
+     0x0049,0x012E,
+     0x004F,
+     0x0050,
+     0x0116,
+     0x0041,0x0104,
+     0x0053,0x0160,
+     0x0044,0x010E,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0xF002,0x02DB,
+     0xF001,0x02C7,
+     0x005A,0x017D,
+     0x0058,
+     0x0043,0x010C,
+     0x0056,
+     0x0042,
+     0x004E,0x0147,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x0021,
+     0x016A,
     };
 
-const TInt KStandardQwertyDataSize_Lithuanian = 149;
+const TInt KStandardQwertyDataSize_Lithuanian = 94;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Lithuanian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 2},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 22, 4},
-        {EPtiKeyQwertyI, EPtiCaseLower, 26, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 29, 4},
-        {EPtiKeyQwertyP, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 34, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 37, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 43, 3},
-        {EPtiKeyQwertyD, EPtiCaseLower, 46, 1},
-        {EPtiKeyQwertyF, EPtiCaseLower, 47, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 48, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 50, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 52, 2},
-        {EPtiKeyQwertyL, EPtiCaseLower, 54, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 56, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 58, 2},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 60, 2},
-        {EPtiKeyQwertyX, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 70, 2},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 72, 2},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 2},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 97, 4},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 104, 4},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 108, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 109, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 112, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 118, 2},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 121, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 122, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 124, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 125, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 126, 2},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 128, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 130, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 132, 2},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 134, 2},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 137, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 139, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 140, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 141, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 2},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 146, 2},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 3},
+        {EPtiKeyQwerty3, EPtiCaseLower, 5, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty5, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 12, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 17, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 19, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 21, 2},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 29, 2},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 33, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 36, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 47, 0},
+        {0x5b, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 47, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 49, 3},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 52, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 54, 2},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 2},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 74, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 75, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 2},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 80, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 80, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 82, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 83, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 86, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 87, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 92, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 93, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 94, 0},
+        {0x5b, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 94, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 94, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Lithuanian = 88;
+const TInt KMaxStandardQwertyIndex_Lithuanian = 92;
 
 
 //
@@ -290,33 +272,31 @@
 //
 const TUint16 StandardQwertyDeadKeyData_table_Lithuanian[] =
     {
-    13,  0x0113,0xF000,0x0119,0xF000,0x0117,
-    14,  0xF000,0xF000,0xF000,0x0157,0xF000,
-    17,  0x016B,0xF000,0x0173,0xF000,0xF000,
-    18,  0x012B,0xF000,0x012F,0xF000,0xF000,
-    23,  0x0101,0xF000,0x0105,0xF000,0xF000,
-    24,  0xF000,0x0161,0xF000,0xF000,0xF000,
-    27,  0xF000,0xF000,0xF000,0x0123,0xF000,
-    30,  0xF000,0xF000,0xF000,0x0137,0xF000,
-    31,  0xF000,0xF000,0xF000,0x013C,0xF000,
-    34,  0xF000,0x017E,0xF000,0xF000,0xF000,
-    36,  0xF000,0x010D,0xF000,0xF000,0xF000,
-    39,  0xF000,0xF000,0xF000,0x0146,0xF000,
-    57,  0x0112,0xF000,0x0118,0xF000,0x0116,
-    58,  0xF000,0xF000,0xF000,0x0156,0xF000,
-    61,  0x016A,0xF000,0x0172,0xF000,0xF000,
-    62,  0x012A,0xF000,0x012E,0xF000,0xF000,
-    67,  0x0100,0xF000,0x0104,0xF000,0xF000,
-    68,  0xF000,0x0160,0xF000,0xF000,0xF000,
-    71,  0xF000,0xF000,0xF000,0x0122,0xF000,
-    74,  0xF000,0xF000,0xF000,0x0136,0xF000,
-    75,  0xF000,0xF000,0xF000,0x013B,0xF000,
-    78,  0xF000,0x017D,0xF000,0xF000,0xF000,
-    80,  0xF000,0x010C,0xF000,0xF000,0xF000,
-    83,  0xF000,0xF000,0xF000,0x0145,0xF000,
+    2,  0x011B,0x0119,0xf000,0xf000,0xf000,
+    3,  0x0159,0xf000,0xf000,0xf000,0xf000,
+    4,  0x0165,0xf000,0xf000,0xf000,0xf000,
+    6,  0xf000,0x0173,0xf000,0xf000,0xf000,
+    7,  0xf000,0x012F,0xf000,0xf000,0xf000,
+    11,  0xf000,0x0105,0xf000,0xf000,0xf000,
+    12,  0x0161,0xf000,0xf000,0xf000,0xf000,
+    13,  0x010F,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017E,0xf000,0xf000,0xf000,0xf000,
+    24,  0x010D,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0148,0xf000,0xf000,0xf000,0xf000,
+    35,  0x011A,0x0118,0xf000,0xf000,0xf000,
+    36,  0x0158,0xf000,0xf000,0xf000,0xf000,
+    37,  0x0164,0xf000,0xf000,0xf000,0xf000,
+    39,  0xf000,0x0172,0xf000,0xf000,0xf000,
+    40,  0xf000,0x012E,0xf000,0xf000,0xf000,
+    44,  0xf000,0x0104,0xf000,0xf000,0xf000,
+    45,  0x0160,0xf000,0xf000,0xf000,0xf000,
+    46,  0x010E,0xf000,0xf000,0xf000,0xf000,
+    55,  0x017D,0xf000,0xf000,0xf000,0xf000,
+    57,  0x010C,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0147,0xf000,0xf000,0xf000,0xf000,
     };
 
-const TInt KStandardQwertyDeadKeyTableRows_Lithuanian = 24;
+const TInt KStandardQwertyDeadKeyTableRows_Lithuanian = 22;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_68.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,168 @@
 //
 const TUint16 StandardQwertyData_table_Malay[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xea,0xeb,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xf9,0xfa,0xfb,0xfc,
-     0x69,0xec,0xed,0xee,0xef,
-     0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,
-     0x70,
-     0x2d,
-     0x23,
-     0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x3b,
-     0x27,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x22,
-     0xa3,
-     0x24,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xca,0xcb,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xd9,0xda,0xdb,0xdc,
-     0x49,0xcc,0xcd,0xce,0xcf,
-     0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,
-     0x50,
-     0x5f,
-     0x7e,
-     0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x3a,
-     0x40,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002F,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002B,
+     0x002D,
+     0x0021,
     };
 
-const TInt KStandardQwertyDataSize_Malay = 149;
+const TInt KStandardQwertyDataSize_Malay = 60;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Malay[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 0},
         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
-        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 20, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 30, 0},
+        {0x5b, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 30, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 30, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 31, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 32, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 40, 0},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 50, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 60, 0},
+        {0x5b, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 60, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 60, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Malay = 88;
+const TInt KMaxStandardQwertyIndex_Malay = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_70.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -192,6 +192,7 @@
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Marathi[] =
     {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 0},
         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
@@ -226,6 +227,7 @@
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
+        {0x5b, EPtiCaseLower, 34, 0},
         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
@@ -236,6 +238,7 @@
         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 44, 0},
         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
@@ -270,6 +273,7 @@
         {EPtiKeyQwertyL, EPtiCaseUpper, 86, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 87, 1},
         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 88, 1},
+        {0x5b, EPtiCaseUpper, 89, 0},
         {EPtiKeyQwertyZ, EPtiCaseUpper, 89, 1},
         {EPtiKeyQwertyX, EPtiCaseUpper, 90, 1},
         {EPtiKeyQwertyC, EPtiCaseUpper, 91, 1},
@@ -282,7 +286,7 @@
         {EPtiKeyQwertySlash, EPtiCaseUpper, 98, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_Marathi = 88;
+const TInt KMaxStandardQwertyIndex_Marathi = 92;
 
 
 //
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,765 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <PtiKeyMapData.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_76.h"
+
+//
+// Multitap keymap data table
+//
+const TUint16 MultitapData_table_Portuguese[] =
+    {
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x61,0x62,0x63,0x32,0xe3,0xe1,0xe0,0xe2,0xaa,0xe4,0xe5,0xe6,0xe7,
+     0x64,0x65,0x66,0x33,0xe9,0xea,0xe8,0xeb,0xf0,
+     0x67,0x68,0x69,0x34,0xed,0xec,0xee,0xef,
+     0x6a,0x6b,0x6c,0x35,0xa3,
+     0x6d,0x6e,0x6f,0x36,0xf5,0xf3,0xf4,0xba,0xf2,0xf6,0xf8,0xf1,
+     0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
+     0x74,0x75,0x76,0x38,0xfa,0xfc,0xf9,0xfb,
+     0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe,
+     0x20,0x30,0x21b2,
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x41,0x42,0x43,0x32,0xc3,0xc1,0xc0,0xc2,0xaa,0xc4,0xc5,0xc6,0xc7,
+     0x44,0x45,0x46,0x33,0xc9,0xca,0xc8,0xcb,0xd0,
+     0x47,0x48,0x49,0x34,0xcd,0xcc,0xce,0xcf,
+     0x4a,0x4b,0x4c,0x35,0xa3,
+     0x4d,0x4e,0x4f,0x36,0xd5,0xd3,0xd4,0xba,0xd2,0xd6,0xd8,0xd1,
+     0x50,0x51,0x52,0x53,0x37,0x24,
+     0x54,0x55,0x56,0x38,0xda,0xdc,0xd9,0xdb,
+     0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
+     0x20,0x30,0x21b2,
+    };
+
+const TInt KMultitapDataSize_Portuguese = 203;
+
+
+const TPtiKeyBinding MultitapKeyBindings_table_Portuguese[] =
+    {
+        {EPtiKey1, EPtiCaseLower, 0, 30},
+        {EPtiKey2, EPtiCaseLower, 30, 13},
+        {EPtiKey3, EPtiCaseLower, 43, 9},
+        {EPtiKey4, EPtiCaseLower, 52, 8},
+        {EPtiKey5, EPtiCaseLower, 60, 5},
+        {EPtiKey6, EPtiCaseLower, 65, 12},
+        {EPtiKey7, EPtiCaseLower, 77, 7},
+        {EPtiKey8, EPtiCaseLower, 84, 8},
+        {EPtiKey9, EPtiCaseLower, 92, 7},
+        {EPtiKeyStar, EPtiCaseLower, 99, 0},
+        {EPtiKey0, EPtiCaseLower, 99, 3},
+        {EPtiKeyHash, EPtiCaseLower, 102, 0},
+        {EPtiKey1, EPtiCaseUpper, 102, 30},
+        {EPtiKey2, EPtiCaseUpper, 132, 13},
+        {EPtiKey3, EPtiCaseUpper, 145, 9},
+        {EPtiKey4, EPtiCaseUpper, 154, 8},
+        {EPtiKey5, EPtiCaseUpper, 162, 5},
+        {EPtiKey6, EPtiCaseUpper, 167, 12},
+        {EPtiKey7, EPtiCaseUpper, 179, 6},
+        {EPtiKey8, EPtiCaseUpper, 185, 8},
+        {EPtiKey9, EPtiCaseUpper, 193, 7},
+        {EPtiKeyStar, EPtiCaseUpper, 200, 0},
+        {EPtiKey0, EPtiCaseUpper, 200, 3},
+        {EPtiKeyHash, EPtiCaseUpper, 203, 0},
+    };
+
+const TInt KMaxMultitapIndex_Portuguese = 24;
+
+//
+// StandardQwerty keymap data table
+//
+const TUint16 StandardQwertyData_table_Portuguese[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00EA,0x00E8,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FB,0x00F9,0x00FA,
+     0x0069,0x00EE,0x00EC,0x00ED,
+     0x006F,0x00F4,0x00F2,0x00F5,0x00F3,
+     0x0070,
+     0xf004,0x00B4,
+     0x0061,0x00E2,0x00E0,0x00E3,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00E7,
+     0xf003,0x007E,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002E,
+     0x003F,
+     0xf002,0x0060,
+     0xf001,0x005E,
+     0x0051,
+     0x0057,
+     0x0045,0x00CA,0x00C8,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DB,0x00D9,0x00DA,
+     0x0049,0x00CE,0x00CC,0x00CD,
+     0x004F,0x00D4,0x00D2,0x00D5,0x00D3,
+     0x0050,
+     0xf004,0x00B4,
+     0x0041,0x00C2,0x00C0,0x00C3,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00C7,
+     0xf003,0x007E,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x002C,
+     0x0021,
+     0xf002,0x0060,
+     0xf001,0x005E,
+    };
+
+const TInt KStandardQwertyDataSize_Portuguese = 122;
+
+
+const TPtiKeyBinding StandardQwertyKeyBindings_table_Portuguese[] =
+    {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 4},
+        {EPtiKeyQwerty3, EPtiCaseLower, 6, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 11, 4},
+        {EPtiKeyQwerty7, EPtiCaseLower, 15, 4},
+        {EPtiKeyQwerty8, EPtiCaseLower, 19, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 25, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 27, 5},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 36, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 43, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 45, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 45, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 48, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 57, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 59, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 61, 0},
+        {0x5b, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 61, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 63, 4},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 72, 4},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 76, 4},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 80, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 86, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 88, 5},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 93, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 100, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 101, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 104, 2},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 106, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 106, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 109, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 112, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 113, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 116, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 117, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 118, 2},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 122, 0},
+        {0x5b, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 122, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 122, 0},
+    };
+
+const TInt KMaxStandardQwertyIndex_Portuguese = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_Portuguese[] =
+    {
+    2,  0x00EA,0x00E8,0xf000,0x00E9,0xf000,
+    3,  0xf000,0xf000,0xf000,0x0155,0xf000,
+    5,  0xf000,0xf000,0xf000,0x00FD,0xf000,
+    6,  0x00FB,0x00F9,0xf000,0x00FA,0xf000,
+    7,  0x00EE,0x00EC,0xf000,0x00ED,0xf000,
+    8,  0x00F4,0x00F2,0x00F5,0x00F3,0xf000,
+    11,  0x00E2,0x00E0,0x00E3,0x00E1,0xf000,
+    12,  0xf000,0xf000,0xf000,0x015B,0xf000,
+    19,  0xf000,0xf000,0xf000,0x013A,0xf000,
+    22,  0xf000,0xf000,0xf000,0x017A,0xf000,
+    24,  0xf000,0xf000,0xf000,0x0107,0xf000,
+    27,  0xf000,0xf000,0xf000,0x0144,0xf000,
+    35,  0x00CA,0x00C8,0xf000,0x00C9,0xf000,
+    36,  0xf000,0xf000,0xf000,0x0154,0xf000,
+    38,  0xf000,0xf000,0xf000,0x00DD,0xf000,
+    39,  0x00DB,0x00D9,0xf000,0x00DA,0xf000,
+    40,  0x00CE,0x00CC,0xf000,0x00CD,0xf000,
+    41,  0x00D4,0x00D2,0x00D5,0x00D3,0xf000,
+    44,  0x00C2,0x00C0,0x00C3,0x00C1,0xf000,
+    45,  0xf000,0xf000,0xf000,0x015A,0xf000,
+    52,  0xf000,0xf000,0xf000,0x0139,0xf000,
+    55,  0xf000,0xf000,0xf000,0x0179,0xf000,
+    57,  0xf000,0xf000,0xf000,0x0106,0xf000,
+    60,  0xf000,0xf000,0xf000,0x0143,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_Portuguese = 24;
+
+//
+// MiniQwerty keymap data table
+//
+const TUint16 MiniQwertyData_table_Portuguese[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00EA,0x00E9,0x00E8,0x00EB,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00FA,0x00FB,0x00F9,0x00FC,
+     0x0069,0x00ED,0x00EE,0x00EC,0x00EF,
+     0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8,
+     0x0070,
+     0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x0040,
+     0x003F,
+     0x00B4,
+     0x007E,
+     0x0051,
+     0x0057,
+     0x0045,0x00CA,0x00C9,0x00C8,0x00CB,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00DA,0x00DB,0x00D9,0x00DC,
+     0x0049,0x00CD,0x00CE,0x00CC,0x00CF,
+     0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8,
+     0x0050,
+     0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x003B,
+     0x003A,
+     0x0060,
+     0x005E,
+     0x0021,
+     0x0022,
+     0x0031,
+     0x0031,
+     0x0032,
+     0x0032,
+     0x0033,
+     0x0033,
+     0x002B,
+     0x002F,
+     0x0025,
+     0x0034,
+     0x0034,
+     0x0035,
+     0x0035,
+     0x0036,
+     0x0036,
+     0x00E7,
+     0x002D,
+     0x003D,
+     0x0037,
+     0x0037,
+     0x0038,
+     0x0038,
+     0x0039,
+     0x0039,
+     0x0027,
+     0x002A,
+     0x002A,
+     0x0030,
+     0x0030,
+     0x0023,
+     0x0023,
+     0x00C7,
+    };
+
+const TInt KMiniQwertyDataSize_Portuguese = 161;
+
+
+const TPtiKeyBinding MiniQwertyKeyBindings_table_Portuguese[] =
+    {
+        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 22, 8},
+        {EPtiKeyQwerty0, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
+        {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 59, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 60, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 5},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 73, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 75, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 77, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 8},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 96, 9},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 106, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 112, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 113, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 118, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 119, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 123, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 124, 1},
+        {EPtiKeyQwerty1, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwerty2, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwerty3, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwerty4, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwerty5, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwerty6, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwerty7, EPtiCaseFnLower, 133, 1},
+        {EPtiKeyQwerty8, EPtiCaseFnLower, 134, 1},
+        {EPtiKeyQwerty9, EPtiCaseFnLower, 135, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 136, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 137, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 138, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 139, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 140, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 141, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 142, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 143, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 144, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 145, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 146, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 147, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 148, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 149, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 150, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 151, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 152, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 153, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnUpper, 160, 1},
+    };
+
+const TInt KMaxMiniQwertyIndex_Portuguese = 84;
+
+//
+// MiniQwerty3x11 keymap data table
+//
+const TUint16 MiniQwerty3x11Data_table_Portuguese[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00EA,0x00E9,0x00E8,0x00EB,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00FA,0x00FB,0x00F9,0x00FC,
+     0x0069,0x00ED,0x00EE,0x00EC,0x00EF,
+     0x006F,0x00F5,0x00F4,0x00F3,0x00F2,0x00F6,0x00BA,0x00F8,
+     0x0070,
+     0x0061,0x00E2,0x00E1,0x00E0,0x00E3,0x00AA,0x00E4,0x00E5,0x00E6,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x00E7,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x0051,
+     0x0057,
+     0x0045,0x00CA,0x00C9,0x00C8,0x00CB,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00DA,0x00DB,0x00D9,0x00DC,
+     0x0049,0x00CD,0x00CE,0x00CC,0x00CF,
+     0x004F,0x00D5,0x00D4,0x00D3,0x00D2,0x00D6,0x00BA,0x00D8,
+     0x0050,
+     0x0041,0x00C2,0x00C1,0x00C0,0x00C3,0x00AA,0x00C4,0x00C5,0x00C6,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x00C7,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x0031,
+     0x0032,
+     0x0033,
+     0x0034,
+     0x0035,
+     0x0036,
+     0x0037,
+     0x0038,
+     0x0039,
+     0x0030,
+     0x0040,
+     0x002F,
+     0x002B,
+     0x002D,
+     0x002A,
+     0x0023,
+     0x003D,
+     0x003F,
+     0x0021,
+     0x0027,
+     0x0028,
+     0x0029,
+     0x0025,
+     0x002C,
+     0x002E,
+     0x003B,
+     0x003A,
+    };
+
+const TInt KMiniQwerty3x11DataSize_Portuguese = 146;
+
+
+const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Portuguese[] =
+    {
+        {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwertyY, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwertyU, EPtiCaseLower, 12, 5},
+        {EPtiKeyQwertyI, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwertyO, EPtiCaseLower, 22, 8},
+        {EPtiKeyQwertyP, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
+        {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 52, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 53, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 56, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 57, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 59, 1},
+        {EStdKeySpace, EPtiCaseLower, 60, 0},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 62, 5},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 68, 2},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 70, 2},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 72, 5},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 77, 5},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 82, 8},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 91, 9},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 100, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 101, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 104, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 106, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 107, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 112, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 118, 1},
+        {EStdKeySpace, EPtiCaseUpper, 119, 0},
+        {EPtiKeyQwertyQ, EPtiCaseFnLower, 119, 1},
+        {EPtiKeyQwertyW, EPtiCaseFnLower, 120, 1},
+        {EPtiKeyQwertyE, EPtiCaseFnLower, 121, 1},
+        {EPtiKeyQwertyR, EPtiCaseFnLower, 122, 1},
+        {EPtiKeyQwertyT, EPtiCaseFnLower, 123, 1},
+        {EPtiKeyQwertyY, EPtiCaseFnLower, 124, 1},
+        {EPtiKeyQwertyU, EPtiCaseFnLower, 125, 1},
+        {EPtiKeyQwertyI, EPtiCaseFnLower, 126, 1},
+        {EPtiKeyQwertyO, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwertyP, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 133, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 134, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 135, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 136, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 137, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 138, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 139, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 140, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 141, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 142, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 143, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 144, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 145, 1},
+    };
+
+const TInt KMaxMiniQwerty3x11Index_Portuguese = 83;
+
+//
+// Class implementation.
+//
+
+CPtiLangDataImplPortuguese* CPtiLangDataImplPortuguese::NewL()
+    {
+    return new (ELeave) CPtiLangDataImplPortuguese();
+    }
+
+
+TInt CPtiLangDataImplPortuguese::LanguageCode() const
+    {
+    return ELangPortuguese;
+    }
+
+
+const TUint16* CPtiLangDataImplPortuguese::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aDataSize = KMultitapDataSize_Portuguese;
+        return MultitapData_table_Portuguese;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aDataSize = KStandardQwertyDataSize_Portuguese;
+        return StandardQwertyData_table_Portuguese;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aDataSize = KMiniQwertyDataSize_Portuguese;
+        return MiniQwertyData_table_Portuguese;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aDataSize = KMiniQwerty3x11DataSize_Portuguese;
+        return MiniQwerty3x11Data_table_Portuguese;
+        }
+
+    aDataSize = 0;
+    return NULL;
+    }
+
+
+const TPtiKeyBinding* CPtiLangDataImplPortuguese::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aNumItems = KMaxMultitapIndex_Portuguese;
+        return MultitapKeyBindings_table_Portuguese;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumItems = KMaxStandardQwertyIndex_Portuguese;
+        return StandardQwertyKeyBindings_table_Portuguese;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aNumItems = KMaxMiniQwertyIndex_Portuguese;
+        return MiniQwertyKeyBindings_table_Portuguese;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aNumItems = KMaxMiniQwerty3x11Index_Portuguese;
+        return MiniQwerty3x11KeyBindings_table_Portuguese;
+        }
+
+    aNumItems = 0;
+    return NULL;
+    }
+
+
+const TUint16* CPtiLangDataImplPortuguese::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Portuguese;
+        return StandardQwertyDeadKeyData_table_Portuguese;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.h	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __PTI_LANGUAGES_ITUT_76_H__
+#define __PTI_LANGUAGES_ITUT_76_H__
+
+#include <PtiKeyMapData.h>
+
+
+//
+// Class declaration for language Portuguese 
+//
+class CPtiLangDataImplPortuguese : public CPtiKeyMapData
+    {
+    public:
+        static CPtiLangDataImplPortuguese* NewL();
+        TInt LanguageCode() const;
+        const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
+        const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
+    };
+
+#endif
+
+// End of file. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_76.mmp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project file for  keymapping data dll.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <platform_paths.hrh>
+
+TARGET       PtiKeymappings_ITUT_76.dll
+CAPABILITY   CAP_ECOM_PLUGIN
+targettype   PLUGIN
+UID	     0x10009D8D 0x2002BC83 
+
+sourcepath . 
+
+userinclude . 
+
+MW_LAYER_SYSTEMINCLUDE
+
+
+source PtiKeymappings_ITUT_76.cpp
+source PtiFactory_ITUT_76.cpp
+
+START RESOURCE 2002BC83.rss
+TARGET PtiKeymappings_ITUT_76.rsc
+END
+
+library	EUSER.LIB BAFL.LIB EFSRV.LIB
+library PtiEngine.lib
+
+START WINS
+	baseaddress	0x7dd10000
+END
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,206 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Romanian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x77,
-     0x65,0xe9,0x11b,0x119,
-     0x72,0x155,0x159,
-     0x74,0x163,0x165,
-     0x79,0xfd,
-     0x75,0xfa,0xfc,0x171,0xf9,0xfb,0x16f,
-     0x69,0xed,0xee,
-     0x6f,0xf3,0xf6,0xf4,0x151,
-     0x70,
-     0x103,
-     0x2d,
-     0x61,0xe1,0xe4,0x105,0x103,0xe2,
-     0x73,0x15f,0x15b,0x161,0xdf,
-     0x64,0x10f,0x111,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x13a,0x13e,0x142,
-     0xf001,0xb8,
-     0xe2,
-     0x7a,0x17a,0x17e,0x17c,
-     0x78,
-     0x63,0x107,0x10d,
-     0x76,
-     0x62,
-     0x6e,0x144,0x148,
-     0x6d,
-     0x2c,
-     0x2e,
-     0xee,
-     0x21,
-     0x22,
-     0x23,
-     0x40,
-     0x25,
-     0x26,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x2a,
-     0x51,
-     0x57,
-     0x45,0xc9,0x11a,0x118,
-     0x52,0x154,0x158,
-     0x54,0x162,0x164,
-     0x59,0xdd,
-     0x55,0xda,0xdc,0x170,0xd9,0xdb,0x16e,
-     0x49,0xcd,0xce,
-     0x4f,0xd3,0xd6,0xd4,0x150,
-     0x50,
-     0x102,
-     0x3d,
-     0x41,0xc1,0xc4,0x104,0x102,0xc2,
-     0x53,0x15e,0x15a,0x160,
-     0x44,0x10e,0x110,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x139,0x13d,0x141,
-     0xf001,0xb8,
-     0xc2,
-     0x5a,0x179,0x17d,0x17b,
-     0x58,
-     0x43,0x106,0x10c,
-     0x56,
-     0x42,
-     0x4e,0x143,0x147,
-     0x4d,
-     0x3b,
-     0x3a,
-     0xce,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0103,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x015F,
+     0x0163,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002E,
+     0x003F,
+     0x00E2,
+     0x00EE,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0102,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x015E,
+     0x0162,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002C,
+     0x0021,
+     0x00C2,
+     0x00CE,
     };
 
-const TInt KStandardQwertyDataSize_Romanian = 171;
+const TInt KStandardQwertyDataSize_Romanian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Romanian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 4},
-        {EPtiKeyQwertyR, EPtiCaseLower, 17, 3},
-        {EPtiKeyQwertyT, EPtiCaseLower, 20, 3},
-        {EPtiKeyQwertyY, EPtiCaseLower, 23, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 25, 7},
-        {EPtiKeyQwertyI, EPtiCaseLower, 32, 3},
-        {EPtiKeyQwertyO, EPtiCaseLower, 35, 5},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 6},
-        {EPtiKeyQwertyS, EPtiCaseLower, 49, 5},
-        {EPtiKeyQwertyD, EPtiCaseLower, 54, 3},
-        {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 62, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 66, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 69, 4},
-        {EPtiKeyQwertyX, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 74, 3},
-        {EPtiKeyQwertyV, EPtiCaseLower, 77, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 78, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 79, 3},
-        {EPtiKeyQwertyM, EPtiCaseLower, 82, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 83, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 84, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 85, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 88, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 89, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 90, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 94, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 96, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 97, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 98, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 99, 4},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 103, 3},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 106, 3},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 109, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 111, 7},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 118, 3},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 121, 5},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 129, 6},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 135, 4},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 139, 3},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 144, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 147, 4},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 151, 2},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 153, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 154, 4},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 158, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 159, 3},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 162, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 163, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 164, 3},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 167, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 168, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 169, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 170, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Romanian = 88;
-
-
-//
-// Dead key data table for StandardQwerty
-//
-const TUint16 StandardQwertyDeadKeyData_table_Romanian[] =
-    {
-    15,  0x0163,0xf000,0xf000,0xf000,0xf000,
-    24,  0x015F,0xf000,0xf000,0xf000,0xf000,
-    59,  0x0162,0xf000,0xf000,0xf000,0xf000,
-    68,  0x015E,0xf000,0xf000,0xf000,0xf000,
-    };
-
-const TInt KStandardQwertyDeadKeyTableRows_Romanian = 4;
+const TInt KMaxStandardQwertyIndex_Romanian = 92;
 
 //
 // MiniQwerty keymap data table
@@ -553,16 +521,3 @@
     }
 
 
-const TUint16* CPtiLangDataImplRomanian::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Romanian;
-        return StandardQwertyDeadKeyData_table_Romanian;
-        }
-
-    aNumRowsInArray = 0;
-    return NULL;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,7 +42,6 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
-        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_78.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,174 @@
 //
 const TUint16 StandardQwertyData_table_Serbian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x71,
-     0x77,
-     0x65,0xe8,0xe9,0xeb,0xea,
-     0x72,
-     0x74,
-     0x7a,
-     0x75,0xfc,0xf9,0xfb,0xfa,
-     0x69,0xee,0xef,0xec,0xed,0x131,
-     0x6f,0xf6,0xf4,0xf2,0xf3,0xf8,
-     0x70,
-     0x161,0x111,
-     0x2b,
-     0x61,0xe4,0xe0,0xe1,0xe2,
-     0x73,0xdf,
-     0x64,0x111,
-     0x66,
-     0x67,0x11f,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,0x142,
-     0x10d,
-     0x107,
-     0x79,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x17e,
-     0x21,
-     0x22,
-     0x23,
-     0x24,
-     0x40,
-     0x27,
-     0x2f,
-     0x28,
-     0x29,
-     0x3f,
-     0x3d,
-     0x51,
-     0x57,
-     0x45,0xc8,0xc9,0xcb,0xca,
-     0x52,
-     0x54,
-     0x5a,
-     0x55,0xdc,0xd9,0xdb,0xda,
-     0x49,0xce,0xcf,0xcc,0xcd,0x130,
-     0x4f,0xd6,0xd4,0xd2,0xd3,0xd8,
-     0x50,
-     0x160,0x110,
-     0x2a,
-     0x41,0xc4,0xc0,0xc1,0xc2,
-     0x53,
-     0x44,0x110,
-     0x46,
-     0x47,0x11e,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,0x141,
-     0x10c,
-     0x106,
-     0x59,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3b,
-     0x3a,
-     0x17d,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x007A,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0161,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x010D,
+     0x0107,
+     0x0079,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002E,
+     0x003F,
+     0x017E,
+     0x0111,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x005A,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0160,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x010C,
+     0x0106,
+     0x0059,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x002C,
+     0x0021,
+     0x017D,
+     0x0110,
     };
 
-const TInt KStandardQwertyDataSize_Serbian = 145;
+const TInt KStandardQwertyDataSize_Serbian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Serbian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 21, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 26, 6},
-        {EPtiKeyQwertyO, EPtiCaseLower, 32, 6},
-        {EPtiKeyQwertyP, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 39, 2},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 42, 5},
-        {EPtiKeyQwertyS, EPtiCaseLower, 47, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 49, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 51, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 52, 2},
-        {EPtiKeyQwertyH, EPtiCaseLower, 54, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 57, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 63, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 65, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 66, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 67, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 69, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 70, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 86, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 91, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 92, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 94, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 99, 6},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 105, 6},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 111, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 112, 2},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 114, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 115, 5},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 120, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 121, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 123, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 124, 2},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 127, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 128, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 129, 2},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 135, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 143, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 144, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Serbian = 88;
+const TInt KMaxStandardQwertyIndex_Serbian = 92;
 
 //
 // MiniQwerty keymap data table
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_79.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.cpp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,763 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <PtiKeyMapData.h>
+
+#include <languages.hrh>
+
+#include "PtiKeymappings_ITUT_83.h"
+
+//
+// Multitap keymap data table
+//
+const TUint16 MultitapData_table_Spanish[] =
+    {
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x61,0x62,0x63,0x32,0xe1,0xe0,0xaa,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
+     0x64,0x65,0x66,0x33,0xe9,0xe8,0xeb,0xea,0xf0,
+     0x67,0x68,0x69,0x34,0xed,0xee,0xef,0xec,
+     0x6a,0x6b,0x6c,0x35,0xa3,
+     0x6d,0x6e,0x6f,0x36,0xf1,0xf3,0xba,0xf6,0xf4,0xf2,0xf5,0xf8,
+     0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
+     0x74,0x75,0x76,0x38,0xfa,0xfc,0xf9,0xfb,
+     0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe,
+     0x20,0x30,0x21b2,
+     0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
+     0x41,0x42,0x43,0x32,0xc1,0xc0,0xaa,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
+     0x44,0x45,0x46,0x33,0xc9,0xc8,0xcb,0xca,0xd0,
+     0x47,0x48,0x49,0x34,0xcd,0xce,0xcf,0xcc,
+     0x4a,0x4b,0x4c,0x35,0xa3,
+     0x4d,0x4e,0x4f,0x36,0xd1,0xd3,0xba,0xd6,0xd4,0xd2,0xd5,0xd8,
+     0x50,0x51,0x52,0x53,0x37,0x24,
+     0x54,0x55,0x56,0x38,0xda,0xdc,0xd9,0xdb,
+     0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
+     0x20,0x30,0x21b2,
+    };
+
+const TInt KMultitapDataSize_Spanish = 203;
+
+
+const TPtiKeyBinding MultitapKeyBindings_table_Spanish[] =
+    {
+        {EPtiKey1, EPtiCaseLower, 0, 30},
+        {EPtiKey2, EPtiCaseLower, 30, 13},
+        {EPtiKey3, EPtiCaseLower, 43, 9},
+        {EPtiKey4, EPtiCaseLower, 52, 8},
+        {EPtiKey5, EPtiCaseLower, 60, 5},
+        {EPtiKey6, EPtiCaseLower, 65, 12},
+        {EPtiKey7, EPtiCaseLower, 77, 7},
+        {EPtiKey8, EPtiCaseLower, 84, 8},
+        {EPtiKey9, EPtiCaseLower, 92, 7},
+        {EPtiKeyStar, EPtiCaseLower, 99, 0},
+        {EPtiKey0, EPtiCaseLower, 99, 3},
+        {EPtiKeyHash, EPtiCaseLower, 102, 0},
+        {EPtiKey1, EPtiCaseUpper, 102, 30},
+        {EPtiKey2, EPtiCaseUpper, 132, 13},
+        {EPtiKey3, EPtiCaseUpper, 145, 9},
+        {EPtiKey4, EPtiCaseUpper, 154, 8},
+        {EPtiKey5, EPtiCaseUpper, 162, 5},
+        {EPtiKey6, EPtiCaseUpper, 167, 12},
+        {EPtiKey7, EPtiCaseUpper, 179, 6},
+        {EPtiKey8, EPtiCaseUpper, 185, 8},
+        {EPtiKey9, EPtiCaseUpper, 193, 7},
+        {EPtiKeyStar, EPtiCaseUpper, 200, 0},
+        {EPtiKey0, EPtiCaseUpper, 200, 3},
+        {EPtiKeyHash, EPtiCaseUpper, 203, 0},
+    };
+
+const TInt KMaxMultitapIndex_Spanish = 24;
+
+//
+// StandardQwerty keymap data table
+//
+const TUint16 StandardQwertyData_table_Spanish[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,
+     0x0072,0x0155,
+     0x0074,
+     0x0079,0x00FD,
+     0x0075,0x00FA,
+     0x0069,0x00ED,
+     0x006F,0x00F3,
+     0x0070,
+     0xF001,0x00B4,
+     0x0061,0x00E1,
+     0x0073,0x015B,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,0x013A,
+     0x00F1,
+     0x00E7,
+     0x007A,0x017A,
+     0x0078,
+     0x0063,0x0107,
+     0x0076,
+     0x0062,
+     0x006E,0x0144,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,
+     0x0052,0x0154,
+     0x0054,
+     0x0059,0x00DD,
+     0x0055,0x00DA,
+     0x0049,0x00CD,
+     0x004F,0x00D3,
+     0x0050,
+     0xF001,0x00B4,
+     0x0041,0x00C1,
+     0x0053,0x015A,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,0x0139,
+     0x00D1,
+     0x00C7,
+     0x005A,0x0179,
+     0x0058,
+     0x0043,0x0106,
+     0x0056,
+     0x0042,
+     0x004E,0x0143,
+     0x004D,
+     0x0027,
+     0x002D,
+     0x00BF,
+     0x00A1,
+    };
+
+const TInt KStandardQwertyDataSize_Spanish = 92;
+
+
+const TPtiKeyBinding StandardQwertyKeyBindings_table_Spanish[] =
+    {
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
+        {EPtiKeyQwerty3, EPtiCaseLower, 4, 2},
+        {EPtiKeyQwerty4, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 7, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 9, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 11, 2},
+        {EPtiKeyQwerty8, EPtiCaseLower, 13, 2},
+        {EPtiKeyQwerty9, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 16, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 18, 2},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 20, 2},
+        {EPtiKeyQwertyW, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 28, 2},
+        {EPtiKeyQwertyO, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 32, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 32, 2},
+        {EPtiKeyQwertyA, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 2},
+        {EPtiKeyQwertyH, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 46, 0},
+        {0x5b, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 46, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 53, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 55, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 57, 2},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 59, 2},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 62, 2},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 64, 2},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 2},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 74, 2},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 78, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 78, 2},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 81, 2},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 85, 2},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 92, 0},
+        {0x5b, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 92, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 92, 0},
+    };
+
+const TInt KMaxStandardQwertyIndex_Spanish = 92;
+
+
+//
+// Dead key data table for StandardQwerty
+//
+const TUint16 StandardQwertyDeadKeyData_table_Spanish[] =
+    {
+    2,  0x00E9,0xf000,0xf000,0xf000,0xf000,
+    3,  0x0155,0xf000,0xf000,0xf000,0xf000,
+    5,  0x00FD,0xf000,0xf000,0xf000,0xf000,
+    6,  0x00FA,0xf000,0xf000,0xf000,0xf000,
+    7,  0x00ED,0xf000,0xf000,0xf000,0xf000,
+    8,  0x00F3,0xf000,0xf000,0xf000,0xf000,
+    11,  0x00E1,0xf000,0xf000,0xf000,0xf000,
+    12,  0x015B,0xf000,0xf000,0xf000,0xf000,
+    19,  0x013A,0xf000,0xf000,0xf000,0xf000,
+    22,  0x017A,0xf000,0xf000,0xf000,0xf000,
+    24,  0x0107,0xf000,0xf000,0xf000,0xf000,
+    27,  0x0144,0xf000,0xf000,0xf000,0xf000,
+    35,  0x00C9,0xf000,0xf000,0xf000,0xf000,
+    36,  0x0154,0xf000,0xf000,0xf000,0xf000,
+    38,  0x00DD,0xf000,0xf000,0xf000,0xf000,
+    39,  0x00DA,0xf000,0xf000,0xf000,0xf000,
+    40,  0x00CD,0xf000,0xf000,0xf000,0xf000,
+    41,  0x00D3,0xf000,0xf000,0xf000,0xf000,
+    44,  0x00C1,0xf000,0xf000,0xf000,0xf000,
+    45,  0x015A,0xf000,0xf000,0xf000,0xf000,
+    52,  0x0139,0xf000,0xf000,0xf000,0xf000,
+    55,  0x0179,0xf000,0xf000,0xf000,0xf000,
+    57,  0x0106,0xf000,0xf000,0xf000,0xf000,
+    60,  0x0143,0xf000,0xf000,0xf000,0xf000,
+    };
+
+const TInt KStandardQwertyDeadKeyTableRows_Spanish = 24;
+
+//
+// MiniQwerty keymap data table
+//
+const TUint16 MiniQwertyData_table_Spanish[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,0x00EB,0x00E8,0x00EA,
+     0x0072,
+     0x0074,0x00FE,
+     0x0079,0x00FD,
+     0x0075,0x00FC,0x00FA,0x00F9,0x00FB,
+     0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
+     0x006F,0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,0x00BA,0x00F8,
+     0x0070,
+     0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E5,0x00E6,
+     0x0073,0x00DF,
+     0x0064,0x00F0,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x00F1,
+     0x00E7,
+     0x0040,
+     0x0027,
+     0x002C,
+     0x002E,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,0x00CB,0x00C8,0x00CA,
+     0x0052,
+     0x0054,0x00DE,
+     0x0059,0x00DD,
+     0x0055,0x00DC,0x00DA,0x00D9,0x00DB,
+     0x0049,0x00CD,0x00CF,0x00CC,0x00CE,
+     0x004F,0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,0x00BA,0x00D8,
+     0x0050,
+     0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C5,0x00C6,
+     0x0053,
+     0x0044,0x00D0,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x00D1,
+     0x00C7,
+     0x003B,
+     0x003A,
+     0x0021,
+     0x003F,
+     0x0031,
+     0x0031,
+     0x0032,
+     0x0032,
+     0x0033,
+     0x0033,
+     0x002B,
+     0x00A1,
+     0x00BF,
+     0x0034,
+     0x0034,
+     0x0035,
+     0x0035,
+     0x0036,
+     0x0036,
+     0x002D,
+     0x002F,
+     0x0022,
+     0x0037,
+     0x0037,
+     0x0038,
+     0x0038,
+     0x0039,
+     0x0039,
+     0x003D,
+     0x002A,
+     0x002A,
+     0x0030,
+     0x0030,
+     0x0023,
+     0x0023,
+    };
+
+const TInt KMiniQwertyDataSize_Spanish = 160;
+
+
+const TPtiKeyBinding MiniQwertyKeyBindings_table_Spanish[] =
+    {
+        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
+        {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
+        {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
+        {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
+        {EPtiKeyQwerty9, EPtiCaseLower, 22, 8},
+        {EPtiKeyQwerty0, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
+        {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
+        {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 59, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 60, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 67, 5},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 73, 2},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 75, 2},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 77, 5},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 5},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 87, 8},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 96, 9},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 105, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 106, 2},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 108, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 109, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 110, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 111, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 112, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 113, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 114, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 115, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 116, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 118, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 119, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 120, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 122, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 123, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 124, 1},
+        {EPtiKeyQwerty1, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwerty2, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwerty3, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwerty4, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwerty5, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwerty6, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwerty7, EPtiCaseFnLower, 133, 1},
+        {EPtiKeyQwerty8, EPtiCaseFnLower, 134, 1},
+        {EPtiKeyQwerty9, EPtiCaseFnLower, 135, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 136, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 137, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 138, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 139, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 140, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 141, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 142, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 143, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 144, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 145, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 146, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 147, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 148, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 149, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 150, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 151, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 152, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 153, 1},
+    };
+
+const TInt KMaxMiniQwertyIndex_Spanish = 83;
+
+//
+// MiniQwerty3x11 keymap data table
+//
+const TUint16 MiniQwerty3x11Data_table_Spanish[] =
+    {
+     0x0071,
+     0x0077,
+     0x0065,0x00E9,0x00E8,0x00EA,0x00EB,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,0x00FA,0x00FC,0x00F9,0x00FB,
+     0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
+     0x006F,0x00F3,0x00BA,0x00F2,0x00F4,0x00F5,
+     0x0070,
+     0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E6,
+     0x0073,0x00DF,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x002E,
+     0x007A,
+     0x0078,
+     0x0063,0x00E7,
+     0x0076,
+     0x0062,
+     0x006E,0x00F1,
+     0x006D,
+     0x0051,
+     0x0057,
+     0x0045,0x00C9,0x00C8,0x00CA,0x00CB,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,0x00DA,0x00DC,0x00D9,0x00DB,
+     0x0049,0x00CD,0x00CF,0x00CC,0x00CE,
+     0x004F,0x00D3,0x00BA,0x00D2,0x00D4,0x00D5,
+     0x0050,
+     0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C6,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x002C,
+     0x005A,
+     0x0058,
+     0x0043,0x00C7,
+     0x0056,
+     0x0042,
+     0x004E,0x00D1,
+     0x004D,
+     0x0031,
+     0x0032,
+     0x0033,
+     0x0034,
+     0x0035,
+     0x0036,
+     0x0037,
+     0x0038,
+     0x0039,
+     0x0030,
+     0x0040,
+     0x002F,
+     0x002D,
+     0x002B,
+     0x003D,
+     0x0023,
+     0x002A,
+     0x003B,
+     0x003A,
+     0x0027,
+     0x0028,
+     0x0029,
+     0x0025,
+     0x0026,
+     0x0022,
+     0x003F,
+     0x0021,
+    };
+
+const TInt KMiniQwerty3x11DataSize_Spanish = 134;
+
+
+const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Spanish[] =
+    {
+        {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
+        {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 10, 5},
+        {EPtiKeyQwertyI, EPtiCaseLower, 15, 5},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 6},
+        {EPtiKeyQwertyP, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 27, 8},
+        {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
+        {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 44, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 45, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 46, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 47, 2},
+        {EPtiKeyQwertyV, EPtiCaseLower, 49, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 50, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 51, 2},
+        {EPtiKeyQwertyM, EPtiCaseLower, 53, 1},
+        {EStdKeySpace, EPtiCaseLower, 54, 0},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 56, 5},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 64, 5},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 69, 5},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 74, 6},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 81, 8},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 89, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 90, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 91, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 92, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 93, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 94, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 95, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 96, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 97, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 98, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 99, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 100, 2},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 102, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 103, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 104, 2},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 106, 1},
+        {EStdKeySpace, EPtiCaseUpper, 107, 0},
+        {EPtiKeyQwertyQ, EPtiCaseFnLower, 107, 1},
+        {EPtiKeyQwertyW, EPtiCaseFnLower, 108, 1},
+        {EPtiKeyQwertyE, EPtiCaseFnLower, 109, 1},
+        {EPtiKeyQwertyR, EPtiCaseFnLower, 110, 1},
+        {EPtiKeyQwertyT, EPtiCaseFnLower, 111, 1},
+        {EPtiKeyQwertyY, EPtiCaseFnLower, 112, 1},
+        {EPtiKeyQwertyU, EPtiCaseFnLower, 113, 1},
+        {EPtiKeyQwertyI, EPtiCaseFnLower, 114, 1},
+        {EPtiKeyQwertyO, EPtiCaseFnLower, 115, 1},
+        {EPtiKeyQwertyP, EPtiCaseFnLower, 116, 1},
+        {EPtiKeyQwertyA, EPtiCaseFnLower, 117, 1},
+        {EPtiKeyQwertyS, EPtiCaseFnLower, 118, 1},
+        {EPtiKeyQwertyD, EPtiCaseFnLower, 119, 1},
+        {EPtiKeyQwertyF, EPtiCaseFnLower, 120, 1},
+        {EPtiKeyQwertyG, EPtiCaseFnLower, 121, 1},
+        {EPtiKeyQwertyH, EPtiCaseFnLower, 122, 1},
+        {EPtiKeyQwertyJ, EPtiCaseFnLower, 123, 1},
+        {EPtiKeyQwertyK, EPtiCaseFnLower, 124, 1},
+        {EPtiKeyQwertyL, EPtiCaseFnLower, 125, 1},
+        {EPtiKeyQwertyComma, EPtiCaseFnLower, 126, 1},
+        {EPtiKeyQwertyZ, EPtiCaseFnLower, 127, 1},
+        {EPtiKeyQwertyX, EPtiCaseFnLower, 128, 1},
+        {EPtiKeyQwertyC, EPtiCaseFnLower, 129, 1},
+        {EPtiKeyQwertyV, EPtiCaseFnLower, 130, 1},
+        {EPtiKeyQwertyB, EPtiCaseFnLower, 131, 1},
+        {EPtiKeyQwertyN, EPtiCaseFnLower, 132, 1},
+        {EPtiKeyQwertyM, EPtiCaseFnLower, 133, 1},
+    };
+
+const TInt KMaxMiniQwerty3x11Index_Spanish = 83;
+
+//
+// Class implementation.
+//
+
+CPtiLangDataImplSpanish* CPtiLangDataImplSpanish::NewL()
+    {
+    return new (ELeave) CPtiLangDataImplSpanish();
+    }
+
+
+TInt CPtiLangDataImplSpanish::LanguageCode() const
+    {
+    return ELangSpanish;
+    }
+
+
+const TUint16* CPtiLangDataImplSpanish::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aDataSize = KMultitapDataSize_Spanish;
+        return MultitapData_table_Spanish;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aDataSize = KStandardQwertyDataSize_Spanish;
+        return StandardQwertyData_table_Spanish;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aDataSize = KMiniQwertyDataSize_Spanish;
+        return MiniQwertyData_table_Spanish;
+        }
+
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aDataSize = KMiniQwerty3x11DataSize_Spanish;
+        return MiniQwerty3x11Data_table_Spanish;
+        }
+
+    aDataSize = 0;
+    return NULL;
+    }
+
+
+const TPtiKeyBinding* CPtiLangDataImplSpanish::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
+    {
+    if (aKeyboardType == EPtiKeyboard12Key)
+        {
+        aNumItems = KMaxMultitapIndex_Spanish;
+        return MultitapKeyBindings_table_Spanish;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumItems = KMaxStandardQwertyIndex_Spanish;
+        return StandardQwertyKeyBindings_table_Spanish;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty4x10)
+        {
+        aNumItems = KMaxMiniQwertyIndex_Spanish;
+        return MiniQwertyKeyBindings_table_Spanish;
+        }
+    if (aKeyboardType == EPtiKeyboardQwerty3x11)
+        {
+        aNumItems = KMaxMiniQwerty3x11Index_Spanish;
+        return MiniQwerty3x11KeyBindings_table_Spanish;
+        }
+
+    aNumItems = 0;
+    return NULL;
+    }
+
+
+const TUint16* CPtiLangDataImplSpanish::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
+    {
+    if (aKeyboardType == EPtiKeyboardQwerty4x12)
+        {
+        aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Spanish;
+        return StandardQwertyDeadKeyData_table_Spanish;
+        }
+
+    aNumRowsInArray = 0;
+    return NULL;
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.h	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Keymapping data implementation for 
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __PTI_LANGUAGES_ITUT_83_H__
+#define __PTI_LANGUAGES_ITUT_83_H__
+
+#include <PtiKeyMapData.h>
+
+
+//
+// Class declaration for language Spanish 
+//
+class CPtiLangDataImplSpanish : public CPtiKeyMapData
+    {
+    public:
+        static CPtiLangDataImplSpanish* NewL();
+        TInt LanguageCode() const;
+        const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
+        const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
+        const TUint16* DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const;
+    };
+
+#endif
+
+// End of file. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_83.mmp	Tue May 11 16:31:42 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project file for  keymapping data dll.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+#include <platform_paths.hrh>
+
+TARGET       PtiKeymappings_ITUT_83.dll
+CAPABILITY   CAP_ECOM_PLUGIN
+targettype   PLUGIN
+UID	     0x10009D8D 0x2002BC85 
+
+sourcepath . 
+
+userinclude . 
+
+MW_LAYER_SYSTEMINCLUDE
+
+
+source PtiKeymappings_ITUT_83.cpp
+source PtiFactory_ITUT_83.cpp
+
+START RESOURCE 2002BC85.rss
+TARGET PtiKeymappings_ITUT_83.rsc
+END
+
+library	EUSER.LIB BAFL.LIB EFSRV.LIB
+library PtiEngine.lib
+
+START WINS
+	baseaddress	0x7dd10000
+END
+
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Ukrainian[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2d,
-     0x439,
-     0x446,
-     0x443,
-     0x43a,
-     0x435,
-     0x43d,
-     0x433,
-     0x448,
-     0x449,
-     0x437,
-     0x445,
-     0x2b,
-     0x444,
-     0x44b,
-     0x432,
-     0x430,
-     0x43f,
-     0x440,
-     0x43e,
-     0x43b,
-     0x434,
-     0x436,
-     0x44d,
-     0x44f,
-     0x447,
-     0x441,
-     0x43c,
-     0x438,
-     0x442,
-     0x44c,
-     0x431,
-     0x44e,
-     0x2e,
-     0x21,
-     0x22,
-     0x40,
-     0x3b,
-     0x3d,
-     0x3a,
-     0x3f,
-     0x2a,
-     0x28,
-     0x29,
-     0x2f,
-     0x419,
-     0x426,
-     0x423,
-     0x41a,
-     0x415,
-     0x41d,
-     0x413,
-     0x428,
-     0x429,
-     0x417,
-     0x425,
-     0x23,
-     0x424,
-     0x42b,
-     0x412,
-     0x410,
-     0x41f,
-     0x420,
-     0x41e,
-     0x41b,
-     0x414,
-     0x416,
-     0x42d,
-     0x42f,
-     0x427,
-     0x421,
-     0x41c,
-     0x418,
-     0x422,
-     0x42c,
-     0x411,
-     0x42e,
-     0x2c,
+     0x0439,
+     0x0446,
+     0x0443,
+     0x043A,
+     0x0435,
+     0x043D,
+     0x0433,
+     0x0448,
+     0x0449,
+     0x0437,
+     0x0445,
+     0x0444,
+     0x0456,
+     0x0432,
+     0x0430,
+     0x043F,
+     0x0440,
+     0x043E,
+     0x043B,
+     0x0434,
+     0x0436,
+     0x0454,
+     0x0457 ,
+     0x044F,
+     0x0447,
+     0x0441,
+     0x043C,
+     0x0438,
+     0x0442,
+     0x044C,
+     0x0431,
+     0x044E,
+     0x002E,
+     0x0419,
+     0x0426,
+     0x0423,
+     0x041A,
+     0x0415,
+     0x041D,
+     0x0413,
+     0x0428,
+     0x0429,
+     0x0417,
+     0x0425,
+     0x0424,
+     0x0406,
+     0x0412,
+     0x0410,
+     0x041F,
+     0x0420,
+     0x041E,
+     0x041B,
+     0x0414,
+     0x0416,
+     0x0404,
+     0x0407 ,
+     0x042F,
+     0x0427,
+     0x0421,
+     0x041C,
+     0x0418,
+     0x0422,
+     0x042C,
+     0x0411,
+     0x042E,
+     0x002C,
     };
 
-const TInt KStandardQwertyDataSize_Ukrainian = 88;
+const TInt KStandardQwertyDataSize_Ukrainian = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Ukrainian[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,78 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Ukrainian = 88;
-
+const TInt KMaxStandardQwertyIndex_Ukrainian = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Ukrainian[] =
-	{
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Ukrainian = 3;
-//
 // MiniQwerty keymap data table
 //
 const TUint16 MiniQwertyData_table_Ukrainian[] =
@@ -573,12 +543,6 @@
 
 const TPtiNumericKeyBinding* CPtiLangDataImplUkrainian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
     {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Ukrainian;
-        return StandardQwertyNumericKeysData_table_Ukrainian;
-        }
-
     if (aKeyboardType == EPtiKeyboardQwerty4x10)
         {
         aNumEntries = KNumMiniQwertyNumericKeysEntries_Ukrainian;
@@ -590,10 +554,3 @@
     }
 
 
-
-TBool CPtiLangDataImplUkrainian::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -43,7 +43,6 @@
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
         const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,123 +97,102 @@
 //
 const TUint16 StandardQwertyData_table_Urdu[] =
     {
-     0x06f1,
-     0x06f2,
-     0x06f3,
-     0x06f4,
-     0x06f5,
-     0x06f6,
-     0x06f7,
-     0x06f8,
-     0x06f9,
-     0x06f0,
      0x0637,
      0x0635,
-     0x06be,
-     0x062f,
-     0x06BB,
-     0x067e,
-     0x062a,
+     0x06BE,
+     0x062F,
+     0x0679,
+     0x067E,
+     0x062A,
      0x0628,
-     0x062c,
-     0x062d,
-     0x002d,
-     0x003d,
+     0x062C,
+     0x062D,
+     0x0021,
      0x0645,
      0x0648,
      0x0631,
      0x0646,
      0x0644,
-     0x0647,
+     0x06C1,
      0x0627,
-     0x06a9,
-     0x06cc,
-     0x061b,
-     0x0027,
-     0x005c,
+     0x06A9,
+     0x06CC,
+     0x061B,
+     0x005C,
      0x0642,
      0x0641,
-     0x06d2,
+     0x06D2,
      0x0633,
      0x0634,
-     0x063a,
+     0x063A,
      0x0639,
-     0x060c,
-     0x06d4,
-     0x002f,
-     0x0021,
-     0x0040,
-     0x0023,
-     0x0024,
-     0x066a,
-     0x005e,
-     0x0029,
-     0x0028,
-     0x005f,
-     0x002b,
+     0x060C,
+     0x002E,
+     0x002F,
+     0x061F,
      0x0638,
      0x0636,
      0x0630,
      0x0688,
-     0x062b,
-     0x067e,
-     0x06c3,
+     0x062B,
+     0x06C3,
      0x0628,
      0x0686,
-     0x062e,
-     0x007d,
-     0x007b,
+     0x062E,
+     0x0029,
+     0x0028,
      0x0698,
      0x0632,
      0x0691,
-     0x06ba,
-     0x06c2,
+     0x06BA,
+     0x06C2,
      0x0621,
      0x0622,
-     0x06af,
-     0x064a,
-     0x003a,
+     0x06AF,
+     0x064A,
+     0x003A,
      0x0022,
-     0x002a,
-     0x200d,
-     0x200c,
-     0x06d3,
-     0x200e,
+     0x200C,
+     0x200D,
+     0x06D3,
+     0x200E,
      0x0624,
      0x0626,
-     0x200f,
-     0x003e,
-     0x003c,
-     0x061f,
+     0x200F,
+     0x003E,
+     0x003C,
+     0x005F,
+     0x0640,
     };
 
-const TInt KStandardQwertyDataSize_Urdu = 88;
+const TInt KStandardQwertyDataSize_Urdu = 66;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Urdu[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
-        {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
-        {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
-        {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
-        {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
-        {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
@@ -225,93 +204,69 @@
         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
-        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
-        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
+        {0x5b, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
     };
 
-const TInt KMaxStandardQwertyIndex_Urdu = 88;
-
+const TInt KMaxStandardQwertyIndex_Urdu = 92;
 
 //
-// Numeric key data table for StandardQwerty
-//
-const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Urdu[] =
-	{
-	{'*',EPtiKeyQwerty7,EPtiCaseUpper},
-	{'p',EPtiKeyQwertyP,EPtiCaseLower},
-	{'w',EPtiKeyQwertyW,EPtiCaseLower},
-	{'1',EPtiKeyQwerty1,EPtiCaseLower},
-	{'2',EPtiKeyQwerty2,EPtiCaseLower},
-	{'3',EPtiKeyQwerty3,EPtiCaseLower},
-	{'4',EPtiKeyQwerty4,EPtiCaseLower},
-	{'5',EPtiKeyQwerty5,EPtiCaseLower},
-	{'6',EPtiKeyQwerty6,EPtiCaseLower},
-	{'7',EPtiKeyQwerty7,EPtiCaseLower},
-	{'8',EPtiKeyQwerty8,EPtiCaseLower},
-	{'9',EPtiKeyQwerty9,EPtiCaseLower},
-	{'0',EPtiKeyQwerty0,EPtiCaseLower},
-	{';',EPtiKeyQwertySemicolon,EPtiCaseLower},
-	{'.',EPtiKeyQwertyFullstop,EPtiCaseLower},
-	{',',EPtiKeyQwertyComma,EPtiCaseLower},
-	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
-	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
-	};
-
-const TInt KNumStandardQwertyNumericKeysEntries_Urdu = 18;
-//
 // Class implementation.
 //
 
@@ -363,23 +318,3 @@
     }
 
 
-const TPtiNumericKeyBinding* CPtiLangDataImplUrdu::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
-    {
-    if (aKeyboardType == EPtiKeyboardQwerty4x12)
-        {
-        aNumEntries = KNumStandardQwertyNumericKeysEntries_Urdu;
-        return StandardQwertyNumericKeysData_table_Urdu;
-        }
-
-    aNumEntries = 0;
-    return NULL;
-    }
-
-
-
-TBool CPtiLangDataImplUrdu::SuitableForLatinOnlyMode() const
-    {
-    return EFalse;
-    }
-
-
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -42,8 +42,6 @@
         TInt LanguageCode() const;
         const TUint16* KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const;
         const TPtiKeyBinding* KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const;
-        const TPtiNumericKeyBinding* NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const;
-        TBool SuitableForLatinOnlyMode() const;
     };
 
 #endif
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.cpp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
@@ -97,192 +97,196 @@
 //
 const TUint16 StandardQwertyData_table_Vietnamese[] =
     {
-     0x31,
-     0x32,
-     0x33,
-     0x34,
-     0x35,
-     0x36,
-     0x37,
-     0x38,
-     0x39,
-     0x30,
-     0x2b,
-     0x71,
-     0x1b0,
-     0x65,0xe8,0xe9,0xea,0xeb,
-     0x72,
-     0x74,0xfe,
-     0x79,0xfd,
-     0x75,0xf9,0xfa,0xfb,0xfc,
-     0x69,0xec,0xed,0xee,0xef,
-     0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,
-     0x70,
-     0x2d,
-     0x23,
-     0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,
-     0x73,0xdf,
-     0x64,0xf0,
-     0x66,
-     0x67,
-     0x68,
-     0x6a,
-     0x6b,
-     0x6c,
-     0x3b,
-     0x27,
-     0x7a,
-     0x78,
-     0x63,0xe7,
-     0x76,
-     0x62,
-     0x6e,0xf1,
-     0x6d,
-     0x2c,
-     0x2e,
-     0x2f,
-     0x21,
-     0x22,
-     0xa3,
-     0x24,
-     0x20ac,
-     0x25,
-     0x26,
-     0x2a,
-     0x28,
-     0x29,
-     0x3d,
-     0x51,
-     0x1af,
-     0x45,0xc8,0xc9,0xca,0xcb,
-     0x52,
-     0x54,0xde,
-     0x59,0xdd,
-     0x55,0xd9,0xda,0xdb,0xdc,
-     0x49,0xcc,0xcd,0xce,0xcf,
-     0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,
-     0x50,
-     0x5f,
-     0x7e,
-     0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,
-     0x53,
-     0x44,0xd0,
-     0x46,
-     0x47,
-     0x48,
-     0x4a,
-     0x4b,
-     0x4c,
-     0x3a,
-     0x40,
-     0x5a,
-     0x58,
-     0x43,0xc7,
-     0x56,
-     0x42,
-     0x4e,0xd1,
-     0x4d,
-     0x3c,
-     0x3e,
-     0x3f,
+     0x0301,
+     0x0300,
+     0x0309,
+     0x0303,
+     0x0323,
+     0x0103,
+     0x00E2,
+     0x00EA,
+     0x00F4,
+     0x01A1,
+     0x01B0,
+     0x0071,
+     0x0077,
+     0x0065,
+     0x0072,
+     0x0074,
+     0x0079,
+     0x0075,
+     0x0069,
+     0x006F,
+     0x0070,
+     0x0111,
+     0x0061,
+     0x0073,
+     0x0064,
+     0x0066,
+     0x0067,
+     0x0068,
+     0x006A,
+     0x006B,
+     0x006C,
+     0x0027,
+     0x002D,
+     0x007A,
+     0x0078,
+     0x0063,
+     0x0076,
+     0x0062,
+     0x006E,
+     0x006D,
+     0x002C,
+     0x002E,
+     0x003F,
+     0x0021,
+     0x0301,
+     0x0300,
+     0x0309,
+     0x0303,
+     0x0323,
+     0x0102,
+     0x00C2,
+     0x00CA,
+     0x00D4,
+     0x01A0,
+     0x01AF,
+     0x0051,
+     0x0057,
+     0x0045,
+     0x0052,
+     0x0054,
+     0x0059,
+     0x0055,
+     0x0049,
+     0x004F,
+     0x0050,
+     0x0110,
+     0x0041,
+     0x0053,
+     0x0044,
+     0x0046,
+     0x0047,
+     0x0048,
+     0x004A,
+     0x004B,
+     0x004C,
+     0x0022,
+     0x002B,
+     0x005A,
+     0x0058,
+     0x0043,
+     0x0056,
+     0x0042,
+     0x004E,
+     0x004D,
+     0x0026,
+     0x0023,
+     0x002F,
+     0x005C,
     };
 
-const TInt KStandardQwertyDataSize_Vietnamese = 149;
+const TInt KStandardQwertyDataSize_Vietnamese = 88;
 
 
 const TPtiKeyBinding StandardQwertyKeyBindings_table_Vietnamese[] =
     {
-        {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
-        {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
-        {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
-        {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
-        {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
-        {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
-        {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
-        {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
-        {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
-        {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
-        {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
-        {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
-        {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
-        {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
-        {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
-        {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
-        {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
-        {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
-        {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
-        {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
-        {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
-        {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
-        {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
-        {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
-        {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
-        {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
-        {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
-        {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
-        {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
-        {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
-        {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
-        {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
-        {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
-        {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
-        {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
-        {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
-        {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
-        {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
-        {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
-        {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
-        {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
-        {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
-        {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
-        {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
-        {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
-        {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
-        {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
-        {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
-        {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
-        {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
-        {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
-        {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
-        {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
-        {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
-        {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
-        {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
-        {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
-        {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
-        {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
-        {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
-        {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
-        {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
-        {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
-        {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
-        {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
-        {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
-        {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
-        {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
-        {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
-        {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
-        {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
-        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
-        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
-        {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
-        {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
-        {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
-        {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
-        {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
-        {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
-        {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
-        {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
-        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
-        {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
+        {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
+        {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
+        {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
+        {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
+        {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
+        {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
+        {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
+        {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
+        {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
+        {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
+        {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
+        {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
+        {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
+        {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
+        {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
+        {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
+        {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
+        {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
+        {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
+        {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
+        {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
+        {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
+        {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
+        {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
+        {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
+        {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
+        {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
+        {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
+        {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
+        {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
+        {0x5b, EPtiCaseLower, 33, 1},
+        {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
+        {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
+        {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
+        {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
+        {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
+        {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
+        {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
+        {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
+        {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
+        {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 44, 1},
+        {EPtiKeyQwerty1, EPtiCaseUpper, 45, 1},
+        {EPtiKeyQwerty2, EPtiCaseUpper, 46, 1},
+        {EPtiKeyQwerty3, EPtiCaseUpper, 47, 1},
+        {EPtiKeyQwerty4, EPtiCaseUpper, 48, 1},
+        {EPtiKeyQwerty5, EPtiCaseUpper, 49, 1},
+        {EPtiKeyQwerty6, EPtiCaseUpper, 50, 1},
+        {EPtiKeyQwerty7, EPtiCaseUpper, 51, 1},
+        {EPtiKeyQwerty8, EPtiCaseUpper, 52, 1},
+        {EPtiKeyQwerty9, EPtiCaseUpper, 53, 1},
+        {EPtiKeyQwerty0, EPtiCaseUpper, 54, 1},
+        {EPtiKeyQwertyPlus, EPtiCaseUpper, 55, 1},
+        {EPtiKeyQwertyQ, EPtiCaseUpper, 56, 1},
+        {EPtiKeyQwertyW, EPtiCaseUpper, 57, 1},
+        {EPtiKeyQwertyE, EPtiCaseUpper, 58, 1},
+        {EPtiKeyQwertyR, EPtiCaseUpper, 59, 1},
+        {EPtiKeyQwertyT, EPtiCaseUpper, 60, 1},
+        {EPtiKeyQwertyY, EPtiCaseUpper, 61, 1},
+        {EPtiKeyQwertyU, EPtiCaseUpper, 62, 1},
+        {EPtiKeyQwertyI, EPtiCaseUpper, 63, 1},
+        {EPtiKeyQwertyO, EPtiCaseUpper, 64, 1},
+        {EPtiKeyQwertyP, EPtiCaseUpper, 65, 1},
+        {EPtiKeyQwertyMinus, EPtiCaseUpper, 66, 0},
+        {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
+        {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
+        {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
+        {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
+        {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
+        {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
+        {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
+        {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
+        {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
+        {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
+        {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
+        {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 0},
+        {0x5b, EPtiCaseUpper, 77, 1},
+        {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
+        {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
+        {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
+        {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
+        {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
+        {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
+        {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
+        {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
+        {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
+        {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
     };
 
-const TInt KMaxStandardQwertyIndex_Vietnamese = 88;
+const TInt KMaxStandardQwertyIndex_Vietnamese = 92;
 
 
 const TVowelSequence StandardQwertyVowelSeq_table_Vietnamese[] =
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.h	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.h	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.mmp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/PtiKeymappings_ITUT_96.mmp	Tue May 11 16:31:42 2010 +0300
@@ -1,8 +1,8 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/textinput/ptienginev2/languages/bld.inf	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/languages/bld.inf	Tue May 11 16:31:42 2010 +0300
@@ -1,10 +1,10 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html". 
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
@@ -204,6 +204,16 @@
 
 PRJ_MMPFILES
 #if defined(WINS)
+PtiKeymappings_ITUT_83.mmp
+#endif
+
+PRJ_MMPFILES
+#if defined(WINS)
+PtiKeymappings_ITUT_76.mmp
+#endif
+
+PRJ_MMPFILES
+#if defined(WINS)
 PtiKeymappings_ITUT_06.mmp
 #endif
 
@@ -256,3 +266,18 @@
 #if defined(WINS)
 PtiKeymappings_ITUT_103.mmp
 #endif
+
+PRJ_MMPFILES
+#if defined(WINS)
+PtiKeymappings_ITUT_157.mmp
+#endif
+
+PRJ_MMPFILES
+#if defined(WINS)
+PtiKeymappings_ITUT_51.mmp
+#endif
+
+PRJ_MMPFILES
+#if defined(WINS)
+PtiKeymappings_ITUT_161.mmp
+#endif
--- a/textinput/ptienginev2/src/PtiEngineImpl.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/ptienginev2/src/PtiEngineImpl.cpp	Tue May 11 16:31:42 2010 +0300
@@ -134,6 +134,43 @@
 
 // Local method declarations.
 LOCAL_C TInt RemapVietnameseAccentedCharacter(TUint16 aChr);
+LOCAL_C TBool IsRegionalLang(TInt aVariantCode, TInt& aMainCode)
+    {   
+    TBool ret = ETrue;
+    switch(aVariantCode)
+        {
+        case ELangBrazilianPortuguese:
+            aMainCode = ELangPortuguese;
+            break;
+        case ELangCanadianFrench:
+            aMainCode = ELangFrench;
+            break;
+        case ELangLatinAmericanSpanish:
+            aMainCode = ELangSpanish;
+            break;
+        case ELangEnglish_Taiwan:
+            aMainCode = ELangEnglish;
+            break;
+        default:
+            aMainCode = aVariantCode; 
+            ret = EFalse;
+        }
+    return ret;
+    }
+LOCAL_C TBool AlreadyExistLang(CArrayPtrFlat<CPtiCoreLanguage>* aLangArray, TInt aLangCode)
+    {
+    if (aLangArray)
+        {
+        for (TInt i=0; i < aLangArray->Count(); i++)
+            {
+            if (aLangArray->At(i)->LanguageCode() == aLangCode)
+                {
+                return ETrue;
+                }
+            }
+        }
+    return EFalse;
+    }
 const TUid KXt9ImplementationUid = {0x102830B9};
 	
 //
@@ -287,13 +324,21 @@
 #endif
 		for (TInt i = 0; i < count; i++)
 			{
+		    TInt code = 0;		    
 			if ((iLanguages->At(i)->LanguageCode() != ELangNumeric)
 #ifdef RD_HINDI_PHONETIC_INPUT
 				&& (iLanguages->At(i)->LanguageCode() != KLangHindiPhonetic)
 #endif
                 )
 				{
-				aResult->AppendL(iLanguages->At(i)->LanguageCode());
+			    if(IsRegionalLang(iLanguages->At(i)->LanguageCode(),code))
+                    {
+                    if(AlreadyExistLang(iLanguages,code))
+                        {
+                        continue;
+                        }
+                    }
+				aResult->AppendL(code);
 #ifdef RD_HINDI_PHONETIC_INPUT
 				if (iLanguages->At(i)->LanguageCode() == ELangHindi && isIndicPhoneticInputPresent)
 					aResult->AppendL(KLangHindiPhonetic);
@@ -2894,11 +2939,19 @@
 	const TInt count = iLanguages->Count();
 	for (TInt i = 0; i < count; i++)
 		{
+	    TInt code = 0;
 		if (iLanguages->At(i)->LanguageCode() != ELangNumeric)
 			{
-			aResult.AppendL(iLanguages->At(i)->LanguageCode());
-			}
-		}	
+		    if(IsRegionalLang(iLanguages->At(i)->LanguageCode(),code))
+		        {
+		        if(AlreadyExistLang(iLanguages,code))
+		            {
+		            continue;
+			        }
+		        }	
+			aResult.AppendL(code);
+		    }	
+		}
     CleanupStack::Pop();
 	}