Mixxx can be controlled with a keyboard, a mouse, :term:`MIDI`/:term:`HID` controllers, time-code records/CDs, or a combination of these. The choice usually depends on your budget or style of DJing.
Use your mouse to interact with the controls in the :ref:`Mixxx User Interface <interface-overview>` on your computer screen. You can perform actions by pointing and clicking with your mouse.
- Single Left Click: Performing a left mouse click on buttons triggers the default action for that control. Moreover if you click on a value in the track list of the Mixxx :ref:`library <library-interface>`, you can change the value. For example the year of a track.
- Double Left Click: Double-click on any knob or fader to reset it to its default value. This is especially useful on touchscreens as executing a right-click on them is usually tedious.
- Single Right Click: On most buttons, performing a right click triggers a different action than a left click. You can return any knob or fader to its default value by right-clicking that control.
- Mouse Drag: Click on a knob or fader, hold the left mouse button and move your cursor to change the value of the control. Use mouse drag to drop tracks from the file list to the decks, crates, playlists, etc.
- Mouse Wheel: Just like Mouse Drag, you can change knob and fader values by placing the cursor over the control and moving the mouse wheel.
Hint
If you hover with the mouse over a control (e.g. the crossfader) in the Mixxx user interface, the tooltip lists the left- and right-click action respectively.
Hint
On a Macbook or a computer with a touchpad that lacks mouse buttons, a two-finger click gesture is often treated as a right click.
.. seealso:: Using the Mouse drag/wheel on the waveforms you can adjust zoom and
playback rate of the tracks. For more information, go to
:ref:`interface-waveform`.
Controlling Mixxx with a keyboard is handy. Unlike mouse control, the keyboard allows you to manage things simultaneously. For example, you can start playing a track on deck 1 whilst stopping deck 2 at the same time.
The default mapping for English keyboards is depicted in the figure above. It is divided into a left-hand side for deck 1 and right-hand side for deck 2. Please note that you can also access the functions through Mixxx's interface.
For some user groups, like those using :term:`controllers <controller>` or :term:`vinyl control`, it might be useful to enable/disable the keyboard mappings at runtime. You can do so by clicking :menuselection:`Options --> Enable Keyboard Shortcuts`.
Hint
If you hover with the mouse over a control (e.g. the crossfader) in the Mixxx user interface, the tooltip lists the keyboard shortcuts of the control among a description of the control.
.. seealso:: For a list of default shortcuts, go to :ref:`appendix-keyboard`.
Mixxx allows you to customize the keyboard control. For more information, go to:
Mixxx supports MIDI and HID :term:`controllers <controller>` which are external hardware devices used to control audio applications. Many DJs prefer the hands-on feel of a controller with Mixxx because it can feel similar to using a real mixer and turntables or :term:`CDJ`.
Without loading the correct mapping, your controller does not work with Mixxx.
- Connect your controller(s) to your computer
- Start Mixxx
- Go to :menuselection:`Preferences --> Controllers`
- Select your device from the list of available devices on the left, and the right pane will change
- Select the mapping for your controller from the :guilabel:`Load Mapping` drop-down menu
- Make sure that the :guilabel:`Enabled` checkbox is ticked
- Click :guilabel:`Apply` and Mixxx can now be controlled by your controller(s).
- Repeat step 4-7 for any of the controllers you want to use
Hint
If you do not find a connected device in the list, make sure to install any necessary drivers for that device.
Mixxx can use any :term:`MIDI`/:term:`HID` controller that is recognized by your :term:`OS <operating system>` (some may require drivers), as long as there is a MIDI/HID mapping file to tell Mixxx how to understand it. Mixxx comes bundled with a number of mappings for various devices. There are two levels of controller mappings:
- Mixxx Certified Mappings: These mappings are verified by the Mixxx Development Team and are distributed as part of Mixxx itself.
- Community Supported Mappings: These mappings are provided and have been verified as working by the Mixxx community, but the Mixxx Development Team is unable to verify their quality because we don't have the devices ourselves. They might have bugs or rough edges.
If you run into issues with Mixxx Certified Mappings, please file a :term:`bug report` on our Bug Tracker.
If you run into issues with Community Supported Mappings please tell the community about it on our Controller mapping forum.
Device support varies for each supported :term:`OS <operating system>`, so make sure to consult the documentation of the device.
Hint
Additional mappings are available in the Controller mapping forum.
.. seealso:: Before purchasing a controller to use with Mixxx, check our
:ref:`Controller List <hardware-manuals>`, that contains all
Mixxx Certified Mappings, that are bundled with Mixxx.
To use a controller mapping that did not come bundled with Mixxx, place the controller mapping in your User Mappings folder. To open it , go to :menuselection:`Preferences --> Controllers` and click the :guilabel:`Open User Mapping Folder` button. Alternatively, use your :term:`OS <operating system>` file browser to navigate there. The locations and more details can be found in :ref:`appendix-settings-files`.
If the mapping was posted as a :file:`.zip` file, first extract the :file:`.zip` file by right clicking on it in your file browser and selecting the option for extracting an archive or compressed folder. Copy the :file:`.xml` file into your User Mapping folder. If there is a :file:`.js` file, also copy that to your User Mapping folder. Close and reopen :menuselection:`Preferences --> Controllers` to update the mappings list and :ref:`load the mapping <control-load-mapping>`.
There is no mapping available for your controller or you want to change an existing mapping? You can map your controller by using the Controller Wizard or take full control with the MIDI Scripting support in Mixxx.
.. seealso:: Go to :ref:`advanced-controller` for detailed information.
:term:`Vinyl control<vinyl control>` allows a user to manipulate the playback of a track in Mixxx using a turntable or :term:`CDJ` as an interface. In effect, it simulates the sound and feel of having your digital music collection on vinyl. Many DJs prefer the tactile feel of vinyl, and vinyl control allows that feel to be preserved while retaining the benefits of using digital audio.
.. seealso:: Go to :ref:`vinyl-control` for detailed information.
