BetterInputs

spaghettdev

BetterInputs

The CCTextInputNode implementation Robert was too lazy to implement.

Features

  • Text selection
  • Better text input™️
  • Ctrl+A, Ctrl + Left/Right Arrow, Shift + Left/Right Arrow, Home, End and a bunch more hotkeys
  • Esc to deselect an input node
  • Ability to bypass character filter (can be disabled)
  • Ability to bypass max input length (can be disabled)

Ya that's pretty much it for now, at least.

Keep in mind this mod is still very much in beta! Some stuff might not look right, and bugs can and will eventually happen! If you encounter any bugs just make an issue in the GitHub repo.

Contact

You can contact me through my personal Discord server.

BetterInputs Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[v4.2.0-beta.12] - 2024-12-04

Added

  • MacOS keybinds: Command + Left/Right Arrow, Option + Left/Right Arrow
  • ALT/Option key detection

[v4.2.0-beta.11] - 2024-12-01

Changed

  • Hook EAGLView mouseDownExec:/mouseUpExec: methods for mouse input instead of CCTouchDispatcher (#14) - Thanks @SpaghettDev

[v4.2.0-beta.10] - 2024-12-01

Added

  • MacOS support (#13) - Thanks @SpaghettDev

Changed

  • Split codebase into sub-files (no more million line main.cpp)

[v4.2.0-beta.3] - 2024-11-17

Changed

  • Target Geode version (v3.3.0 -> v4.0.0-beta.1)

[v4.2.0-beta.1] - 2024-07-22

Changed

  • Target Geode version (v3.0.0-beta.2 -> v3.3.0)

Fixed

  • Incompatibility with Enter Search mod (#5) - Thanks @iswilljr

[v4.1.0-beta] - 2024-06-19

Added

  • Ability to bypass max input length (can be disabled)

Changed

  • How the AlertFix works, again... Checks for touch priority if the layer has a touch priority, if not then it falls back to Z order (it was also causing a crash in LevelEditLayer)

Fixed

  • Crash in level editor
  • Pasting text bypassing allowed characters filter
  • Space character weirdness in CCTextInputNodes with CCLabelBMFonts
  • More crashes! (when highlighting text)

[v4.0.0-beta] - 2024-06-13

Added

  • Some more keybinds! (Alphalaneous wanted them)
    • Ctrl+Del, Ctrl+Backspace
    • Home/End, Shift+Home, Shift+End
    • Ctrl+Ins
    • Shift+Ins
  • A TextArea cursor fix. All it does is fix a weird vanilla bug where the cursor is positioned sometimes in the middle of the character
  • Actual MacOS support (still broken, binary included but will do nothing, in fact it will break input nodes :trollface:)

Changed

  • How the AlertLayer fix works (it checks for touch priority instead of Z order now)
  • How insertCharAtIndex and insertStrAtIndex to be more efficient (it resizes the string if needed by double, instead of always resizing)

Fixed

  • Numerous text selection bugs in TextAreas
  • Ctrl+Left/Right arrow not positioning cursor correctly (skipping to the character before/after the separator)
  • A lot of other bugs

[v3.1.0-beta] - 2024-06-08

Fixed

  • Dragging input in the index crashing the game
  • Some mouse issues

[v3.0.0-beta] - 2024-06-06

Added

  • MacOS support :o

Changed

  • Target Geode version (v2.0.0-beta.27 -> v3.0.0-alpha.1)

[2.2.1-beta] - 2024-06-01

Changed

  • For loop in layer detection to just use last node

[2.2.0-beta] - 2024-06-01

Added

  • Auto deselect input option, default is enabled. If on, and when ESC is clicked while an input is selected, closes the alert/layer that is in front of the input instead of deselecting the input.

Fixed

  • CCTextInputNode swallowing ESC key of Alerts/Layers above it
  • m_string not getting updated when CCTextInputNode::setString is called

[2.1.0-beta] - 2024-06-01

Robert where update 👀

Added

  • CharNode struct, returned when calling getCharNodePosInfo or getCharNodePosInfoAtLine

Fixed

  • Text being inserted somewhere completely wrong in TextAreas when highlighting
  • Cursor also being positioned somewhere wrong in TextAreas when highlighting

Changed

  • Moved helper types into /src/types folder

[2.0.0-beta] - 2024-05-31

Fixed

  • Everything (TextArea selection bugs, TextArea highlight sprite going everywhere, and much, much more)

[1.4.0] - 2024-05-30

Fixed

  • Cursor position funkiness in TextAreas and regular CCTextInputNodes, again
  • Cursor position not getting set when using mouse in TextAreas

[1.3.2] - 2024-05-28

Fixed

  • Cursor position funkiness in TextAreas and regular CCTextInputNodes

[1.3.1] - 2024-05-27

Fixed

  • More TextArea selection bugs

[1.3.0] - 2024-05-27

Fixed

  • TextArea selection

[1.2.0] - 2024-05-26

Fixed

  • Text selection bugs

[1.1.0] - 2024-05-25

Fixed

  • Text selection and copy/paste shortcuts

[1.0.1] - 2024-05-26

Changed

  • Logo
  • Target geode version (v2.0.0-beta.26 -> v2.0.0-beta.27)

[1.0.0] - 2024-05-25

Added

  • The project
The recommended way to install mods is through the in-game mod loader. You will have to manually install the .geode files you get from this page.

Some mods also require other mods as dependencies; you will need to find and install them yourself.

Site made by HJfod . Thank you to Nekit for the domain!

Geode Team 2024