Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Dead keys don't work with static Qt



  • Hi forum!

    I use a bare Ubuntu LTS 16.04 vm to create an AppImage for one of my projects. I create a minimalistic static Qt for this, so that the AppImage's size is as small as possible. After installing libxkbcommon-dev in addition to what's listed on https://doc.qt.io/qt-5/linux-requirements.html, I could build a static Qt 5.14.2 with the following configure statement:

    ../configure -prefix ~/Qt/5.14.2_static -opensource -confirm-license -release -static -optimize-size -no-harfbuzz -no-opengl -no-gif -no-ico -no-libjpeg -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtxmlpatterns -nomake examples -nomake tests -nomake tools -qt-zlib -sql-sqlite -qt-sqlite -qt-libpng -qt-pcre -qt-xcb

    I noticed however that dead keys aren't working. Using a German Layout here , if I press e. g. the ´ key, nothing happens (as expected, because it's a dead key), but pressing e. g. e afterwards doesn't give me an é, but only a e.

    On my host machine, which runs Gentoo stable, I have never had any problems with dead keys. Everything works as expected. But using the AppImage from the vm, it's the very same there: the dead keys don't work. I also checked an older AppImage linked against Qt 5.7, which behaves the same on my host.

    I also tried to build a static Qt using the same configure statement on my host (where the dead keys definitely work), The result is the same: The dead keys don't work. So I'm pretty sure this is a configuration issue. I experimented with the -libinput, -xcb-xlib, -xcb-xinput, -xkb and -xkbcommon options, but without success.

    What's wrong here? How can I get the dead keys to work? Any help would be greatly appreciated! Thanks in advance.

    Tobias



  • I just found another thing: If build the shared version of Qt using the exact same configure statement as above, the dead keys work. What's going on there?!


Log in to reply