1

I'm currently trying to keep the Windows Touch Keyboard (TabTip.exe) over a fullscreen Qt QML application.

Unfortunately, after showing (and forcing it to be on top) it's dismissed again.

It does not matter if I start the keyboard before starting the application or while running the application in fullscreen, after Qt is gaining focus, the keyboard is behind.

Any ideas what this could cause? Is this a Qt or Windows issue?

Leandros
  • 16,805
  • 9
  • 69
  • 108
  • Does the keyboard need to be open at all times ? If not, you could just start the keyboard whenever needed such in: http://stackoverflow.com/questions/20972875/display-windows-touch-keyboard – DuKes0mE Dec 14 '16 at 14:47
  • @DuKes0mE Just doing this will never even show the keyboard, it'll popup behind the fullscreen window. I have to manually bring the the window to the top using the Win32 API. Though, it'll only stay until the user focus the Qt window again. – Leandros Dec 14 '16 at 15:01
  • @Leandros Hi, Did you find a solution to your problem? I am facing the same one. I can display the keyboard osk.exe in non fullscreen app, even maximized, and keep the focus on the TextEdit element, but when I use fullscreen app, the keyboark stays behind my window. – SteveTJS Oct 17 '19 at 14:12
  • @SteveTJS Nope, sorry. I never actually figured out a solution. – Leandros Oct 17 '19 at 14:25
  • 1
    @Leandros OK, too bad for me. I'll go on my researches. – SteveTJS Oct 17 '19 at 14:30
  • @SteveTJS Make sure to post a solution here if you find one. ;) – Leandros Oct 17 '19 at 14:31
  • @Leandros Sure :) – SteveTJS Oct 17 '19 at 14:33

1 Answers1

1

I found a way to keep the Windows keyboard above my QML "fullscreen" application. What I noticed is that in non fullscreen application, the keyboard appears well above my QML application. So the idea was to simulate a fullscreen application giving the window application nearly the size of the screen. Some code will be better:

ApplicationWindow {
  id: mainWindow

  x: 0
  y: 0
  width: Screen.width
  height: Screen.height + 1 //+1 because does not work if the window size is equal to screen resolution. In some way, it considers it's a real fullscreen application and the keyboard stays behind.

  flags: Qt.FramelessWindowHint | Qt.Window //first flag to remove top right buttons such as close button, second flag to keep the application thumbnail in the Windows taskbar to close it if necessary.

  visible: true
  ...
}

With that, I can open the Windowd keyboard clicking on a text field, close it, re open it, ... all that I want!

SteveTJS
  • 635
  • 17
  • 32