Its a long time I looked at the gtk parts of the IDE code.....
IIRC there were some tricky bits in handling the ctrl key. (and some other modifiers). It is possible that some of this goes wrong under some conditions.... But I have no idea.
If it becomes to bad:
- Try QT
- try pressing and releasing, each of the 2 ctrl keys.
- Find some of the related bug reports about double key presses. There is a "set env" in one of them, to disable using some inputmethod from the OS. Big maybe.... no idea...
Try to remember if you used the ctrl key before it started, and how you used it.
Maybe (like on windows ctrl-tab) switching application via keyboard. So Lazarus would not see the release of the tab key. (Still the OS should know...)
If you find ways to reproduce, or other clues, add to the bug report.
You can also run the IDE from a terminal to see the IDE log output.
And there are various conditional compiles to get more feedback, but I am not sure which exactly. grep the lazarus sources for IFDEF and either KEY or PRESS
I think something like VERBOSE_KEYS or similar. Then build the IDE with it defined: -dVERBOSE_KEYS
Sorry it is a bit vague...