This article is based on the Z's older "Swiftpoint Driver" software, so looks a bit different to the X1 Control Panel's Expert Mode. But the two are functionally identical, so almost everything here will also apply to the X1 Control Panel.
Initial Setup - (Swiftpoint Driver Only)
The Swiftpoint Driver is where you access the extensive customization options of the Z. Everything from changing the color of your Z’s logo backlight, to creating applications specific profiles with complex macros.
After installing the driver you will be shown a short introduction video showing how to create a simple mapping. If you missed the intro it can be viewed again from the drop-down menu at the top left of the driver window.
After you have watched the intro you can prevent it from opening automatically again with the “Show this message again on startup?” checkbox below the video.
After the introduction the driver will load a set of Starter Mappings including a Desktop profile, along with two general gaming profiles.
These are entirely optional however and can be completely removed. But even if you do want to create your own profiles from scratch, we suggest you spend a bit of time with these starter mappings. As familiarizing yourself with how they work will give you a head-start in how to create your own profiles.
Next you will be prompted to calibrate your Zs tilt angles to your Z. We recommend you complete this short process as it will result in more consistent tilt performance. If you skipped it previously, or need to re-calibrate this option is available from the drop-down menu at the top left of the driver window.
After calibration is complete you will now have access to the complete driver interface.
Starting from the top left of the driver window you will find the Main Menu. Here you can access some of the drivers Key functionality detailed below.
Save Mappings to Permanent Flash Memory in Mouse:
This option allows you to export all of your profiles to the Z itself so they can be used on devices that do not have access to the driver. Such as Linux, or even PS4/XBOX One.
Export Mappings to a File:
Allows you to back up your profiles to a file which you can then share with other Z users.
Simply select the profiles you wish to backup/share, save them to a file.
Import Mappings from a File:
Allows your to import mapping files either from your own backups, or files you’ve downloaded from other users.
If you are importing a complete set of mappings with the “Select All” checkbox you will be given the option of removing your existing mappings (Clear Current and Import), or you can Merge Mappings.
Merging mappings will overwrite your global settings with those in the backup, but all of your other existing profiles will be untouched. If any of the imported profiles shares a name with your existing profiles they will have a ‘I’ added to their name.
Clear and Reset Settings in Driver and Mouse:
The option will both clear any settings you have previously saved to the flash memory of your Z, and restore your driver mappings to default.
When you perform a reset you will have the option of reloading the starter mappings (Desktop, Gaming Analog, and Gaming Gestures).
If you select ‘No’ only the “Global Defaults” profile will remain. This will have all the basic mouse buttons mapped (1-5), along with the scroll-wheel. It will also keep config mode on “Tilt Right 25°” and a reset tilt angles mapping on “Right Trigger Pull”. Both of these can be removed manually if you want to start with a truly blank slate.
Calibrate Tilt Angles to your Desk:
This tool calibrates the Z’s Gyroscope and accelerometers so they will perform correctly even if your desk is not perfectly level.
Simply follow the on screen instructions to complete the process.
Check for new Updates:
The Driver will automatically check for updates when it launches, or once every 24 hours while running. But if a driver update is released and your driver is not prompting you to upgrade yet you can use this option to force a check for a new version.
View Introduction Videos:
Opens the introduction video which demonstrates the creation of a simple mapping.
The checkbox at the bottom of the window allows you to stop this window from appearing when the driver is launched.
Along the top of the driver window next to the main menu you can see a list of your current profiles. Here you can left click a profile to view and edit its settings, or right click a profile to access the profile menu.
You will notice one profile has an * before its name, and one is highlighted yellow.
- The profile with an * is the “Active” profile; this is the profile your Z is currently using.
- The profile highlighted in yellow is the profile you are currently viewing and editing in the driver.
With the menu accessed by right-clicking a profile you can perform basic actions such renaming, duplicating or deleting a profile. Also you can set it as the active profile or create a "Sub-Profile". An in-depth overview of profiles and sub profiles can be found here .
Along the bottom of the driver window is the Status Bar, which shows some key info on your Z and the Swiftpoint Driver.
On the far left is the “Connect to Mouse” button. This both tells you if the driver is currently connected to your Z and enables you to manually disconnect if you want to use the settings saved to your Z's Flash memory rather than those in the driver.
Just note that to use the settings save to your Z you will also need to unplug and reconnect your Z to clear the driver settings from your Z's RAM and reload the settings from its flash memory.
Next to this is a drop-down menu where you can view and select which profile is currently active.
In the middle of the Status Bar your Z's current memory usage is shown. This represent how much of your Z's on-board memory all of your loaded profiles are currently using. If this reaches 100% you will need to delete some profiles or mappings before you can save your settings to your Z.
Normally it is best to export some of your unused profiles to a file before deleting them from the driver, so you can easily load them up again when you need them.
You can find some more info on how to use your Zs memory efficiently in the Profiles & Sub-Profiles guide here .
Further to the right you will either see your current driver version or a button to update the driver if a new version is available.
Lastly on the far right is the save button. Your settings will automatically be saved when the driver loses focus. But you can also save manually by pressing this button after you have made any unsaved changes. When settings are saved your Z will vibrate twice and the logo back-light will flash green.
Profile Settings and All Mappings
The main section of the driver is split into two sides, on the left you can access the settings that will be activated when you switch to a profile, or select which input you wish to edit. Your chosen input will then be displayed on the right side of the driver along with their current outputs.
At the top left of this section is the "Profile Settings" button. The settings and outputs accessed here will be applied as soon as this profile is set as active.
The first setting available under this heading is DPI or "Dots Per Inch". This setting defines how far your cursor will move for every inch your Z moves, so increasing this value will increase your pointer speed.
The Zs Pixart 3360 Optical Sensor supports DPI values from 100 to 12,000 in increments of 100.
On the right side of the DPI Slider you can add DPI levels. These are useful if you want to be able to quickly switch between two or more different DPI values within the same profile.
With multiple DPI levels enabled you will also have access to the "Separate X and Y DPI levels" checkbox at the bottom right of your DPI settings. With this you can set vertical and horizontal sensitivity independently.
Once you have created a new DPI level you can then add an output to any of your Zs buttons or inputs that will switch to this DPI level, or cycle through all of your DPI levels.
Lift off Height
This setting adjusts the distance from your mouse mat the Zs sensor will stop tracking movement. As the sensor will still track even if your mouse is not touching the mouse mat at all.
The minimum option is generally recommended as it prevents cursor movement from registering while you are lifting your Z to reposition it.
The actual distance of the lift of height will vary depending on your mousing surface. But the maximum setting will add and extra 1mm (0.04") compared to the minimum.
Game Controller Type
The setting either enables or disable the Zs DirectInput joystick outputs.
So if you have it set to "None" any joystick outputs in this profile will be disabled.
Logo Backlight Mode
This setting allows you to adjust the the colour of the RGB logo on the Z. There are three different modes available.
Hue Rotation is the default setting and will smoothly cycle the logo backlight through the full spectrum of colours available.
With "Fixed Colour" selected click the coloured square that appears next to it, then use the colour picker, RGB sliders, or a hex value to set a specific colour for your Zs logo.
This option sets what will be shown on the OLED screen while in this profile.
- Custom Message: This mode allows you to display a custom text string of standard ASCII characters on the OLED. Simply enter the text you want displayed in the text-box that appears when you select this mode.
- Current DPI: Displays the current DPI.
- Current Profile: Displayed the currently active profile.
- Deep Click Forces: This mode will display the amount of force currently applied to any off the deep click enabled buttons.
- Tilt Angles: This mode displays all of the Z's tilt and pivot values in degrees in real-time. The three values shown are as follows:
- R is for Roll or the left and right tilt angle.
- P is for Pitch, or how far forward or back the Z is leaning.
- Y is for Yaw, or Pivot. This changes with the direction the Z is facing.
- Animated Cube: This mode displays an animated cube on the OLED screen.
- Firmware Version: Displays the firmware version currently running on your Z.
- Blank: Leaves the OLED screen blank
"Tilt Auto-Zeroing" is a firmware feature of the Z which works to prevent the gyroscope's tilt readings from drifting over time. In general it does its job well; but in some use cases it can cause more problems than it solves.
So if you find that you are frequently needing to re-calibrate your tilt angles for your tilt functions to work correctly, try disabling this feature from the profile settings screen.
Just note that since disabling "Tilt Auto-Zeroing" will mean that your Z is not trying to auto-correct for the natural drift in the gyroscope, your tilt values will drift over time. But this drift will be slow, so doing a manual re-zero (with the default right trigger pull function on the global profile, or your own custom mapping) should mean you don't have any problems with tilt for even an extended gaming/work session.
By default there is a fail-safe enabled in the Zs firmware which prevents keys from being left held down if the Z is not currently processing any user input. So a press output will automatically release if the Z is not tilted, no buttons are physically held down, and no macros are running.
This means that if you accidentally forget to add a release for one of your press outputs, the key wont be stuck down permanently, which is generally a good thing. However it is a problem if you actually want a key to be left held down after you release a button.
For example, the mapping below which starts holding down 'W' when you first press the Left Fingertip button, then releases it when you press it again will not work correctly with the Auto-Release fail-safe enabled.
So if you want to make use of these kinds of functions in any of your profiles. Just disable the "Auto-Release Inputs" setting.
If you do just make sure that all of your press outputs have releases, or they will remain stuck down until you change profiles, or unplug the mouse.
Below these five standard profile settings you can add your own custom outputs that will trigger as soon as you enter this profile.
A simple example of this is the OLED Flash "Current Profile" output, which is included with the default global profile.
This particular output is very useful when switching profiles with config mode, or any custom profile switch mappings you create. As it means the name of the profile you switch to will be displayed for a few seconds regardless of what you currently have your OLED screen set to output.
Without this you would need to look at the driver to be sure which profile you had changed to. So if you override the settings on this page in a new profile it is recommend you add this output.
The All Mappings page display every custom mapping assigned to your selected profile.
Input Selection Image
On the left side of the driver window is an image of the Z, which can be used to select individual button inputs.
If you move your cursor over this image you will see the buttons are highlighted in green. Simply click any one of these to view their complete input and output mappings of the right side of the screen.
The inputs accessible from this image are as follows:
- Left Button
- Right Button
- Middle Button
- Bottom Thumb Button
- Top Thumb Button
- Scroll Wheel Pull
- Scroll Wheel Push
- Front Edge Button
- Rear Edge Button
- Left Fingertip Button
- Right Fingertip Button
- Left Trigger Push and Pull
- Right Trigger Push and Pull
Underneath the Z image you can find the Zs Tilt mappings. These are split into two sections, one for left and right tilts, and the other for forward and back.
The two tilt axes are then split into two separate input types.
The first type are activated, and deactivated at a set angle of tilt in a particular direction. If you click one of these (e.g. "Tilt Left 1.2°), you will be presented with two values to customize.
This value is simply the angle you will need to tilt the Z in the defined direction for this output to activate. It can be adjusted either by dragging the slider or entering a value in degrees directly.
For outputs you want to trigger without lifting the Z, or using the "FlightStick Extender" use an Angle between 1.0° and 2.0°.
Alternately for outputs you want to trigger while the mouse is lifted off the mouse mat use angles greater than 3.0°. As any tilt output below 3.0° will be ignored while the Z is lifted off the mouse mat. This does not apply to the "FlightStick Extender" however.
The Noise Level value is subtracted from the Angle value to determine when the return output will trigger.
For example the default 1.2° inputs have a noise value of 0.5°, which means that the output will trigger when you tilt to 1.2°, but only release once you have moved back to 0.7°.
This difference in activation and deactivation angles is necessary; as if they were both the same it would be possible for slight fluctuations in the tilt sensors to trigger a tilt output multiple times in quick succession.
The Analog tilt output will be below all of the other tilt outputs. This output type allows you to map your Zs tilt input to an analog joystick output. Either as one of the main sticks axes, or a slider.
If you click an analog input (e.g. Analog Left/ Right -8° to 8°) you will see a slider with two values which allows you to adjust the analog sensitivity and "Dead-Zone" of this input.
The Max value sets how far you will need to tilt the Z to max out this input; so the equivalent of pushing a joystick all the way in one direction. The default value of 8° for left/right tilt is approximately the range of movement you will have access to while using the "FlightStick Extender".
Increasing the Min value from 0° will create a "Dead-Zone" where the tilt outputs will be ignored. For example settings this to 2° would mean that your joystick output will not start moving until you pass 2°, rather than starting right at 0°.
An example of where this would be useful is if you are using the analog output to steer a vehicle. Without a dead-zone in place it could be difficult to travel in a straight line while you are doing other things with your mouse. As any slight movement from the tilt sensors could steer you off course.
Mirror left and Right
Disabling this check-box allows you to adjust left and right tilt independently.
Analog Output settings
To create a analog joystick output for tilt simply click "Do Nothing" next to the analog input you want to use. In the output screen this takes you to simply select "Game Controller" from the output type drop-down menu.
You can now select a specific analog joystick output from the drop-down menu. One of three Axes on the main stick (vertical, horizontal & rotation), or a slider output.
Ticking the "Show Advanced" checkbox will show a similar set of options to what is available for tilt inputs. These are actually quite different though, as they control how the analog output will behave across the range defined in the tilt input options.
The Max value here sets how much of the available analog output will be used when at (or past) the Max tilt angle set on this analog input.
For example setting this to 50% would significantly lower your maximum turning/movement speed etc.
This Min value sets where the analog output range will start when you pass the Min tilt angle set on this analog input.
For example setting this to 50% would would mean you immediately start turning/moving at 50% speed when your tilt output is engaged.
Mirror left and Right
Disabling this check-box allows you to adjust each tilt direction independently.
Pivot inputs work very much like the Tilt inputs described above, and have mostly the same available settings.
So like Tilt inputs, a Pivot inputs can be added to almost any of the Z's other inputs. However unlike Tilt inputs, they cannot be activated independently by default. This is because having a pivot output active all of the time can easily cause problems due to the way most people will naturally pivot the mouse slightly during normal use.
If you wished to disable this limitation please refer to this guide .
Adding a Pivot Input
To add a pivot input simply choose another input you wish to add it to, then click the +ADD button which appears when you hold your cursor over its name in the Output pane.
This will open a dialog where you can select another input to create an input combination. Select Pivot from the top drop-down menu.
You will then have the option to chose the direction of the pivot input, or to create an analog input. The settings for each of these are equivalent to these described in the Tilt Input section above. The only difference of course is that the degree value refers to an amount of pivot rather than a tilt.
Reset Pivot (Yaw)
One important thing to note about pivot inputs is the importance of the "Reset Pivot (Yaw)" output available under the "Set Profile/Reset Angle" category.
Below is a simple example of a pivot output being used to turn/strafe that we will use to show its importance.
Adding this output to your pivots parent input press is highly recommended. As it will ensure that no matter what position your Z is currently in, you will only have to pivot it the defined number of degrees to activate your output. For example, without the "Reset Pivot (Yaw)" output on "Bottom Thumb Press", your Zs pivot reading could be sitting at 20° when you press the "Bottom Thumb Button". Which would mean you needed to pivot ~20° to the left before you could access either your left or right outputs.
With the reset of course your pivot reading is immediately set to the neutral position (0°) putting you in the correct position to easily activate your left or right pivots.
The "Reset Pivot (Yaw)" on release is less important; but often useful. In the example above it ensures that both A and D are released automatically when you release the "Bottom Thumb Button". Without it they could remain held down until you either pivot back to the neutral position, or press the "Bottom Thumb Button" again.
Deep Click Inputs
Deep Click inputs available on five of the Z's mouse buttons, the three main mouse buttons, plus two fingertip buttons. They allow you to add multiple sets of outputs to a single button. Which can either be triggered in a sequence whose speed depends on how quickly you apply pressure to the button. Or you can configure a deep click to only trigger one of several possible outputs depending on how hard you press before releasing. Finally, you can use them to control an analog joystick output.
Adding a Deep Click
Deep click inputs will be included by default in any profile you create. Just select one of the deep click enabled buttons and you will see a deep click nested inside the button.
By default the deep click, will include a 0% strength vibration. This can be removed, but often you will want to add vibration feedback so you can feel when your deep click activates.
Note: If the deep click has been removed from the button, it can be re-added by clicking the +ADD button next to the base deep click enabled input (e.g. Left Fingertip Press in the example above)
To add an additional Deep Click level, click the +ADD button next to an existing Deep Click. This will open the prompt below where you can adjust the settings for you new deep click
When adding a deep click this needs to match the button you are adding it to. For example if you are adding an extra Deep Click level to the "Left Fingertip Button", "Left Fingertip Button Force" should be selected here. If anything else is selected it will not work. To correct Input will be selected by default, so don't change this to anything else unless you know what you're doing. For example setting this to 50% would significantly lower your maximum turning/movement speed etc.
Toggle Region/Analog Range
Next to the user Input setting is another combo box where you can select either a Toggle Region, or and Analog Range.
The first type are activated, and deactivated when a set percentage of force is applied to the button. When this option is selected you will have a slider you can use to set the force level where you want it to activate. A low percentage requires less force to activate than a high percentage.
When nesting a deep click inside another deep click, make sure that the nested deep click has the higher force percentage of the two. As for example if you were to nest a 10% deep click inside a 75%, the 10% would never activate, as the first deep click needs to be active for the second one to trigger.
Once you have nested a Toggle Region, there are two main types of setups you can use for its outputs.
Deep Click Output Sequence
One of the ways you can setup a deep click is with a sequence of outputs that will trigger as you apply more pressure to the button. This is useful if you have a sequence of actions you use together frequently, but you want flexibility in the timing of each action. Which you can't get from a macro with fixed timings. Using deep clicks like this also allows you to abort the sequence at any point, or just go back one step before proceeding again.
Below is a simple example of such a sequence, which triggers A then B then C then D, with increasing vibration feedback at set points in the deep click range. With this setup you can of course trigger ABCD, but also ABC, AB, or just A. Also you can jump back and forth between levels for more complex outputs like ABCBCDB etc.
Deep Click Single Output Selection
The other main style of deep click configuration is setting it up so it only outputs one of several possible outputs. This is done by moving the outputs to the Release of each deep click level (with an optional vibration left on press), then using the "Block any further outputs" function which is available via a checkbox on release outputs.
What this function does is only allow a single one of the nested deep click release outputs from triggering. Which one will depend on how hard you click before releasing the button.
Below is an example of such a setup, again with ABCD as outputs. But now it will only trigger B if you press to the first deep click level, or only C if you press to the second etc.
This output type allows you to map a deep click input to an analog joystick output. Either as one of the main sticks axes, or a slider. If you select this input type you will see a slider with two values which allows you to set the min and max values of the analog range. So if you set the min to 20%, the joystick output you assign to this input would not activate until you hit 20% force.
Analog Output settings
To create a analog joystick output for deep click simply click "Do Nothing" next to the analog input you want to use. In the output screen this takes you to simply select "Game Controller" from the output type drop-down menu.
You can now select a specific analog joystick output from the drop-down menu. Three Axes and a slider are available, but for deep click the use of the Slider output is recommended.
Ticking the "Show Advanced" checkbox will let you set how much of the sliders possible output range you want to use. If for example you were using this as a throttle, raising the minimum from 0 to 10% would cause you to immediately jump to 10% throttle as soon as the deep click range has been activated. Similarly dropping the max value from 100% would cap the maximum allowed throttle.