### 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
_get_key_modifier_state(event.xbutton.state, mb);
				mb->set_button_index((MouseButton)event.xbutton.button);
				if (mb->get_button_index() == MouseButton::RIGHT) {
					mb->set_button_index(MouseButton::MIDDLE);
				} else if (mb->get_button_index() == MouseButton::MIDDLE) {
					mb->set_button_index(MouseButton::RIGHT);
				}
				mb->set_button_mask(_get_mouse_button_state(mb->get_button_index(), event.xbutton.type));
				mb->set_position(Vector2(event.xbutton.x, event.xbutton.y));
				mb->set_global_position(mb->get_position());
				mb->set_pressed((event.type == ButtonPress));
				const WindowData &wd = windows[window_id];
				if (event.type == ButtonPress) {
					DEBUG_LOG_X11("[%u] ButtonPress window=%lu (%u), button_index=%u \n", frame, event.xbutton.window, window_id, mb->get_button_index());
					
					
					
					if (!wd.no_focus && !wd.is_popup) {
						XSetInputFocus(x11_display, wd.x11_window, RevertToPointerRoot, CurrentTime);
					}
					uint64_t diff = OS::get_singleton()->get_ticks_usec() / 1000 - last_click_ms;
					if (mb->get_button_index() == last_click_button_index) {
						if (diff < 400 && Vector2(last_click_pos).distance_to(Vector2(event.xbutton.x, event.xbutton.y)) < 5) {
							last_click_ms = 0;
							last_click_pos = Point2i(-100, -100);
							last_click_button_index = MouseButton::NONE;
							mb->set_double_click(true);
						}
					} else if (mb->get_button_index() < MouseButton::WHEEL_UP || mb->get_button_index() > MouseButton::WHEEL_RIGHT) {
						last_click_button_index = mb->get_button_index();