### 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
input_list_tree->connect("item_selected", callable_mp(this, &InputEventConfigurationDialog::_input_list_item_selected));
	input_list_tree->set_v_size_flags(Control::SIZE_EXPAND_FILL);
	manual_vbox->add_child(input_list_tree);
	input_list_tree->set_hide_root(true);
	input_list_tree->set_columns(1);
	_update_input_list();
	
	additional_options_container = memnew(VBoxContainer);
	additional_options_container->hide();
	Label *opts_label = memnew(Label);
	opts_label->set_theme_type_variation("HeaderSmall");
	opts_label->set_text(TTR("Additional Options"));
	additional_options_container->add_child(opts_label);
	
	device_container = memnew(HBoxContainer);
	device_container->set_h_size_flags(Control::SIZE_EXPAND_FILL);
	Label *device_label = memnew(Label);
	device_label->set_theme_type_variation("HeaderSmall");
	device_label->set_text(TTR("Device:"));
	device_container->add_child(device_label);
	device_id_option = memnew(OptionButton);
	device_id_option->set_h_size_flags(Control::SIZE_EXPAND_FILL);
	for (int i = -1; i < 8; i++) {
		device_id_option->add_item(EventListenerLineEdit::get_device_string(i));
	}
	device_id_option->connect("item_selected", callable_mp(this, &InputEventConfigurationDialog::_device_selection_changed));
	_set_current_device(InputMap::ALL_DEVICES);
	device_container->add_child(device_id_option);
	device_container->hide();
	additional_options_container->add_child(device_container);