Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QT embedded simulate (up,down,left,right,enter) navigation

QT embedded simulate (up,down,left,right,enter) navigation

Scheduled Pinned Locked Moved Mobile and Embedded
color depthdpiembeddedframebufferresizescale
34 Posts 2 Posters 13.9k Views
  • 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.
  • B Offline
    B Offline
    BluTiGeS
    wrote on 7 May 2015, 09:22 last edited by
    #10

    Hi,

    i found in the net some hint using the configure switch -D QT_KEYPAD_NAVIGATION and set the nav mode QApplication::setNavigationMode.

    But if i try that approach I get setNavigationMode is not a member if QApplication.
    Is this in anymore? I am using latest QT 5.4 creator and cross compile to embedded with 4.8.6 qmake target.

    Please help me, i am getting confused here. Since I think i am not the only one who just has keypad for navigation.

    Regards

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 8 May 2015, 19:44 last edited by
      #11

      setNavigationMode is still there but requires QT_KEYPAD_NAVIGATION to be defined when when building Qt

      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
      • B Offline
        B Offline
        BluTiGeS
        wrote on 8 May 2015, 19:57 last edited by BluTiGeS 5 Aug 2015, 20:14
        #12

        HI,

        i have set this flag for my cross compiled qmake configuration QT4.8.6.
        So how to configure qt creator QT5.4.1 to handle this QT_KEYPAD_NAVIGATION?

        Do i need to configue the sources for my Ubuntu ?
        like ./configure -v -D QT_KEYPAD_NAVIGATION
        make -j 4
        sudo make install

        ?

        will it then be recognized, as QApplication function?

        Maybe this picture helps to understand which my target platform is similar to:
        http://emsystech.de/wp-content/uploads/2012/09/raspi-lcd-1.jpg

        Is Qt able to get interaction with input fields/combo boxes etc. and menu navigations with only these 5 buttons?

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 8 May 2015, 20:17 last edited by SGaist 5 Aug 2015, 20:28
          #13

          Yes thats that but there's something puzzling me, why are you developing with Qt 5 on your desktop and run 4.8.6 on your device ?

          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
          • B Offline
            B Offline
            BluTiGeS
            wrote on 8 May 2015, 20:26 last edited by
            #14

            Well I just downloaded the latest QT total package and that had QT 5.4.1.

            I need to use 4.8.6 as cross target because the target is not really running with qt 5.4.1 it gives DBUS errors etc.
            So I wanted to start keeping the working 4.8.6 as a base to go on.

            So maybe I can configure qt 5.4.1 with this KEYPAD define and keep the configured cross 4.8.6 qmake?
            Are you seeing any issue with this?

            Or what would you suggest to get qt running on such a platform:
            http://emsystech.de/wp-content/uploads/2012/09/raspi-lcd-1.jpg

            with navigation, iputs etc? Have you already done such a project?

            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 8 May 2015, 20:36 last edited by
              #15

              I did, years ago and Qt wasn't even in it's 4 series

              What exact errors are you getting with Qt 5 ?

              In any case, if you have Qt 4 running properly, then use it also on your desktop to ensure you have the same behavior on both sides

              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
              • B Offline
                B Offline
                BluTiGeS
                wrote on 8 May 2015, 20:44 last edited by
                #16

                Okay thats sound good, maybe I need to give qt5 a second try or use also qt4 on the desktop.

                I am not a the system right now but as I have in mind starting the application with

                ./test -qpa linuxFB:/dev/fb0

                and then i got the DBUS error. Maybe my cmdline is also wrong. QT5 cross compile was not plug and play for me.

                Do you remember how you have realized inputs with this few buttons?

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 8 May 2015, 20:59 last edited by
                  #17

                  The exact error messages would be useful. Just to rule out the obvious: do you have the dbus daemon running ?

                  The UI was written to be very keyboard friendly and had a lot thinking about focusing so as to make sense when moving from up to down and left to right. What kind of UI will that be ?

                  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
                  • B Offline
                    B Offline
                    BluTiGeS
                    wrote on 11 May 2015, 06:17 last edited by
                    #18

                    Okay, seems to be DBUS not running correctly:

                    ./TestQTCross -platform linuxfb:fb"/dev/fb0"

                    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
                    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
                    process 2302: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
                    See the manual page for dbus-uuidgen to correct this issue.
                    D-Bus not built with -rdynamic so unable to print a backtrace
                    Aborted (core dumped)

                    is the DBUS really needed for qt5 embedded? since it is not in 4.8?

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 12 May 2015, 20:30 last edited by
                      #19

                      The DBus module is also included in the 4 series however AFAIK it should not be mandatory for the linuxfb plugin but you also have another problem with iconv_open. Are you using the same version of libraries on your target than the one used to build Qt 5 ?

                      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
                      • B Offline
                        B Offline
                        BluTiGeS
                        wrote on 13 May 2015, 06:35 last edited by
                        #20

                        Hi,
                        yes i am using the same ones.

                        The configure command looks as follows:

                        ./configure -release -opensource -confirm-license -arch arm -xplatform linux-arm-gnueabi-g++ -no-icu -no-pch -prefix /usr/local/Trolltech/qt5 -skip qtwebkit-examples -skip qtwebkit

                        I have adapted the qmake.conf of the linux-arm-gnueabi-g++ to fit my cross compile toolchain.

                        Do you see any issue?

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 13 May 2015, 22:43 last edited by
                          #21

                          which platform plugins are built ?

                          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
                          • B Offline
                            B Offline
                            BluTiGeS
                            wrote on 14 May 2015, 09:40 last edited by
                            #22

                            It is build only for linuxfb platform.

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 16 May 2015, 20:40 last edited by
                              #23

                              How did you install Qt on your board ?

                              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
                              • B Offline
                                B Offline
                                BluTiGeS
                                wrote on 17 May 2015, 12:52 last edited by
                                #24

                                I normally just move over the files of the given configure path /usr/local/Trolltech/qt5 to the target board into the same directory.

                                I found out if I use dbus-uuidgen -ensure before calling the app it starts up without the DBUS warning but the icon warning is still there.

                                Also I cannot configure qt to work with webkit (see different post).

                                Regards

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on 17 May 2015, 20:20 last edited by
                                  #25

                                  Did you use your device root filesystem to cross-compile build Qt 5 ? If not, you have probably used a different set of library than the one that's being used on your board

                                  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
                                  • B Offline
                                    B Offline
                                    BluTiGeS
                                    wrote on 18 May 2015, 14:21 last edited by
                                    #26

                                    How can I use it?

                                    I have just used the above written configure command.

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on 18 May 2015, 20:04 last edited by
                                      #27

                                      Add -sysroot /path/to/your/mounted/device/filesytem to your configure options

                                      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
                                      • B Offline
                                        B Offline
                                        BluTiGeS
                                        wrote on 20 May 2015, 10:03 last edited by BluTiGeS
                                        #28

                                        Thanks,

                                        I have added it but now i get more and more errors.

                                        So i changed back my config to following:
                                        ./configure -xplatform linux-arm-gnueabi-g++ -release -opensource -confirm-license -prefix /usr/local/Trolltech/qt5 -make libs -skip qtwebkit-examples -nomake tests -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -linuxfb -no-opengl -icu

                                        Configure summary

                                        Building on: linux-g++ (i386, CPU features: none detected)
                                        Building for: linux-arm-gnueabi-g++ (arm, CPU features: neon)
                                        Platform notes:

                                                - Also available for Linux: linux-kcc linux-icc linux-cxx
                                        

                                        Build options:
                                        Configuration .......... accessibility alsa audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile dbus evdev eventfd freetype full-config getaddrinfo getifaddrs harfbuzz iconv icu inotify ipv6ifname large-config largefile linuxfb medium-config minimal-config mremap neon nis no-pkg-config openssl pcre png posix_fallocate precompile_header qpa qpa reduce_exports release rpath shared small-config xlib xrender zlib
                                        Build parts ............ libs
                                        Mode ................... release
                                        Using C++11 ............ yes
                                        Using gold linker....... no
                                        Using PCH .............. yes
                                        Target compiler supports:
                                        Neon ................. yes

                                        Qt modules and options:
                                        Qt D-Bus ............... yes (loading dbus-1 at runtime)
                                        Qt Concurrent .......... yes
                                        Qt GUI ................. yes
                                        Qt Widgets ............. yes
                                        Large File ............. yes
                                        QML debugging .......... yes
                                        Use system proxies ..... no

                                        Support enabled for:
                                        Accessibility .......... yes
                                        ALSA ................... yes
                                        CUPS ................... no
                                        Evdev .................. yes
                                        FontConfig ............. no
                                        FreeType ............... qt
                                        Glib ................... no
                                        GTK theme .............. no
                                        HarfBuzz ............... yes (bundled copy)
                                        Iconv .................. yes
                                        ICU .................... yes
                                        Image formats:
                                        GIF .................. yes (plugin, using bundled copy)
                                        JPEG ................. yes (plugin, using bundled copy)
                                        PNG .................. yes (in QtGui, using bundled copy)
                                        journald ............... no
                                        mtdev .................. no
                                        Networking:
                                        getaddrinfo .......... yes
                                        getifaddrs ........... yes
                                        IPv6 ifname .......... yes
                                        OpenSSL .............. yes (loading libraries at run-time)
                                        NIS .................... yes
                                        OpenGL / OpenVG:
                                        EGL .................. no
                                        OpenGL ............... no
                                        OpenVG ............... no
                                        PCRE ................... yes (bundled copy)
                                        pkg-config ............. no
                                        PulseAudio ............. no
                                        QPA backends:
                                        DirectFB ............. no
                                        EGLFS ................ no
                                        KMS .................. no
                                        LinuxFB .............. yes
                                        XCB .................. no
                                        Session management ..... yes
                                        SQL drivers:
                                        DB2 .................. no
                                        InterBase ............ no
                                        MySQL ................ no
                                        OCI .................. no
                                        ODBC ................. no
                                        PostgreSQL ........... yes (plugin)
                                        SQLite 2 ............. yes (plugin)
                                        SQLite ............... yes (plugin, using bundled copy)
                                        TDS .................. no
                                        udev ................... no
                                        xkbcommon .............. no
                                        zlib ................... yes (bundled copy)

                                        But if I now do a make -j 4 I get an ICU warning, but ICU is needed for webkit, which I also need.

                                        I../3rdparty/md4 -I../3rdparty/sha3 -I.moc -I../../mkspecs/linux-arm-gnueabi-g++ -o .obj/pcre16_compile.o ../3rdparty/pcre/pcre16_compile.c
                                        tools/qtimezoneprivate_icu.cpp: In function ‘bool ucalOffsetsAtTime(void**, qint64, int*, int*)’:
                                        tools/qtimezoneprivate_icu.cpp:145: error: ‘ucal_clone’ was not declared in this scope
                                        tools/qtimezoneprivate_icu.cpp: In copy constructor ‘QIcuTimeZonePrivate::QIcuTimeZonePrivate(const QIcuTimeZonePrivate&)’:
                                        tools/qtimezoneprivate_icu.cpp:285: error: ‘ucal_clone’ was not declared in this scope
                                        tools/qtimezoneprivate_icu.cpp: In member function ‘virtual bool QIcuTimeZonePrivate::isDaylightTime(qint64) const’:
                                        tools/qtimezoneprivate_icu.cpp:378: error: ‘ucal_clone’ was not declared in this scope
                                        make[2]: *** [.obj/qtimezoneprivate_icu.o] Error 1
                                        make[2]: *** Waiting for unfinished jobs....
                                        make[2]: Leaving directory /home/qt/qt-everywhere-opensource-src-5.4.1/qtbase/src/corelib' make[1]: *** [sub-corelib-make_first] Error 2 make[1]: Leaving directory /home/qt/qt-everywhere-opensource-src-5.4.1/qtbase/src'
                                        make: *** [sub-src-make_first] Error 2

                                        EDIT:
                                        I have updated the icu using the following Cross Tutorial
                                        http://thebugfreeblog.blogspot.de/2013/05/cross-building-icu-for-applications-on.html

                                        now I added the following to the configure :
                                        -icu -I /opt/icuCrossFinal/include -L /opt/icuCrossFinal/lib

                                        Now I got a bit further, I also needed a new linux-atomic version.

                                        I keep you updated on webkit configure,

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          BluTiGeS
                                          wrote on 21 May 2015, 06:52 last edited by BluTiGeS
                                          #29

                                          Now I got the qtbase and webkit compiled, but If i want to start the app via

                                          ./app -qpa linuxfb:/dev/fb0 it says:

                                          This application failed to start because it could not find or load the Qt platform plugin "xcb".

                                          I checked the dependencies on my Ubuntu 11.04 and I found that Ubuntu is unalbe to locate :
                                          Unable to locate package libxcb-icccm4
                                          Unable to locate package libxcb-icccm4-dev

                                          I then run the configure with -no-xcb and all worked well so far.

                                          But now if I start the application :

                                          ./app -qpa linuxfb:fb=/dev/fb0

                                          The screen is not using the full framebuffer (no fullscreen) it seems it is only using 2/3 of it an the rest is cut off.
                                          With qt4 all works as expected.

                                          Any idea why this happens?

                                          Is xcb required for a webkit usage on linuxfb?

                                          1 Reply Last reply
                                          0

                                          19/34

                                          12 May 2015, 20:30

                                          • Login

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