diff --git a/instances/models.py b/instances/models.py
index ec80685..222f886 100644
--- a/instances/models.py
+++ b/instances/models.py
@@ -245,6 +245,7 @@ class CreateInstance(models.Model):
     mac = models.CharField(max_length=17, blank=True)
     console_pass = models.CharField(max_length=64, blank=True)
     add_cdrom = models.CharField(max_length=16)
+    add_input = models.CharField(max_length=16)
     graphics = models.CharField(max_length=16, error_messages={'required': _('Please select a graphics type')})
     video = models.CharField(max_length=16, error_messages={'required': _('Please select a video driver')})
     listener_addr = models.CharField(max_length=20, choices=QEMU_CONSOLE_LISTENER_ADDRESSES)
diff --git a/instances/templates/create_instance_w2.html b/instances/templates/create_instance_w2.html
index 4e98676..d26b2a6 100644
--- a/instances/templates/create_instance_w2.html
+++ b/instances/templates/create_instance_w2.html
@@ -261,6 +261,19 @@
                                                                             </select>
                                                                         </div>
                                                                     </div>
+                                                                    <div class="row">
+                                                                        <label class="col-sm-4 col-form-label">{% trans "Add Input Device" %}</label>
+                                                                        <div class="col-sm-7">
+                                                                            <select class="form-select" id="add_input" name="add_input">
+                                                                                <option value="None" {% if bus == default_input_device_bus %}selected{% endif %}>--{% trans "False" %}--</option>
+                                                                                {% for bus in input_device_buses %}
+                                                                                    <option value="{{ bus }}" {% if bus == default_input_device_bus %}selected{% endif %}>
+                                                                                        {% trans bus %}
+                                                                                    </option>
+                                                                                {% endfor %}
+                                                                            </select>
+                                                                        </div>
+                                                                    </div>
                                                                     <div class="row">
                                                                         <label class="col-sm-4 col-form-label">{% trans "Guest Agent" %}</label>
                                                                         <div class="col-sm-7">
@@ -504,6 +517,19 @@
                                 </select>
                             </div>
                         </div>
+                        <div class="row">
+                            <label class="col-sm-3 col-form-label">{% trans "Add Input Device" %}</label>
+                            <div class="col-sm-7">
+                                <select class="form-select" id="add_input" name="add_input">
+                                    <option value="None" {% if bus == default_input_device_bus %}selected{% endif %}>--{% trans "False" %}--</option>
+                                    {% for bus in input_device_buses %}
+                                        <option value="{{ bus }}" {% if bus == default_input_device_bus %}selected{% endif %}>
+                                            {% trans bus %}
+                                        </option>
+                                    {% endfor %}
+                                </select>
+                            </div>
+                        </div>
                         <div class="row">
                             <label class="col-sm-3 col-form-label">{% trans "Guest Agent" %}</label>
                             <div class="col-sm-6">
@@ -733,6 +759,19 @@
                                     </select>
                                 </div>
                             </div>
+                            <div class="row">
+                                <label class="col-sm-3 col-form-label">{% trans "Add Input Device" %}</label>
+                                <div class="col-sm-7">
+                                    <select class="form-select" id="add_input" name="add_input">
+                                        <option value="None" {% if bus == default_input_device_bus %}selected{% endif %}>--{% trans "False" %}--</option>
+                                        {% for bus in input_device_buses %}
+                                            <option value="{{ bus }}" {% if bus == default_input_device_bus %}selected{% endif %}>
+                                                {% trans bus %}
+                                            </option>
+                                        {% endfor %}
+                                    </select>
+                                </div>
+                            </div>
                             <div class="row">
                                 <label class="col-sm-3 col-form-label">{% trans "Guest Agent" %}</label>
                                 <div class="col-sm-6">
diff --git a/instances/views.py b/instances/views.py
index ce2db54..c308b39 100644
--- a/instances/views.py
+++ b/instances/views.py
@@ -1396,6 +1396,8 @@ def create_instance(request, compute_id, arch, machine):
         storages = sorted(conn.get_storages(only_actives=True))
         default_graphics = app_settings.QEMU_CONSOLE_DEFAULT_TYPE
         default_cdrom = app_settings.INSTANCE_CDROM_ADD
+        input_device_buses = ['default', 'virtio', 'usb']
+        default_input_device_bus = app_settings.INSTANCE_INPUT_DEFAULT_DEVICE
 
         dom_caps = conn.get_dom_capabilities(arch, machine)
         caps = conn.get_capabilities(arch)
@@ -1554,7 +1556,8 @@ def create_instance(request, compute_id, arch, machine):
                                 console_pass=data["console_pass"],
                                 mac=data["mac"],
                                 qemu_ga=data["qemu_ga"],
-                                add_cdrom=data["add_cdrom"]
+                                add_cdrom=data["add_cdrom"],
+                                add_input=data["add_input"],
                             )
                             create_instance = Instance(compute_id=compute_id, name=data["name"], uuid=uuid)
                             create_instance.save()
diff --git a/vrtManager/create.py b/vrtManager/create.py
index 6aaa1a9..e686efc 100644
--- a/vrtManager/create.py
+++ b/vrtManager/create.py
@@ -166,6 +166,7 @@ class wvmCreate(wvmConnect):
         mac=None,
         qemu_ga=True,
         add_cdrom="sata",
+        add_input="default"
     ):
         """
         Create VM function
@@ -324,14 +325,16 @@ class wvmCreate(wvmConnect):
         elif console_pass != "":
             console_pass = "passwd='" + console_pass + "'"
 
-        if "usb" in dom_caps["disk_bus"]:
-            xml += f"""<input type='mouse' bus='{"virtio" if virtio else "usb"}'/>"""
-            xml += f"""<input type='keyboard' bus='{"virtio" if virtio else "usb"}'/>"""
-            xml += f"""<input type='tablet' bus='{"virtio" if virtio else "usb"}'/>"""
-        else:
-            xml += """<input type='mouse'/>"""
-            xml += """<input type='keyboard'/>"""
-            xml += """<input type='tablet'/>"""
+        if add_input != "None":
+            xml += """<controller type='usb'/>"""
+            if add_input in dom_caps["disk_bus"]:
+                xml += f"""<input type='mouse' bus='{add_input}'/>"""
+                xml += f"""<input type='keyboard' bus='{add_input}'/>"""
+                xml += f"""<input type='tablet' bus='{add_input}'/>"""
+            else:
+                xml += """<input type='mouse'/>"""
+                xml += """<input type='keyboard'/>"""
+                xml += """<input type='tablet'/>"""
 
         xml += f"""
                 <graphics type='{graphics}' port='-1' autoport='yes' {console_pass} listen='{listener_addr}'/>