1
0
Fork
You've already forked mana2
0
forked from Zakkkk/mana2
Keyboard layout analyser for layouts including combos, magic keys, layers, and tap hold functionality!
  • Go 100%
2026年05月14日 12:08:17 +02:00
cmd/cli Update to new bubbletea 2026年04月20日 23:15:54 +10:00
core Weighted Sfs fixed 2026年04月23日 15:50:01 +10:00
data Upload files to "data/layouts" 2026年05月14日 12:08:17 +02:00
docs Remove repetition of "feedback" 2026年04月21日 02:18:28 +02:00
engines fix mistakes in the engines and internal.CleanLine 2026年04月27日 19:25:08 +03:00
internal fix mistakes in the engines and internal.CleanLine 2026年04月27日 19:25:08 +03:00
.gitignore Ignore profiling files 2026年04月20日 20:51:43 +10:00
command_history Added json command for stats, added all stat example commands 2026年01月20日 23:57:09 +11:00
config.jsonc Removed weights from config 2026年04月15日 02:57:29 +10:00
go.mod Update to new bubbletea 2026年04月20日 23:15:54 +10:00
go.sum Update to new bubbletea 2026年04月20日 23:15:54 +10:00
LICENSE Add license 2025年12月23日 10:44:46 +08:00
README.md Update README.md 2026年04月19日 12:14:59 +10:00

Mana2

⚠️ Mana2 is still under heavy development, and is not yet released, but it is ready to use. ⚠️

A sequel to my old magic analyser!

Planned/completed features:

  • Modular analyses algorithms; choose between traditional analyses, old Mana algorithms, or optimal pathfinding analyses considering combos, layers, and magic.
  • Custom board shapes, allowing for custom row or column staggers.
  • Composable commands with s-expressions, for example: compare sturdy (swap sturdy ab).
  • Customisable layout generation for regular layouts, or layouts with magic.
  • Many included layouts.
  • Customisable corpus parsing options.
  • Simple user definable stats.

Installing and Running

Mana2 requires Go to be installed. Install it with your package manager or see the website.

git clone https://codeberg.org/Zakkkk/mana2.git
cd mana2
go run ./cmd/cli

Alternatively, you can run Mana2 as a CLI tool, rather than in the TUI by appending the desired commands after the run command:

go run ./cmd/cli load sturdy

You can run multiple commands by putting parentheses around your commands:

go run ./cmd/cli (load sturdy) (compare night (swap night ae))

You may need to wrap your commands in "quotes" if your terminal misinterprets your input: go run ./cmd/cli "(compare sturdy (swap sturdy ab))".

Documentation

To get started for for any questions, please see the /docs/ folder for full documentation and examples. I've specifically made this to be easy to understand and read so please don't be intimidated!

Engines

Mana2 uses 'engines' to achieve its modular analyses. There are different algorithms for analysing a layout, depending on what is needed, for example, you might have a layout with simple magic, complex magic, layers, or combos, and it would make sense to choose the fastest engine which still supports all the features of your layout. This will especially matter for generation as layouts needs to be analysed thousands of times.

If you only intend on using Mana2 as a regular analyser, you can keep using the Standard Engine and ignore further mentions of it.

Acknowledgements

Special thanks to Apfel, StrawberryTurtle aka BerryKate, yuli for their suggestions and contributions.

Consider joining the AKL Discord!