### Godot version

4.0.2.stable

### System information

Fedora 37, GeForce RTX 4090 (NVIDIA 530.41.03)

### Issue description

Physical Keycode and Key Label options appear grayed out in the input editor when editing an existing key, even though I should logically be able to change it:

![image](https://github.com/godotengine/godot/assets/180032/54d4c3a5-4da5-4448-b42a-42f0c6870cc2)

If I set the key to another key then change it back, then the **Physical Keycode** and **Key Label** options are no longer grayed out.

cc @bruvzg

### Steps to reproduce

- Open the Project Settings > Input Map tab.
- Create an action, with an associated key. Save it.
- Click the edit button next to the key, and try to change the type without touching the actual key's value.
- Change the key's value back and forth and try to change the type using the dropdown again.

### Minimal reproduction project

N/A
show_mods = true;
			mod_checkboxes[MOD_ALT]->set_pressed(mod->is_alt_pressed());
			mod_checkboxes[MOD_SHIFT]->set_pressed(mod->is_shift_pressed());
			mod_checkboxes[MOD_CTRL]->set_pressed(mod->is_ctrl_pressed());
			mod_checkboxes[MOD_META]->set_pressed(mod->is_meta_pressed());
			autoremap_command_or_control_checkbox->set_pressed(mod->is_command_or_control_autoremap());
		}
		if (k.is_valid()) {
			show_key = true;
			if (k->get_keycode() == Key::NONE && k->get_physical_keycode() == Key::NONE && k->get_key_label() != Key::NONE) {
				key_mode->select(KEYMODE_UNICODE);
			} else if (k->get_keycode() != Key::NONE) {
				key_mode->select(KEYMODE_KEYCODE);
			} else if (k->get_physical_keycode() != Key::NONE) {
				key_mode->select(KEYMODE_PHY_KEYCODE);
			} else {
				
				event = Ref<InputEvent>();
				original_event = Ref<InputEvent>();
				event_listener->clear_event();
				event_as_text->set_text(TTR("No Event Configured"));
				additional_options_container->hide();
				input_list_tree->deselect_all();
				_update_input_list();
				return;
			}
		} else if (joyb.is_valid() || joym.is_valid() || mb.is_valid()) {
			show_device = true;
			_set_current_device(event->get_device());
		}