# Controlify 1.5.0 for Minecraft 1.20.1

## New Features

### Radial Menu

![radial menu showcase](https://cdn.modrinth.com/data/DOUdJVEm/images/e56d9be363b2b31440e16018cc01f197848b7ac6.webp)

Added a radial menu for quick access to up to 8 common binds that could not fit on
the controller buttons. The menu can be opened by holding down the bind (right d-pad by default),
then selecting with the action you want (right-stick by default) and letting go of the bind.

The menu can be configured in the config screen, as usual.

### Unknown Controller Submission

![picture of controller submission screen](https://cdn.modrinth.com/data/DOUdJVEm/images/f90fc916c7a40417294db37dc8f72f7729f9b482.png)

When your controller is unidentified, a screen will pop up, asking you to send off some
controller data in order for me to add it to the identification database. You can skip this
screen if you want to, and it won't bother you again for that controller.

## Changes

### Controller Handling

A lot of changes and improvements have been made regarding the way Controlify handles controllers:

- Moved to an SDL2-based driver when available, you shouldn't notice any difference, but may support
  more controllers than the old GLFW approach.
- XInput devices are now named properly in some cases, instead of just "XInput Controller"
- Upon failure of detection, the controller will continue to load, as an unknown controller.
- Updated the required SDL2 natives version to 2.28.2, hopefully fixing some controller bugs.
- Reduced the delay before the mouse hides itself after use when using Mixed Input mode (from 3 to 2 seconds).
- Added the 'PRINT_VID_PID' debug property which prints the vendor and product ID of any connected controller.

### Configuration Screen

- Updated some controller arts.
- Made the reset button act as an unbind button for controls.
- Added a new "What's New" section to the configuration screen, so it's easier to spot the
  new features.
- Fixed controller names not stacking properly when multiple controllers have the same name.
- Credited Andrew Grant for making the controller art on the carousel screen, with a link to his
  GitHub.

## Bug Fixes

As usual, a lot of bug fixes have been made:

- Fixed not being able to type in text boxes after focusing them with a controller.
- Fixed controller guides in inventory corresponding to the incorrect binds.
- Fixed rumble not working intermittently.
- Fix server reach-around not respecting config option and always being disallowed.
- Fixed the chat rendering incorrectly when hidden.
- Fixed the controller being disabled when pressing "Maybe Later" on the calibration screen
  if the controller was already calibrated.
- Fix mixin remap error when starting up the game.
- Fix missing textures relating to joysticks.
- Fix missing language entry for joystick axis deadzones.

## Controller Database Updates

Changes to the database that Controlify uses to identify controllers at runtime.

- Added more Xbox controller identifications.
- Added 8BitDo SN30 Pro & Ultimate.

## Translations

- Update chinese translation
