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年06月16日 14:54:46 +03:00
cmd/cli Add CLI back in 2026年06月07日 03:20:02 +10:00
core Tweaked scissor stat 2026年06月11日 01:32:12 +10:00
data add cyclone 2026年06月15日 19:55:14 +03:00
docs Started writing definitions documentation 2026年06月11日 02:26:29 +10:00
engines Engine command will now list engines 2026年06月11日 00:33:11 +10:00
img Updated README 2026年05月24日 23:00:19 +10:00
internal fix improve and config printing 2026年06月16日 14:54:46 +03:00
.gitignore Update .gitignore 2026年05月27日 23:06:17 +10:00
command_history Added json command for stats, added all stat example commands 2026年01月20日 23:57:09 +11:00
config.jsonc Update config format 2026年05月28日 13:37:09 +10:00
go.mod Update go and add package 2026年06月10日 21:27:15 +10:00
go.sum Update go and add package 2026年06月10日 21:27:15 +10:00
LICENSE Add license 2025年12月23日 10:44:46 +08:00
README.md Add CLI back in 2026年06月07日 03:20:02 +10:00
weights.toml Update weights 2026年06月10日 21:26:25 +10:00

Mana2

lgbtq+ friendly

⚠️ 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.

TUI of Mana2 showing a layout preview.

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

You should then be able to run any commands in the TUI.

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!