keymui is probably the most flexible layout analyzer available. It is not ready yet, but I think it's rather exciting and should be useable fairly soon.
- Cross platform GUI written in Iced
- Web version
- ability to import custom metrics and keyboards from km_metrics
- flexible layouts adaptable to multiple kinds of keyboards
- multiple modes of layout visualization
- nstroke list and visualization for any metric
- keyboard-driven interface (partially implemented)
- fast layout optimization with cached analysis through keycat
- tree-based interactive layout development workflow
Keymui is now pretty usable out of the box. Just download the source and build it. The only dependency is the Rust compiler.
git clone https://github.com/semilin/keymui
cd keymui
cargo r --release
Analyzing with the default metrics is nice, but Keymui's real killer feature is the ability to create your own metrics and keyboards. This requires some additional setup.
First, clone km_metrics.
Run python3 main.py
to export the metrics.
In keymui, run the set-metrics-directory
command and select the
export
folder in your km_metrics
directory.
In order to refresh the metrics, run the reload-metrics
command in
keymui. You should do this every time you successfully export in
km_metrics.
Adding/editing layouts is annoying at the moment because Keymui stores
layouts in a non-obvious place. On Linux, this is
$XDG_DATA_DIR/keymeow/layouts/
(XDG_DATA_DIR
defaulting to
$HOME/.local/share
). On Windows, this is %APPDATA%\Roaming\keymeow\layouts\
In the future, a system will be added for storing layouts in a directory of your choice.
Just run the import-corpus
command and select a text file.