### Godot version

v4.0.beta15.official [4fa6edc88] and v4.0.beta.custom_build [1bf7b84fb]

### System information

openSUSE Tumbleweed 20230125, KDE Plasma 5.26.5, Wayland session

### Issue description

https://user-images.githubusercontent.com/110809639/214688115-ce2c8f95-3849-4ee5-b6be-f8e58dbd8036.mp4

It's not possible to rename any node while using wayland session under my linux distro. Using Godot 4 beta15. Tried changing keyboard layout and same result. If I swith to X11 session then it works. Also beta14 doesn't have this problem with wayland session.

### Steps to reproduce

Literally try to rename any node under wayland session with beta15

### Minimal reproduction project

n/a
theme_cache.separator_style->draw(ci, Rect2(item_ofs + Point2(0, sep_ofs), Size2(display_width, sep_h)));
			}
		}
		Color icon_color(1, 1, 1, items[i].disabled && !items[i].separator ? 0.5 : 1);
		
		item_ofs.x += theme_cache.item_start_padding;
		
		if (items[i].checkable_type && !items[i].separator) {
			int disabled = int(items[i].disabled) * 2;
			Texture2D *icon = (items[i].checked ? check[items[i].checkable_type - 1 + disabled] : uncheck[items[i].checkable_type - 1 + disabled]).ptr();
			if (rtl) {
				icon->draw(ci, Size2(control->get_size().width - item_ofs.x - icon->get_width(), item_ofs.y) + Point2(0, Math::floor((h - icon->get_height()) / 2.0)), icon_color);
			} else {
				icon->draw(ci, item_ofs + Point2(0, Math::floor((h - icon->get_height()) / 2.0)), icon_color);
			}
		}
		int separator_ofs = (display_width - items[i].text_buf->get_size().width) / 2;
		
		if (!items[i].icon.is_null()) {
			if (items[i].separator) {
				separator_ofs -= (icon_size.width + theme_cache.h_separation) / 2;
				if (rtl) {
					items[i].icon->draw(ci, Size2(control->get_size().width - item_ofs.x - separator_ofs - icon_size.width, item_ofs.y) + Point2(0, Math::floor((h - icon_size.height) / 2.0)), icon_color);
				} else {
					items[i].icon->draw(ci, item_ofs + Size2(separator_ofs, 0) + Point2(0, Math::floor((h - icon_size.height) / 2.0)), icon_color);
				}
			} else {
				if (rtl) {
					items[i].icon->draw(ci, Size2(control->get_size().width - item_ofs.x - check_ofs - icon_size.width, item_ofs.y) + Point2(0, Math::floor((h - icon_size.height) / 2.0)), icon_color);
				} else {