[Development] Qt/XCB applications and deadkeys (which cease working) (and sometimes the entire keyboard in Konsole)

René J. V. Bertin rjvbertin at gmail.com
Thu Jun 8 15:23:48 CEST 2017


Thiago Macieira wrote:

> Just to provide a different viewpoint: I've only ever used "English (Alt
> International)" for the last, oh, 20 years, and I haven't had deadkey problems
> in the last 3. 

I've been using the "English (Macintosh)" layout for a bit over 3 years now, 
without any issue until I upgraded my hardware a year ago. I don't see how that 
would be related, but as far as I can tell this still doesn't happen on the old 
computer.

> What you're describing isn't exactly a Qt problem, but must be caused by some
> other application.

Do you have an idea why only Qt applications would be affected?


> The deadkeys lose their state if certain (keyboard) events
> get sent to the application between the deadkey and the modified key.

I've suspected KDE's kglobalacceld but restarting that one doesn't make any 
difference.

The only other global interference I can think of would come from the 
screensaver, possibly through the X server itself. I *think* the deadkey issue 
only happens after the screensaver has kicked in but am not 100% certain. 
Anyway, changing the screensaving engine from the one in KWin to xscreensaver 
didn't 

> If some
> other application is playing tricks with your keyboard, it will affect the
> deadkeys.

I guess it'll be very nontrivial figuring out who might be responsible?

FWIW, I have another keyboard issue which I realise could somehow be related 
because it too never occurred on my old notebook. It affects Konsole only, both 
the Qt4 and Qt5 versions. In this case I lose keyboard input completely (the 
paste menu action continues to work). That's either in a single tab or 
application wide; in the former case I can usually just clone the tab and keep 
working, in the latter case I have to restart the entire application.
And this issue can strike at any moment; I've never been able to reproduce it at 
will or even figure out a pattern in what I was doing when it triggered.






More information about the Development mailing list