void PolishKeyboardData::initBottomKeyShiftCode()
{
    const QChar chs[] = {Polish_Character[1][0], Polish_Character[2][0],
            Polish_Character[3][0], Polish_Character[4][0],
            Polish_Character[5][0]};
    for (int i=0; i<5; i++)
    {
        ODataPtr dd(createData(QString(chs[i])));
        bottom_shift_codes_.push_back(dd);
    }

    bottom_shift_codes_.push_back(ODataPtr(createSpaceData()));
    bottom_shift_codes_.push_back(ODataPtr(createBackspaceData()));

    const QChar chs_next[] = {Polish_Character[7][0], Polish_Character[8][0], Polish_Character[6][0]};//{'?', ':'};
    for (int i=0; i<3; i++)
    {
        ODataPtr dd(createData(QString(chs_next[i])));
        bottom_shift_codes_.push_back(dd);
    }

    
    //dd = createEnterData();
    //bottom_shift_codes_.push_back(dd);
}
void HebrewKeyboardData::initBottomKeyCode()
{
    const QChar chs[] = {'+', '-', '.', '"', ','};
    for (int i=0; i<5; i++)
    {
        ODataPtr dd(createData(QString(chs[i])));
        bottom_codes_.push_back(dd);
    }

    bottom_codes_.push_back(ODataPtr(createSpaceData()));
    bottom_codes_.push_back(ODataPtr(createBackspaceData()));

    const QChar chs_next[] = {'\'', ';'};
    for (int i=0; i<2; i++)
    {
        ODataPtr dd(createData(QString(chs_next[i])));
        bottom_codes_.push_back(dd);
    }

    bottom_codes_.push_back(ODataPtr(createEnterData()));
}
void HebrewKeyboardData::initBottomKeyShiftCode()
{
    const QChar chs[] = {'\\', '/', '[', ']', '='};
    for (int i=0; i<5; i++)
    {
        ODataPtr dd(createData(QString(chs[i])));
        bottom_shift_codes_.push_back(dd);
    }

    bottom_shift_codes_.push_back(ODataPtr(createSpaceData()));
    bottom_shift_codes_.push_back(ODataPtr(createBackspaceData()));

    const QChar chs_next[] = {'?', ':'};
    for (int i=0; i<2; i++)
    {
        ODataPtr dd(createData(QString(chs_next[i])));
        bottom_shift_codes_.push_back(dd);
    }

    bottom_shift_codes_.push_back(ODataPtr(createEnterData()));
}
void RussianKeyboardData::initBottomKeyCode()
{
    const QChar chs[] = {'.', ',', QChar(0x0437), QChar(0x0445),
            QChar(0x0434), ' '};
    for (int i=0; i<6; i++)
    {
        ODataPtr dd(createData(QString(chs[i])));
        bottom_codes_.push_back(dd);
    }

    ODataPtr dd(createBackspaceData());
    bottom_codes_.push_back(dd);

    const QChar chs_next[] = {QChar(0x0436), QChar(0x044D)};
    for (int i=0; i<2; i++)
    {
        ODataPtr dd(createData(QString(chs_next[i])));
        bottom_codes_.push_back(dd);
    }

    bottom_codes_.push_back(ODataPtr(createEnterData()));
}
void RussianKeyboardData::initBottomKeyShiftCode()
{
    const QChar chs[] = {'\'', QChar(0x0445).toUpper(), QChar(0x044A).toUpper(),
                         QChar(0x0451).toUpper(), QChar(0x0437).toUpper()};
    for (int i=0; i<5; i++)
    {
        ODataPtr dd(createData(QString(chs[i])));
        bottom_shift_codes_.push_back(dd);
    }

    bottom_shift_codes_.push_back(ODataPtr(createSpaceData()));
    ODataPtr dd(createBackspaceData());
    bottom_shift_codes_.push_back(dd);

    const QChar chs_next[] = {QChar(0x0436).toUpper(), QChar(0x044D).toUpper()};
    for (int i=0; i<2; i++)
    {
        ODataPtr dd (createData(QString(chs_next[i])));
        bottom_shift_codes_.push_back(dd);
    }

    bottom_shift_codes_.push_back(ODataPtr(createEnterData()));
}