### Godot version

4.0.beta10 (d0398f62f)

### System information

Windows 11

### Issue description

When the Move Mode tool is selected (hotkey W), using the arrow keys will move a node a few pixels before causing the 2D editor to lose focus.

This does not happen when the Select Mode tool (hotkey Q) is selected. This also doesn't happen when you use shift + arrow key (but this moves multiple pixels at once).

This is also not an issue in 3.5 (new regression in 4.0).

### Steps to reproduce

- Open any scene in 2D mode.
- Select `Select Mode`: 
![image](https://user-images.githubusercontent.com/4420888/210158638-7ff914ba-2ed3-460a-b717-faed1408d662.png)
- Select any CanvasItem.
- You can move it around using the arrow keys (1px at a time).
- Now select `Move Mode`: 
![image](https://user-images.githubusercontent.com/4420888/210158645-6db21a03-64cc-4112-94e5-483491f2e47e.png)
- Try moving the node using arrow keys.
- Notice how the main 2D editor loses focus.

Some extra info: shift + arrow key works fine!

https://user-images.githubusercontent.com/4420888/210158652-8dcff944-d57b-4d72-a8cc-80344b549839.mp4



### Minimal reproduction project

N/A - seems like any CanvasItem (maybe more?) has this issue.
void _node_created(Node *p_node);
	void _reset_create_position();
	void _update_editor_settings();
	bool _is_grid_visible() const;
	void _prepare_grid_menu();
	void _on_grid_menu_id_pressed(int p_id);
	List<CanvasItem *> _get_edited_canvas_items(bool retrieve_locked = false, bool remove_canvas_item_if_parent_in_selection = true);
	Rect2 _get_encompassing_rect_from_list(List<CanvasItem *> p_list);
	void _expand_encompassing_rect_using_children(Rect2 &r_rect, const Node *p_node, bool &r_first, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D(), bool include_locked_nodes = true);
	Rect2 _get_encompassing_rect(const Node *p_node);
	Object *_get_editor_data(Object *p_what);
	void _insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing);
	void _keying_changed();
	virtual void shortcut_input(const Ref<InputEvent> &p_ev) override;
	void _draw_text_at_position(Point2 p_position, String p_string, Side p_side);
	void _draw_margin_at_position(int p_value, Point2 p_position, Side p_side);
	void _draw_percentage_at_position(real_t p_value, Point2 p_position, Side p_side);
	void _draw_straight_line(Point2 p_from, Point2 p_to, Color p_color);
	void _draw_smart_snapping();
	void _draw_rulers();
	void _draw_guides();
	void _draw_focus();
	void _draw_grid();
	void _draw_ruler_tool();
	void _draw_control_anchors(Control *control);
	void _draw_control_helpers(Control *control);
	void _draw_selection();
	void _draw_axis();
	void _draw_invisible_nodes_positions(Node *p_node, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D());
	void _draw_locks_and_groups(Node *p_node, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D());