### 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
set_title(TTR("Event Configuration"));
	set_min_size(Size2i(550 * EDSCALE, 0)); 
	VBoxContainer *main_vbox = memnew(VBoxContainer);
	add_child(main_vbox);
	event_as_text = memnew(Label);
	event_as_text->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
	event_as_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER);
	event_as_text->add_theme_font_size_override("font_size", 18 * EDSCALE);
	main_vbox->add_child(event_as_text);
	event_listener = memnew(EventListenerLineEdit);
	event_listener->set_h_size_flags(Control::SIZE_EXPAND_FILL);
	event_listener->set_stretch_ratio(0.75);
	event_listener->connect("event_changed", callable_mp(this, &InputEventConfigurationDialog::_on_listen_input_changed));
	event_listener->connect("focus_entered", callable_mp(this, &InputEventConfigurationDialog::_on_listen_focus_changed));
	event_listener->connect("focus_exited", callable_mp(this, &InputEventConfigurationDialog::_on_listen_focus_changed));
	main_vbox->add_child(event_listener);
	main_vbox->add_child(memnew(HSeparator));
	
	VBoxContainer *manual_vbox = memnew(VBoxContainer);
	manual_vbox->set_name(TTR("Manual Selection"));
	manual_vbox->set_v_size_flags(Control::SIZE_EXPAND_FILL);
	main_vbox->add_child(manual_vbox);
	input_list_search = memnew(LineEdit);
	input_list_search->set_h_size_flags(Control::SIZE_EXPAND_FILL);
	input_list_search->set_placeholder(TTR("Filter Inputs"));
	input_list_search->set_clear_button_enabled(true);
	input_list_search->connect("text_changed", callable_mp(this, &InputEventConfigurationDialog::_search_term_updated));
	manual_vbox->add_child(input_list_search);
	input_list_tree = memnew(Tree);
	input_list_tree->set_custom_minimum_size(Size2(0, 100 * EDSCALE));