Keyboard blocked after accidentally typing a symbol in the script

Godot Version

4.6.2

Question

Hello!

I was writing my Script as usual and accidentally typed this symbol in a new line of the script: ^

Now my keyboard is fully blocked in godot. I can’t type or delete anything inside of godot. I can still press the windows key or open a terminal with a shortcut. I can still use my mouse normally. I tried cutting it out with my mouse, which got rid of the error message but my keyboard is still blocked. I have to restart godot or type the symbol again to use my keyboard again. If you want to recreate it then you have to type the symbol in a Script then go to another line with your mouse !!NO KEYBOARD INPUTS!! and wait until the line goes red. Then you shouldn’t be able to type with your keyboard. To fix it just type the symbol again.

Screenshot 2026-04-20 104027

Screenshot 2026-04-20 104019

Doesn’t happen to me (Win10, Godot 4.6, German keyboard) - seems to be a problem with your system?

I also can’t reproduce, it just gives me this error, which is expected in this scenario:

Error at (2, 1): Unexpected “^” in class body.

I’m on Windows 11

Maybe it is because I use Linux specifically Ubuntu

I use Ubuntu. That could be the issue

This is an issue with ibus, as described in this issue:

To fix it, you can

  1. update your ibus to 1.5.30
  2. or just use a “No dead keys” keyboard layout, this will prevent you from typing accented keys (ô for example) but you don’t really need that in programming anyway and you can switch back when needed
2 Likes

But ^ is not a dead key, so why would it trigger this problem?

This might depend on the keyboard layout, in the standard German layout for example (at least on Ubuntu, Fedora and Windows) it is one, used to create characters like ô or â :person_shrugging:

Although I suppose I should not assume that OP is using such a layout

4 Likes

Ah, it could be a dead key in this context indeed, thanks for pointing that out. Then you’re probably right to say that this ibus issue is the root cause of @pr0x problem.

I actually use the standard german layout.