Unsolved Troubles implementing â,ä,ê,ë from a QPA
-
I'm making a QPA of my own, I'm currently having troubles implementing the keyboard. I can't seem to get special characters working (eg.: â,ä,ê,ë).
Testing this out with the xcb qpa I can type everything fine even on azerty. However, my QPA works very differently.
The keyevents are fed via a client (JS) connecting to the application, so I am stuck creating my own VKeyboard/PlatformInputContext.While investigating the xcb qpa I noticed there is a thing called
platforminputcontexts
, which I am looking into further now.
When stepping through all the functions I eventually ended up atqtbase/src/plugins/platforminputcontexts/ibus/qibusinputcontextproxy.h:85 [ProcessKeyEvent]
There there is a call made via QBus and it disappears, I can't seem to find out what other piece of code listens to this message.I have also found the place where the actual commit of the composed string happens
qtbase/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp:283 [QIBusPlatformInputContext::commitText]
. When i backtrace the steps it took there I see it comes from the event thread so I can not locate the source.Sadly very little is documented about these things. What is responsible for the composition of the key events?
Could someone show me to some code/file/example where I would be able to see what I am doing wrong with my keyboard? -
Hi and welcome to devnet,
To get further information you would have to check ibus directly since its feeding the input data.
Are you doing something similar to VNC ? If so, that backend might also be of interest.
-
Hi! I have checked the VNC QPA and they do not support these composed keys.
I am checking ibus directly, I find the call that is made to ProcessKeyEvent, but not who implements this. I find the call that is made after that, when it ends up in the commitText function.What I can't find is who/what is responsible for it.
-
Likely related to https://github.com/xkbcommon/libxkbcommon