The upgraded Magic Leap 2 controller offers the same functionality as the Magic Leap 1 controller, but it now includes an improved tracking system using both LED and camera-based tracking. Below you can learn more about the controller buttons and sensors, and touchpad gestures.
Note: Starting with Magic Leap OS 1.8.0, near field hand tracking is enabled by default and the controller is not required for basic device usage.
Controller Diagram
1.a Ray Target |
1.d Touchpad Scroll (Swipe Up/Down) Slide (Swipe Left/Right) |
1.b Bumper Button Change Virtual Keyboard Layout (Single Press) |
1.e Menu Button App Menu for Developers (Single Press) |
1.c Trigger Select (Trigger Pull/Release) Press & Hold (Trigger Hold) Grab (Trigger Hold) |
1.f Home Button Toggle Home/Mini Home (Single Press) Re-Center Home (Single Press) Turn On/Wake Up Controller (Single Press) Turn Off Controller (Hold for 4 seconds) Controller Reset (Hold 10.5 seconds) Capture Shortcut (Home + Bumper) |
Touchpad Gestures
2.a Touchpad Scroll (Swipe Down/up) Slide (Swipe Left/Right) |
3.a Swipe Down 3.b Swipe Up 4.a Swipe Left 4.b Swipe Right |
Pairing and Updating Your Controller
Before pairing your controller to your device for the first time, make sure it is sufficiently charged. Pairing and updating your controller is simple - connect your controller to your device's compute pack via a USB-C cable. If the controller's firmware needs updating, you will see a notification pop-up on your device notifying you of the in-progress update. Do not unplug your controller during this process. You will be notified when the update completes.
Once your controller is up-to-date leave it plugged in until you receive a notification it has been successfully paired with your device.
Controller Tracking
Tracking refers to the idea of understanding the controller's relative position and rotation at a given time. The Magic Leap 2's controller combines LED and camera-based tracking to determine this information.
Environmental Impact on Tracking
Controller tracking can be impacted by environmental conditions. Some things to consider when using the Magic Leap 2 and its controller:
- Magic Leap 2 isn't designed for use in direct sunlight, and the controller's LED tracking may be degraded when used in situations with direct sunlight (note: Magic Leap 2 doesn't support outdoor usage)
- Camera-based tracking will be impacted based on the diversity of detail in an environment, similar to headpose
Motion's Impact on Tracking
Controller tracking can be impacted by the motion of the controller while being used. While LED tracking is minimally impacted by controller motion, fast or erratic motion can interfere with the camera-based tracking systems.
Tracking Resetting
Controller tracking my reset if the headset moves in any direction more than 5 meters while breaking line of sight with the controller's LED trackers.
Additionally, moving more than a meter in any direction while in 3DOF (three degrees of freedom) mode will also cause a reset in tracking. The controller enters 3DOF mode is entered when neither the camera or LED tracking is able to acquire the controller's relative position and rotation.
Troubleshooting Controller Issues
Reconnect Controller When Bluetooth is Off
If you're unable to use your device due to bluetooth being disabled, and you haven't enabled hand tracking, you can reconnect your controller by plugging it directly into your Magic Leap 2's Compute Pack with the included USB-C cable.
Controller Unresponsive
If your controller is unresponsive - that is, not responding to inputs, no LED indicators are appearing, and not pairing with your device, try holding down the home button for 11 seconds. This will perform a hard reset on the controller. If issues persists after that, please contact our Customer Care team.
Controller Update Fails
In the event that your Controller fails to update and results in the Controller not connecting to the Compute Pack or failing to boot; a manual flash may be required. This guide includes instructions on how to manually flash the Controller.
Only perform a manual flash if the Controller fails to updated after connecting it to the Compute Pack.
Manual flashing is only supported on Windows and Linux.
Before you start
- Make sure the Controller's charge is above 40%
- If the recovery fails, you may need to try another cable.
- Download the Controller recovery files
Windows Flashing
- Make sure the Controller is NOT connected to your computer.
-
Download the Controller recovery files and extract the folder so it can be easily accessed. For example, the folder can be placed into the
MagicLeap/firmware/
directory. -
To extract the contents of the compressed file, you may need to enter a password. If prompted enter MagicLeap.
-
With the folder extracted, open command line and navigate to that directory:
cd Magicleap/firmware/control_4992-R2/
- Run the Controller recovery command:
erase_myriad.bat
-
- If the output from running
erase_myriad.bat
shows some output resembling "instance not found" repeatedly, execute the following two commands until you get nothing butOK:
s as output. If you get errors on the second command, run the first command until you get no errors, then the second one must have no errors on the first attempt, or you must start again:
- If the output from running
fcmd.bat mode 0101 & timeout /t 3 & fcmd.bat gpio 010300
fcmd.bat gpio 0003 & fcmd.bat edfu 01 & fcmd.bat edfu 040000000000040000
-
- After both commands have been run without any errors (subsequently, in-a-row), run the following, one more time:
erase_myriad.bat
Linux Flashing
Set Udev Rules
These steps only need to be completed once per machine. If you feel like your computer's Udev rules have already been updated, proceed to the next section.
- Run the following commands:
sudo chown root:root /etc/udev/rules.d/95-roshi.rules sudo chmod 644 /etc/udev/rules.d/95-roshi.rules sudo udevadm control --reload-rules
- Add yourself
plugdev
anddialout
groups, then log out and back in:
shell sudo usermod -a -G plugdev,dialout $USER
- Modem Manager - The Linux modem manger service will conflict with the totem flashing communication,
- You can either uninstall it by running:
sudo apt-get purge modemmanager
- Or run the following command after restarting your computer:
sudo stop modemmanager
Flashing
- Make sure the Controller is NOT connected to your computer.
-
Download the Controller recover files and extract the folder so it can be easily accessed. For example, the folder can be placed into the
MagicLeap/firmware/
directory. -
To extract the contents of the compressed file, you may need to enter a password. If prompted enter MagicLeap.
-
With the folder extracted, open command line and navigate to that directory:
cd Magicleap/firmware/control_4992-R2/
- Run the Controller recovery command:
./erase_myriad.sh
If the output from running erase_myriad.sh
shows some output resembling "instance not found" repeatedly, execute the following two commands until you get nothing but OK:
s as output. If you get errors on the second command, run the first command until you get no errors, then the second one must have no errors on the first attempt, or you must start again:
./fcmd.sh mode 0101 & timeout /t 3 & ./fcmd.sh gpio 010300
./fcmd.sh gpio 0003 & ./fcmd.sh edfu 01 & ./fcmd.sh edfu 040000000000040000