Keyboard grab on Linux EGLFX/FB and other glitches



  • Hello all,

    I'm developing an embedded application using the qtwebkit/CPP running on the custom minimalistic Linux x64 system.
    I can sucessfully start qtwebkit on the framebuffer/EGLFS, but I allways have to click by the mouse somewhere in the screen in order to make keyboard input of the qtwebkit application functional. The keyboard is handled by the javascript and there will be no mouse at all in the final application.

    I tried to pass the QT_QPA_EVDEV_KEYBOARD_PARAMETERS="grab=1" and also many of the qtwebkit related functions with either "grab" or "focus" in their names from the CPP side without luck.

    The second question is that there is a conflict between an QT applicaton running on the framebuffer and the underlying console. Even when I make the kernel silent and redirect all the ouptut to the /dev/tty1, there is still a flashing cursor present on the screen.

    I also like to try the KMS/DRM, but no succes so far. Not sure how usable is in the QT 5.3.1, anyway.

    Ctirad



  • As for the blinking cursor, try passing vt.global_cursor_default=0 to the kernel.



  • Thanks, this kernel parameter helped.

    However, I still desperately need to know, how to grab the keyboard input in my fullscreen application without an initial mouse click. The target hardware has no mouse at all, just a keyboard.



  • Hi,
    I fixed this issue temporarily, using Qt Test lib. By emulating touch event (in Qt 4.8.2)



  • Is it a widgets or Quick based web view? You are most likely missing a setFocus() call or focus: true in case of QML.

    [quote author="Ctirad.F" date="1411322758"]Thanks, this kernel parameter helped.

    However, I still desperately need to know, how to grab the keyboard input in my fullscreen application without an initial mouse click. The target hardware has no mouse at all, just a keyboard. [/quote]



  • The problem was in the html5applicationviewer template. No focus() or grab() methods helped at all. I removed the template and directly used the QWebView. Problem solved.



  • The problem was in the html5applicationviewer template. No focus() or grab() methods helped at all. I removed the template and directly used the QWebView. Problem solved.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.