Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Example of Virtual Keyboard showing in different languages
Forum Updated to NodeBB v4.3 + New Features

Example of Virtual Keyboard showing in different languages

Scheduled Pinned Locked Moved Unsolved General and Desktop
55 Posts 7 Posters 27.1k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #40

    From the supported platform 5.9 is at Ubuntu 16.04. You're version of g++ is a bit outdated in that regards so you'll have to modify the mkspec a bit to remove the date-time warning as well as change the c++1z with something a little older like c++14.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • Pradeep KumarP Offline
      Pradeep KumarP Offline
      Pradeep Kumar
      wrote on last edited by
      #41

      Hi,

      I have updated g++,

      gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~14.04)
      gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~14.04)

      gcc is same as g++,

      still i am unable to achieve it.

      1. i used qmake
        -Inspiron-3558:~/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard$ /home/user/Qt5.8.0/5.8/gcc_64/bin/qmake

      2. then used make

      -Inspiron-3558:~/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard$ make
      rm -f libqtvirtualkeyboardplugin.so
      g++ -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,$ORIGIN/../../lib -Wl,-rpath,$ORIGIN/../../lib -shared -o libqtvirtualkeyboardplugin.so .obj/platforminputcontext.o .obj/inputcontext.o .obj/abstractinputmethod.o .obj/plaininputmethod.o .obj/inputengine.o .obj/shifthandler.o .obj/plugin.o .obj/inputmethod.o .obj/selectionlistmodel.o .obj/defaultinputmethod.o .obj/abstractinputpanel.o .obj/enterkeyaction.o .obj/enterkeyactionattachedtype.o .obj/settings.o .obj/virtualkeyboardsettings.o .obj/trace.o .obj/desktopinputpanel.o .obj/inputview.o .obj/appinputpanel.o .obj/qrc_default_style.o .obj/qrc_retro_style.o .obj/qrc_content.o .obj/qrc_layouts.o .obj/moc_platforminputcontext.o .obj/moc_inputcontext.o .obj/moc_abstractinputmethod.o .obj/moc_plaininputmethod.o .obj/moc_inputengine.o .obj/moc_shifthandler.o .obj/moc_inputmethod.o .obj/moc_selectionlistmodel.o .obj/moc_defaultinputmethod.o .obj/moc_abstractinputpanel.o .obj/moc_enterkeyaction.o .obj/moc_enterkeyactionattachedtype.o .obj/moc_settings.o .obj/moc_virtualkeyboardsettings.o .obj/moc_plugin.o .obj/moc_trace.o .obj/moc_desktopinputpanel.o .obj/moc_inputview.o .obj/moc_appinputpanel.o -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -L/home/dheerendra/Qt5.8.0/5.8/gcc_64/lib -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread
      /usr/bin/ld: .obj/platforminputcontext.o: Relocations in generic ELF (EM: 40)
      .obj/platforminputcontext.o: error adding symbols: File in wrong format
      collect2: error: ld returned 1 exit status
      make: *** [../../plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so] Error 1

      I am getting the above errors, can u help me out,

      Please provide guidance,

      Thanks,

      Pradeep Kumar
      Qt,QML Developer

      jsulmJ 1 Reply Last reply
      0
      • Pradeep KumarP Offline
        Pradeep KumarP Offline
        Pradeep Kumar
        wrote on last edited by
        #42

        HI,

        I installed latest g++ and gcc versions and

        1. used qmake.
        2. then make clean.
        3. then make.
        4. make install.

        Then ran the basic program which is present in the path
        /home/user/Qt5.8.0/5.8/Src/qtvirtualkeyboard/examples/virtualkeyboard/basic

        I am getting virtual keyboard in ubuntu,
        Thanks for the solutions and help,

        But when i change the language present in the path,
        /home/user/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard

        as CONFIG += lang-ar_AR in the virtualkeyboard.pro file,

        then again followed the steps to compile the plugin,
        but when i ran the basic program to launch virtual keyboard, i am not getting the button enabled, to select the language,

        Please provide the guidance,

        Thanks,

        Pradeep Kumar
        Qt,QML Developer

        1 Reply Last reply
        0
        • Pradeep KumarP Pradeep Kumar

          Hi,

          I have updated g++,

          gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~14.04)
          gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~14.04)

          gcc is same as g++,

          still i am unable to achieve it.

          1. i used qmake
            -Inspiron-3558:~/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard$ /home/user/Qt5.8.0/5.8/gcc_64/bin/qmake

          2. then used make

          -Inspiron-3558:~/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard$ make
          rm -f libqtvirtualkeyboardplugin.so
          g++ -Wl,--no-undefined -Wl,-O1 -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,$ORIGIN/../../lib -Wl,-rpath,$ORIGIN/../../lib -shared -o libqtvirtualkeyboardplugin.so .obj/platforminputcontext.o .obj/inputcontext.o .obj/abstractinputmethod.o .obj/plaininputmethod.o .obj/inputengine.o .obj/shifthandler.o .obj/plugin.o .obj/inputmethod.o .obj/selectionlistmodel.o .obj/defaultinputmethod.o .obj/abstractinputpanel.o .obj/enterkeyaction.o .obj/enterkeyactionattachedtype.o .obj/settings.o .obj/virtualkeyboardsettings.o .obj/trace.o .obj/desktopinputpanel.o .obj/inputview.o .obj/appinputpanel.o .obj/qrc_default_style.o .obj/qrc_retro_style.o .obj/qrc_content.o .obj/qrc_layouts.o .obj/moc_platforminputcontext.o .obj/moc_inputcontext.o .obj/moc_abstractinputmethod.o .obj/moc_plaininputmethod.o .obj/moc_inputengine.o .obj/moc_shifthandler.o .obj/moc_inputmethod.o .obj/moc_selectionlistmodel.o .obj/moc_defaultinputmethod.o .obj/moc_abstractinputpanel.o .obj/moc_enterkeyaction.o .obj/moc_enterkeyactionattachedtype.o .obj/moc_settings.o .obj/moc_virtualkeyboardsettings.o .obj/moc_plugin.o .obj/moc_trace.o .obj/moc_desktopinputpanel.o .obj/moc_inputview.o .obj/moc_appinputpanel.o -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -L/home/dheerendra/Qt5.8.0/5.8/gcc_64/lib -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread
          /usr/bin/ld: .obj/platforminputcontext.o: Relocations in generic ELF (EM: 40)
          .obj/platforminputcontext.o: error adding symbols: File in wrong format
          collect2: error: ld returned 1 exit status
          make: *** [../../plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so] Error 1

          I am getting the above errors, can u help me out,

          Please provide guidance,

          Thanks,

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #43

          @Pradeep-Kumar said in Example of Virtual Keyboard showing in different languages:

          .obj/platforminputcontext.o: error adding symbols: File in wrong format

          you should do it from a clean state - looks like you have binaries built with the old compiler.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • Pradeep KumarP Offline
            Pradeep KumarP Offline
            Pradeep Kumar
            wrote on last edited by
            #44

            Yes @jsulm i got that point made a clean then built it i got the virtual keyboard, but i am not getting for different languages, tats y i posted in earlier post.

            Thanks,

            Pradeep Kumar
            Qt,QML Developer

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #45

              AFAICS you are setting only one language when building the module. You should list all the languages you want to support.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • Pradeep KumarP Offline
                Pradeep KumarP Offline
                Pradeep Kumar
                wrote on last edited by Pradeep Kumar
                #46

                nope still the same, i provided 4 languages in .pro file,

                still the same issue.

                when i run make install

                -Inspiron-3558:~/Qt5.8.0/5.8/Src/qtvirtualkeyboard/src/virtualkeyboard$ make install
                install -m 755 -p ../../plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so /home/user/Qt5.8.0/5.8/gcc_64/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
                strip --strip-unneeded /home/dheerendra/Qt5.8.0/5.8/gcc_64/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
                install -m 644 -p /home/user/Qt5.8.0/5.8/Src/qtvirtualkeyboard/lib/cmake/Qt5Gui/Qt5Gui_QVirtualKeyboardPlugin.cmake /home/dheerendra/Qt5.8.0/5.8/gcc_64/lib/cmake/Qt5Gui/

                after this i run sample program.

                Thanks,

                Pradeep Kumar
                Qt,QML Developer

                1 Reply Last reply
                0
                • mrdebugM Offline
                  mrdebugM Offline
                  mrdebug
                  wrote on last edited by
                  #47

                  The Qt open source package contains the qtvirtualkeyboard component.
                  I can build it without anu problem but I can't add the flag lang-all.
                  Insert CONFIG += lang-all in .pro file has no effect.

                  Need programmers to hire?
                  www.labcsp.com
                  www.denisgottardello.it
                  GMT+1
                  Skype: mrdebug

                  1 Reply Last reply
                  0
                  • Pradeep KumarP Offline
                    Pradeep KumarP Offline
                    Pradeep Kumar
                    wrote on last edited by
                    #48

                    Hello,

                    now i am facing one more issue, when i try to compile the program using Qt creator,
                    getting the below mentioned errors,

                    home/user/Qt5.8.0/5.8/gcc_64/mkspecs/features/qt_plugin.prf:52: Cannot write file /mkspecs/modules-inst/qt_plugin_qtvirtualkeyboardplugin.pri: Cannot create parent directory
                    17:58:18: The process "/home/user/Qt5.8.0/5.8/gcc_64/bin/qmake" exited with code 3.
                    Error while building/deploying project virtualkeyboard (kit: Desktop Qt 5.8.0 GCC 64bit)
                    The kit Desktop Qt 5.8.0 GCC 64bit has configuration issues which might be the root cause for this problem.
                    When executing step "qmake".

                    But the kit is configured and rest of the programs are running, only the virtualkeyboard program is giving me this error...

                    Guidance is required,

                    Thanks,

                    Pradeep Kumar
                    Qt,QML Developer

                    jsulmJ 1 Reply Last reply
                    0
                    • Pradeep KumarP Pradeep Kumar

                      Hello,

                      now i am facing one more issue, when i try to compile the program using Qt creator,
                      getting the below mentioned errors,

                      home/user/Qt5.8.0/5.8/gcc_64/mkspecs/features/qt_plugin.prf:52: Cannot write file /mkspecs/modules-inst/qt_plugin_qtvirtualkeyboardplugin.pri: Cannot create parent directory
                      17:58:18: The process "/home/user/Qt5.8.0/5.8/gcc_64/bin/qmake" exited with code 3.
                      Error while building/deploying project virtualkeyboard (kit: Desktop Qt 5.8.0 GCC 64bit)
                      The kit Desktop Qt 5.8.0 GCC 64bit has configuration issues which might be the root cause for this problem.
                      When executing step "qmake".

                      But the kit is configured and rest of the programs are running, only the virtualkeyboard program is giving me this error...

                      Guidance is required,

                      Thanks,

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #49

                      @Pradeep-Kumar said in Example of Virtual Keyboard showing in different languages:

                      Cannot write file /mkspecs/modules-inst/qt_plugin_qtvirtualkeyboardplugin.pri

                      Are you really trying to write to /mkspects ? This would be a subdirectory of the root directory where a normal user has no write access. Does this directory even exist?

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • Pradeep KumarP Offline
                        Pradeep KumarP Offline
                        Pradeep Kumar
                        wrote on last edited by
                        #50

                        Nope i dnt know regarding that as i was trying to compile the qtvirtualkeyboard program in ubuntu, i am getting the error, but i didnt find the compiling error in windows, strange.

                        is their any other configuration to be done.

                        Thanks,

                        Pradeep Kumar
                        Qt,QML Developer

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #51

                          Can you show your .pro file ?

                          Again, did you start using out of source builds ?
                          Between two tries, did you nuke the build folder ? If so, how did you nuke it ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0
                          • Pradeep KumarP Offline
                            Pradeep KumarP Offline
                            Pradeep Kumar
                            wrote on last edited by Pradeep Kumar
                            #52

                            Hello,

                            pro file qt virtual keyboard,

                            TARGET  = qtvirtualkeyboardplugin
                            DATAPATH = $$[QT_INSTALL_DATA]/qtvirtualkeyboard
                            
                            QMAKE_DOCS = $$PWD/doc/qtvirtualkeyboard.qdocconf
                            include(doc/doc.pri)
                            
                            QT += qml quick gui gui-private core-private
                            
                            win32 {
                                CONFIG += no-pkg-config
                                QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)"
                                QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt."
                            }
                            
                            !no-pkg-config: CONFIG += link_pkgconfig
                            
                            include(../config.pri)
                            
                            CONFIG += lang-ar_AR lang-fr_FR
                            
                            SOURCES += platforminputcontext.cpp \
                                inputcontext.cpp \
                                abstractinputmethod.cpp \
                                plaininputmethod.cpp \
                                inputengine.cpp \
                                shifthandler.cpp \
                                plugin.cpp \
                                inputmethod.cpp \
                                selectionlistmodel.cpp \
                                defaultinputmethod.cpp \
                                abstractinputpanel.cpp \
                                enterkeyaction.cpp \
                                enterkeyactionattachedtype.cpp \
                                settings.cpp \
                                virtualkeyboardsettings.cpp \
                                trace.cpp \
                            
                            HEADERS += platforminputcontext.h \
                                inputcontext.h \
                                abstractinputmethod.h \
                                plaininputmethod.h \
                                inputengine.h \
                                shifthandler.h \
                                inputmethod.h \
                                selectionlistmodel.h \
                                defaultinputmethod.h \
                                abstractinputpanel.h \
                                virtualkeyboarddebug.h \
                                enterkeyaction.h \
                                enterkeyactionattachedtype.h \
                                settings.h \
                                virtualkeyboardsettings.h \
                                plugin.h \
                                trace.h \
                            
                            RESOURCES += \
                                content/styles/default/default_style.qrc \
                                content/styles/retro/retro_style.qrc \
                                content/content.qrc
                            
                            LAYOUT_FILES += \
                                content/layouts/en_GB/dialpad.qml \
                                content/layouts/en_GB/digits.qml \
                                content/layouts/en_GB/handwriting.qml \
                                content/layouts/en_GB/numbers.qml \
                                content/layouts/en_GB/symbols.qml
                            
                            contains(CONFIG, lang-en.*) {
                                LAYOUT_FILES += \
                                    content/layouts/en_GB/main.qml
                            }
                            contains(CONFIG, lang-ar.*) {
                                LAYOUT_FILES += \
                                    content/layouts/ar_AR/digits.qml \
                                    content/layouts/ar_AR/main.qml \
                                    content/layouts/ar_AR/numbers.qml \
                                    content/layouts/ar_AR/symbols.qml
                            }
                            contains(CONFIG, lang-da.*) {
                                LAYOUT_FILES += \
                                    content/layouts/da_DK/main.qml \
                                    content/layouts/da_DK/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/da_DK/handwriting.qml
                            }
                            contains(CONFIG, lang-de.*) {
                                LAYOUT_FILES += \
                                    content/layouts/de_DE/main.qml \
                                    content/layouts/de_DE/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/de_DE/handwriting.qml
                            }
                            contains(CONFIG, lang-es.*) {
                                LAYOUT_FILES += \
                                    content/layouts/es_ES/main.qml \
                                    content/layouts/es_ES/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/es_ES/handwriting.qml
                            }
                            contains(CONFIG, lang-fa.*) {
                                LAYOUT_FILES += \
                                    content/layouts/fa_FA/digits.qml \
                                    content/layouts/fa_FA/main.qml \
                                    content/layouts/fa_FA/numbers.qml \
                                    content/layouts/fa_FA/symbols.qml
                            }
                            contains(CONFIG, lang-fi.*) {
                                LAYOUT_FILES += \
                                    content/layouts/fi_FI/main.qml \
                                    content/layouts/fi_FI/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/fi_FI/handwriting.qml
                            }
                            contains(CONFIG, lang-fr.*) {
                                LAYOUT_FILES += \
                                    content/layouts/fr_FR/main.qml \
                                    content/layouts/fr_FR/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/fr_FR/handwriting.qml
                            }
                            contains(CONFIG, lang-hi.*) {
                                LAYOUT_FILES += \
                                    content/layouts/hi_IN/main.qml \
                                    content/layouts/hi_IN/symbols.qml
                            }
                            contains(CONFIG, lang-it.*) {
                                LAYOUT_FILES += \
                                    content/layouts/it_IT/main.qml \
                                    content/layouts/it_IT/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/it_IT/handwriting.qml
                            }
                            contains(CONFIG, lang-ja.*) {
                                LAYOUT_FILES += \
                                    content/layouts/ja_JP/main.qml \
                                    content/layouts/ja_JP/symbols.qml
                            }
                            contains(CONFIG, lang-ko.*) {
                                LAYOUT_FILES += \
                                    content/layouts/ko_KR/main.qml \
                                    content/layouts/ko_KR/symbols.qml
                            }
                            contains(CONFIG, lang-nb.*) {
                                LAYOUT_FILES += \
                                    content/layouts/nb_NO/main.qml \
                                    content/layouts/nb_NO/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/nb_NO/handwriting.qml
                            }
                            contains(CONFIG, lang-pl.*) {
                                LAYOUT_FILES += \
                                    content/layouts/pl_PL/main.qml \
                                    content/layouts/pl_PL/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/pl_PL/handwriting.qml
                            }
                            contains(CONFIG, lang-pt.*) {
                                LAYOUT_FILES += \
                                    content/layouts/pt_PT/main.qml \
                                    content/layouts/pt_PT/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/pt_PT/handwriting.qml
                            }
                            contains(CONFIG, lang-ro.*) {
                                LAYOUT_FILES += \
                                    content/layouts/ro_RO/main.qml \
                                    content/layouts/ro_RO/symbols.qml \
                                    content/layouts/ro_RO/handwriting.qml
                            }
                            contains(CONFIG, lang-ru.*) {
                                LAYOUT_FILES += \
                                    content/layouts/ru_RU/main.qml \
                                    content/layouts/ru_RU/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/ru_RU/handwriting.qml
                            }
                            contains(CONFIG, lang-sv.*) {
                                LAYOUT_FILES += \
                                    content/layouts/sv_SE/main.qml \
                                    content/layouts/sv_SE/symbols.qml
                            t9write: LAYOUT_FILES += \
                                    content/layouts/sv_SE/handwriting.qml
                            }
                            contains(CONFIG, lang-zh(_CN)?) {
                                LAYOUT_FILES += \
                                    content/layouts/zh_CN/main.qml \
                                    content/layouts/zh_CN/symbols.qml
                            }
                            contains(CONFIG, lang-zh(_TW)?) {
                                LAYOUT_FILES += \
                                    content/layouts/zh_TW/main.qml \
                                    content/layouts/zh_TW/symbols.qml
                            }
                            
                            retro-style {
                                DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"retro\\\"
                            } else {
                                DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_STYLE=\\\"default\\\"
                            }
                            
                            OTHER_FILES += \
                                content/styles/default/*.qml \
                                content/styles/retro/*.qml \
                                content/*.qml \
                                content/components/*.qml \
                                qtvirtualkeyboard.json
                            
                            !disable-desktop:isEmpty(CROSS_COMPILE):!qnx {
                                SOURCES += desktopinputpanel.cpp inputview.cpp
                                HEADERS += desktopinputpanel.h inputview.h
                                DEFINES += QT_VIRTUALKEYBOARD_DESKTOP
                                !no-pkg-config:packagesExist(xcb) {
                                    PKGCONFIG += xcb xcb-xfixes
                                    DEFINES += QT_VIRTUALKEYBOARD_HAVE_XCB
                                }
                            }
                            SOURCES += appinputpanel.cpp
                            HEADERS += appinputpanel.h
                            
                            qtquickcompiler: DEFINES += COMPILING_QML
                            
                            !disable-hunspell {
                                exists(3rdparty/hunspell/src/hunspell/hunspell.h) {
                                    SOURCES += hunspellinputmethod.cpp hunspellinputmethod_p.cpp hunspellworker.cpp
                                    HEADERS += hunspellinputmethod.h hunspellinputmethod_p.h hunspellworker.h
                                    DEFINES += HAVE_HUNSPELL
                                    QMAKE_USE += hunspell
                                    exists(3rdparty/hunspell/data) {
                                        hunspell_data.files = 3rdparty/hunspell/data/*.dic 3rdparty/hunspell/data/*.aff
                                        hunspell_data.path = $$DATAPATH/hunspell
                                        INSTALLS += hunspell_data
                                        !prefix_build: COPIES += hunspell_data
                                    } else {
                                        error("Hunspell dictionaries are missing! Please copy .dic and .aff" \
                                              "files to src/virtualkeyboard/3rdparty/hunspell/data directory.")
                                    }
                                } else:!no-pkg-config:packagesExist(hunspell) {
                                    SOURCES += hunspellinputmethod.cpp hunspellinputmethod_p.cpp hunspellworker.cpp
                                    HEADERS += hunspellinputmethod.h hunspellinputmethod_p.h hunspellworker.h
                                    DEFINES += HAVE_HUNSPELL
                                    PKGCONFIG += hunspell
                                } else {
                                    message("Hunspell not found! Spell correction will not be available.")
                                }
                            }
                            
                            pinyin {
                                SOURCES += \
                                    pinyininputmethod.cpp \
                                    pinyindecoderservice.cpp
                                HEADERS += \
                                    pinyininputmethod.h \
                                    pinyindecoderservice.h
                                DEFINES += HAVE_PINYIN
                                QMAKE_USE += pinyin
                                pinyin_data.files = $$PWD/3rdparty/pinyin/data/dict_pinyin.dat
                                pinyin_data.path = $$DATAPATH/pinyin
                                INSTALLS += pinyin_data
                                !prefix_build: COPIES += pinyin_data
                            }
                            
                            tcime {
                                SOURCES += \
                                    tcinputmethod.cpp
                                HEADERS += \
                                    tcinputmethod.h
                                DEFINES += HAVE_TCIME
                                cangjie: DEFINES += HAVE_TCIME_CANGJIE
                                zhuyin: DEFINES += HAVE_TCIME_ZHUYIN
                                QMAKE_USE += tcime
                                tcime_data.files = \
                                    $$PWD/3rdparty/tcime/data/qt/dict_phrases.dat
                                cangjie: tcime_data.files += \
                                    $$PWD/3rdparty/tcime/data/qt/dict_cangjie.dat
                                zhuyin: tcime_data.files += \
                                    $$PWD/3rdparty/tcime/data/qt/dict_zhuyin.dat
                                tcime_data.path = $$DATAPATH/tcime
                                INSTALLS += tcime_data
                                !prefix_build: COPIES += tcime_data
                            }
                            
                            hangul {
                                SOURCES += \
                                    hangulinputmethod.cpp \
                                    hangul.cpp
                                HEADERS += \
                                    hangulinputmethod.h \
                                    hangul.h
                                DEFINES += HAVE_HANGUL
                            }
                            
                            openwnn {
                                SOURCES += openwnninputmethod.cpp
                                HEADERS += openwnninputmethod.h
                                DEFINES += HAVE_OPENWNN
                                QMAKE_USE += openwnn
                            }
                            
                            lipi-toolkit:t9write: \
                                error("Conflicting configuration flags: lipi-toolkit and t9write." \
                                      "Please use either one, but not both at the same time.")
                            
                            lipi-toolkit {
                                CONFIG += exceptions
                                SOURCES += \
                                    lipiinputmethod.cpp \
                                    lipisharedrecognizer.cpp \
                                    lipiworker.cpp
                                HEADERS += \
                                    lipiinputmethod.h \
                                    lipisharedrecognizer.h \
                                    lipiworker.h
                                DEFINES += HAVE_LIPI_TOOLKIT
                                INCLUDEPATH += \
                                    3rdparty/lipi-toolkit/src/include \
                                    3rdparty/lipi-toolkit/src/util/lib
                                LIBS += -L$$OUT_PWD/../../lib \
                                    -lshaperecommon$$qtPlatformTargetSuffix() \
                                    -lltkcommon$$qtPlatformTargetSuffix() \
                                    -lltkutil$$qtPlatformTargetSuffix()
                                win32: LIBS += Advapi32.lib
                                else: LIBS += -ldl
                                record-trace-input: DEFINES += QT_VIRTUALKEYBOARD_LIPI_RECORD_TRACE_INPUT
                            }
                            
                            t9write {
                                include(3rdparty/t9write/t9write-build.pri)
                                equals(T9WRITE_FOUND, 0): \
                                    error("T9Write SDK could not be found. Please make sure you have extracted" \
                                          "the contents of the T9Write SDK to $$PWD/3rdparty/t9write")
                                SOURCES += \
                                    t9writeinputmethod.cpp \
                                    t9writeworker.cpp
                                HEADERS += \
                                    t9writeinputmethod.h \
                                    t9writeworker.h
                                DEFINES += HAVE_T9WRITE
                                QMAKE_USE += t9write_db
                                INCLUDEPATH += $$T9WRITE_INCLUDE_DIRS
                                LIBS += $$T9WRITE_ALPHABETIC_LIBS
                            }
                            
                            arrow-key-navigation: DEFINES += QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION
                            
                            include(generateresource.pri)
                            
                            RESOURCES += $$generate_resource(layouts.qrc, $$LAYOUT_FILES, /QtQuick/VirtualKeyboard)
                            
                            PLUGIN_TYPE = platforminputcontexts
                            PLUGIN_EXTENDS = -
                            PLUGIN_CLASS_NAME = QVirtualKeyboardPlugin
                            load(qt_plugin)
                            

                            Just added CONFIG += lang-ar_AR lang-fr_FR , to get the keyboard in arabic and french,
                            and i didnt change any other line,
                            its nt compiling in Qt creator,

                            I am not using out of source, and i deleted .pro.user file,deleted build folder then tries to compile, still no change, its not compiling.

                            Thanks,

                            Pradeep Kumar
                            Qt,QML Developer

                            1 Reply Last reply
                            0
                            • michaelLM Offline
                              michaelLM Offline
                              michaelL
                              wrote on last edited by
                              #53

                              @Pradeep-Kumar dont use that project but the qtvirtualkeyboard.pro project that is above that directory and inside the .pro looks like this:

                              OTHER_FILES += README.md

                              load(qt_parts)
                              QT += core
                              CONFIG+= lang-all

                              add one more step "make" in build and put in arguments "install"

                              For me the project location is "Qt5.7.1/5.7/Src/qtvirtualkeyboard/qtvirtualkeyboard.pro"
                              What you are building is located on "Qt5.7.1/5.7/Src/qtvirtualkeyboard/src/virtualkeyboard/virtualkeyboard.pro"

                              I am able to see all languages on my linux desktop.

                              I also compiled with same QTCreator on desktop using qmake for my embedded linux and could see all languages except chinese/korea/japan/tawain. I keep getting "japaneseInputMethos is not a type" and so on.
                              Could anyone get those to work? On my PC they work but not on embedded.
                              I followed this section http://doc.qt.io/qt-5/qtvirtualkeyboard-deployment-guide.html and deploy the plugins to my embedded linux but i get all languages except those. Is there any other files i have to deploy for Japan/Korea/Chinese/Tawain languages?
                              Any idea?

                              1 Reply Last reply
                              2
                              • Pradeep KumarP Offline
                                Pradeep KumarP Offline
                                Pradeep Kumar
                                wrote on last edited by
                                #54

                                Hi,

                                @michaelL

                                so what is the difference between the qtvirtualkeyboard in the path

                                Qt5.7.0/5.7/Src/qtvirtualkeyboard/src/virtualkeyboard/virtualkeyboard.pro

                                and

                                in Qt5.7.0/5.7/Src/qtvirtualkeyboard/qtvirtualkeyboard.pro,

                                And i am not getting in respective languages, from the path
                                Qt5.7.0/5.7/Src/qtvirtualkeyboard/qtvirtualkeyboard.pro

                                Are u getting?

                                Thanks,

                                Pradeep Kumar
                                Qt,QML Developer

                                1 Reply Last reply
                                2
                                • michaelLM Offline
                                  michaelLM Offline
                                  michaelL
                                  wrote on last edited by
                                  #55

                                  @Pradeep-Kumar the Qt5.7.0/5.7/Src/qtvirtualkeyboard/qtvirtualkeyboard.pro is the main project for all of the inside projects. You have to build it so that all files/languages/layout and so on are compiled too. I think the projects inside have dependencies of the others.
                                  I am getting all languages on my PC running Qt5.7.1
                                  If you use QT Creator to make the project you have to add a "Build step" in "build settings" under "build setps"
                                  The step you add is "make" and type in arguments "install".
                                  So qt creator will do qmake->make->make install
                                  If it does it with no error you can open the basic example project and you will get all languages.

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved