# Comparison between Controlify 1.0.0 and Midnight Controls 1.8.0 | | Controlify | Midnight Controls | | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **Custom Screen Compatibility** | Convenient APIs to hook into controller support directly from `Screen` implementation. | No API. Sometimes necessary to mixin into Midnight Controls and edge-case code required. | | **Screen Navigation** | 4-axis navigation, emulating arrow key navigation | 4-axis navigation, emulating arrow key navigation | | **In-game button guide** | Extensible by 3rd party mods | Harcoded buttons and positions | | **Reach-around block placement** | ⛔ Planned | ✅ | | **Controller detection** | Powered by resource packs for unlimited detection | Hardcoded identifiers in code | | **Controller button rendering** | Powered by resource pack controller detection | Texture atlas for hardcoded identifiers | | **In-game look sensitivity & behaviour** | Emulated Bedrock Edition with good defaults and snappy behaviour | testing required - reported bad defaults | | **Container interaction** | Controlled cursor snaps to container slots (with API) with power of left click, right click and shift click | No slot snapping, testing required | | **Touchscreen support** | ⛔ | ✅ | | **Joystick support** | ✅ Only one joystick can be used at a time (currently) | ✅ Multiple joysticks can be combined together | | **Joystick mapping** | Powered by resource packs, unlimited amount of buttons available | All combined joysticks limited to gamepad input. Powered by SDL mappings | | **Configurability** | Each controller has individual settings with the ability to map every single controller action. No hardcoding! | needs testing | | **Mod keybindings** | Mods must explicitly support Controlify for their keybinds | All keybinds work out of box after mapping buttons | | | | |