<commit_before>g13-profile-migrator
===========

Windows to Linux profile migration tool for Logitech G13 gameboard.  Converts
the XML files exported from the Windows G13 software to the format used by the
Gnome15 suite.


USAGE:

    python wintonix.py [options] PROFILE

where PROFILE is a game profile (XML format) exported from the Windows G13
profile manager.

The script generates a file with the same basename as PROFILE and the extension
`.mzip`, a zip archive which conains the converted .macros profile. The output
file can be imported into g15-config, the key configuration utility of the
[Gnome15 project](https://projects.russo79.com/projects/gnome15)


Options:

    -h, --help              show this help message and exit
    -k KEYDEF, --keydef=KEYDEF
                            keydef file: mappings from the Windows XML file to the
                            corresponding Gnome15 key names (default: keydef.cfg)
    -v                      enable verbose output


### TO-DO
Secondary output format for [ecraven/g13](https://github.com/ecraven/g13).<commit_msg>Updating readme with new format and options<commit_after>g13-profile-converter
===========

Windows to Linux profile migration tool for Logitech G13 gameboard.  Converts
the XML files exported from the Windows G13 software to the format used by the
Gnome15 suite.


Usage
-----

    python wintonix.py [options] PROFILE

where PROFILE is a game profile (XML format) exported from the Windows G13
profile manager.

Options:
  -h, --help            show this help message and exit
  --format=FORMAT       output format: valid values are "mzip" and "bind"
                        (default: mzip)
  -f, --force           force overwrite: overwrite destination file without
                        asking
  -o OUTFILE, --output=OUTFILE
                        output file: destination file (defaults to input file
                        basename with appropriate extension)
  -k KEYDEF, --keydef=KEYDEF
                        keydef file: mappings from the Windows XML file to the
                        corresponding Gnome15 key names (default: keydef.cfg)
  -v                    enable verbose output


Formats
-------
The `mzip` format is intended to be used with [Gnome15](https://projects.russo79.com/projects/gnome15).
The resulting file is a standard Zip file, but requires the `.mzip` extension to be imported into the configuration tool.

The `bind` format is intended to be used with [ecraven's userspace driver](https://github.com/ecraven/g13).

Features and limitations
------------------------
- Currently, the resulting profile only assigns direct key bindings (`G key : keyboard key/combo`).
- For the `bind` format, only the first bank, `M1` is converted, since ecraven's driver doesn't handle bank switching.
- Macros and other options are planned for the future (for Gnome15).
{'fraction_non_alphanumeric': 0.08107167710508002, 'fraction_numerical': 0.016353514265831592, 'mean_word_length': 2.6254728877679696, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1933273', 'n_tokens_mistral': 789, 'n_tokens_neox': 726, 'n_words': 336}