### Godot version

Master (0ddd9c3e8f9088fa139e25b2903289d727073e12)

### System information

PopOS 22.04 - Intel integrated graphics - all backends

### Issue description

When there are popup windows in the editor, I cannot click on the "Confirm"/"Cancel" type buttons at the button. 

I have the issue both in the project manager (importing projects I can click on files etc. but cannot click "open") and when running the editor (cannot click "Save&Quit" etc.)

Sometimes the editor correctly highlights the buttons and I can use the arrow keys to navigate the buttons and "enter" to confirm my selection.

_I can navigate the editor closing dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-24-06](https://user-images.githubusercontent.com/16521339/212774269-d784ea5e-5921-4460-9124-48978939c8e7.png)

_I can't navigate the project import dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-29-00](https://user-images.githubusercontent.com/16521339/212774683-0a80795a-eed4-4e65-b2ca-3562c25d71fd.png)


### Steps to reproduce

Run the editor

### Minimal reproduction project

Reproducible in the project manager
KeySym keysym_keycode = 0; 
	KeySym keysym_unicode = 0; 
	
	char str[256 + 1];
	XKeyEvent xkeyevent_no_mod = *xkeyevent;
	xkeyevent_no_mod.state &= ~ShiftMask;
	xkeyevent_no_mod.state &= ~ControlMask;
	XLookupString(xkeyevent, str, 256, &keysym_unicode, nullptr);
	XLookupString(&xkeyevent_no_mod, nullptr, 0, &keysym_keycode, nullptr);
	
	if (!xmbstring) {
		
		xmbstring = (char *)memalloc(sizeof(char) * 8);
		xmblen = 8;
	}
	if (xkeyevent->type == KeyPress && wd.xic) {
		Status status;
#ifdef X_HAVE_UTF8_STRING
		int utf8len = 8;
		char *utf8string = (char *)memalloc(sizeof(char) * utf8len);
		int utf8bytes = Xutf8LookupString(wd.xic, xkeyevent, utf8string,
				utf8len - 1, &keysym_unicode, &status);
		if (status == XBufferOverflow) {
			utf8len = utf8bytes + 1;
			utf8string = (char *)memrealloc(utf8string, utf8len);
			utf8bytes = Xutf8LookupString(wd.xic, xkeyevent, utf8string,
					utf8len - 1, &keysym_unicode, &status);
		}
		utf8string[utf8bytes] = '\0';
		if (status == XLookupChars) {