Skip to content

Generating bepo layout generates Exception: Too many OEM keys #175

@gagath

Description

@gagath

This seems to be related to the klc Windows generator.
When building the Linux files only, the program exits successfully:

$ kalamine build bepo.toml
... dist/custom.ahk
Traceback (most recent call last):
  File "$HOME/kalamine/venv/bin/kalamine", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/kalamine/cli.py", line 137, in build
    build_all(layout, Path("dist"))
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/kalamine/cli.py", line 73, in build_all
    file.write(klc.klc(layout))
               ^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/kalamine/generators/klc.py", line 384, in klc
    out = substitute_lines(out, "LAYOUT",         klc_keymap(layout))
                                                  ^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/kalamine/generators/klc.py", line 139, in klc_keymap
    virtual_key = klc_virtual_key(layout, symbols, scan_code)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "$HOME/kalamine/venv/lib/python3.12/site-packages/kalamine/generators/klc.py", line 91, in klc_virtual_key
    raise Exception("Too many OEM keys")
Exception: Too many OEM keys

The used bepo.toml attached: bepo.toml.txt

Suggestion: the error should be fixed, or at least a clear error message with actionable explanation should be displayed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions