This might very well be the biggest update yet! I got motivated by my recent aquisition of a Linux-based tablet as well as the stress to release a 1.20.2 port, and ended up rewriting large parts of the mod related to joystick input, touchscreen support, as well as fixing many long-standing issues.
The (huge) changelog:
- Port to 1.20.2
- Rewritten joystick input
- Joystick input is now processed using polar coordinates, resulting in better accuracy and fixing tons of issues (Fixes #135, #138, #186 & #180)
- Camera movement is now way smoother by including the previous stick values in the calculation (Fixes #217 & #167)
- Touchscreen is now actually usable (in theory, I'll have to wait a few weeks for my tablet to arrive to test further)
- Made it possible to place/break blocks and interact with entities & items
- Added a touchscreen mode for interacting with entities and blocks at the position the click was registered at, not just at the crosshair
- Added a close button to screens without their own back button
- Added selection outlines for Break-at-Finger mode
- Breaking blocks/interacting with entities will now just check if the target changed, not the finger position
- Added the ability to create custom touch buttons out of ButtonBindings
- Redesigned top touch buttons
- Added Touch category to simple options screen
- Added emote touch button when Emotecraft is installed
- Additional keybinds are now loaded from the vanilla list instead of fabric's modded list
- Better support for mods not using the Fabric Keybinding API (Closes #218)
- Also now supports Forge mods via Sinytra Connector
- Added configurable list to exclude certain keybinds
- Added Eye-Tracker support thanks to @kabliz in #208
- Fixed virtual mouse cursor sometimes being hidden behind objects (closes #221)
- updateMappings() is now called asyncronously (Closes #219)
- Removed old mixins
- Fixed crash when joining world without the HUD's init method being called (closes #210)
Additional Contributions
- Update Traditional Chinese by @notlin4 in https://github.com/TeamMidnightDust/MidnightControls/pull/195
- Eye Tracking Support, No-Hands Minecraft by @kabliz in https://github.com/TeamMidnightDust/MidnightControls/pull/208
- Update Traditional Chinese by @notlin4 in https://github.com/TeamMidnightDust/MidnightControls/pull/209
- Add vi_vn.json by @ImVietnam in https://github.com/TeamMidnightDust/MidnightControls/pull/215
- Update ko_kr.json by @m-jxx1 in https://github.com/TeamMidnightDust/MidnightControls/pull/225
Finally... yes, I do plan on backporting these changes to 1.20.1, 1.19.4 and perhaps 1.19.2. This will likely happen in MidnightControls 2.0.0, along with further big cleanups, a new-and-improved API and maybe even NeoForge / native Quilt support ;)
- Update to 1.20
- Fix virtual mouse cursor not being visible
- Add option to hide the normal mouse cursor
- Fixes #185 (Left joystick not working like a mouse when it's supposed to)
- Includes Ukrainian translation by @forditt (from #170)
- Port to 1.19.4
- Drastically improved GUI handling
- Directions are now respected instead of acting like the Tab key (possible thanks to 1.19.4)
- The new tabs can be navigated using the shoulder buttons
- Sodium and Iris now have way better controller navigation thanks to isXander's PRs to them
- Improved reacharound thanks to MonstoBusta
- Cleaner advanced options screen
- Better auto-detection of the Steam Deck
Fix crash with Fabric API 0.71+ on 1.19.2
- (1.19.3) Fix crash with Fabric API 0.71.0 (thanks to @HttpRafa in #155)
- Compatibility with YetAnotherConfigLib (thanks to @isXander in #144)
- Italian translation (thanks to @glaav in #149)
- (1.19.2) Backport all changes from 1.7.2 and 1.7.3
- Compatibility with YetAnotherConfigLib (thanks to @isXander in #144)
- Italian translation (thanks to @glaav in #149)
- Update to 1.19.3 (Tabbing through creative tabs behaves the same as before, that was hard)
- Add an option to move the chat input field to the top of the screen for better input on devices using an on-screen keyboard
- Add an option to make the left joystick behave like a mouse in every screen
- Add a button to more easily access the Advanced Config
Direct port of 1.7.1 to Minecraft 22w43a
- Add more compatibility for mods and vanilla screens
- Make the left stick emulate the mouse cursor in the signed book screen
- Holding the A-button (Cross-button on PlayStation controllers) now allows dragging certain elements on screen (useful for minimap mods, etc.)
- The X-button (Square-button on PlayStation) will now emulate the right mouse button in any screen, except for the chat screen, where it'll act as the enter key (closes #116)
- D-Pad will emulate the keyboard's arrow buttons in the chat screen and WASD keys in Devices Mod computer screen (closes #118)
- Compatibility for VoxelMap's Keybinds
- Scrolling in hotbar using the controller while in spectator mode will now increase the fly speed like the mouse wheel does (closes #117)
- Sort contributor names in fabric.mod.json alphabetically and add missing ones
- Fix diagonal movement speed (PR #113, thanks @dogtopus, closes #42)
- Toggle Sprint and Toggle Sneak can now be enabled separately just for controllers (closes #102)
- Added button binding profile support (closes #107)
- Fix button binding tooltips intersecting with chat on large GUI scales (closes #106)
- Add assets for non-licensed (numbered) PlayStation controllers (closes #110)
- Fix reacharound outline color
- Fix pixel error in legacy icons (closes #84)
- Fix creative flight being slow with Bedrockify installed (just disables the "disableFlyingMomentum" option on launch)
This is a big one!
- Finally fixed camera choppiness (especially noticeable on low framerates, closes https://github.com/TeamMidnightDust/MidnightControls/issues/38)
- Asset improvements kindly contributed by @spudpiggy
- Use built-in 'scrollInHotbar' method by @TrueHorse
- Button tips now adjust properly to the scaled width of the window (closes https://github.com/TeamMidnightDust/MidnightControls/issues/95)
- Make 'Back' binding configurable (closes https://github.com/TeamMidnightDust/MidnightControls/issues/93)
- Add config option to disable the button in the controls screen (closes https://github.com/TeamMidnightDust/MidnightControls/issues/97)
- Add compatibility with the Inventory Tabs mod (closes https://github.com/TeamMidnightDust/MidnightControls/issues/100)
- Improve Emotecraft compatibility
- Add radial menu listing unbound keys (closes https://github.com/TeamMidnightDust/MidnightControls/issues/101)
- Fix disabling the HUD not hiding the tips in container screens (closes https://github.com/TeamMidnightDust/MidnightControls/issues/104)
- Fix 'Back' button not working correctly
- Fix recipe book not switching tab via shoulder buttons in Crafting Table and Furnace screens
- Support scrolling in Stonecutter
- Update to MidnightLib 0.6.1 (Several changes that make MidnightConfig screens more easily navigable using controllers)
- Add hints when controller is available, but not enabled (Closes https://github.com/TeamMidnightDust/MidnightControls/issues/81)
- Add optional Legacy controller icon pack (thanks @Ivanoks)
- Add LibGUI compatibility
- Fix https://github.com/TeamMidnightDust/MidnightControls/issues/75 (Swift Sneak enchantment not working, thanks @andrewaramsay)
- Fix crawling being too fast
- Minify assets by @Madis0 and @RaptaG
- Updated German translations by me, updated Russian translations by @Ivanoks
- Add hints when controller is available, but not enabled (Closes #81)
- Add optional Legacy controller icon pack (thanks @Ivanoks)
- Add LibGUI compatibility
- Fix #75 (Swift Sneak enchantment not working, thanks @andrewaramsay)
- Fix crawling being too fast
- Minify assets by @Madis0 and @RaptaG
Fixes tooltips in inventories getting displaced when having the GUI scale set to something above 4.
Backport all recent advances to 1.18.2
- EMI compat! (Switch page keybinds & more)
- Expose more keybindings
- Fix Compatibility with Quilt Creative Extension
- Improve Auto Switch mode (Automatically switch gamepad on connection changes)
- Fix triggers not working on some (slightly broken) controllers
- Fix #57 (Broken stack pickup)
- Fix #56 (Unused language strings)
- Fix #52 (Rebound perspective button blocking actions)
- Fix #46 (Button overlap with Crawl mod)
- Fix #59 (D-Pad can switch EMI buttons when in Inventories)
- Fix missing tooltip by @Madis0
- Estonian translations by @Madis0
- Russian translations by @Ivanoks
- Merge #48 (Split rotation speed in X and Y, thanks to @ronniedude)
- Merge #47 (Korean translations by @gyular)
- Fix #50 (Stack pick-up problems in survival mode)
- Add some compatibility measures for EMI (Will likely be improved further in the future)
- Remove all REI-related code (not working anyway, EMI is better)
- Possibly fix #41 (Random crashes when changing keybinds)