Open gagath opened 1 month ago
Same issue when trying to generate driver for the latest version of Bépolar:
... dist/bepolar.ahk
Traceback (most recent call last):
File "/home/cedc/.local/bin/kalamine", line 8, in <module>
sys.exit(cli())
^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/kalamine/cli.py", line 137, in build
build_all(layout, Path("dist"))
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/kalamine/cli.py", line 73, in build_all
file.write(klc.klc(layout))
^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/lib/python3.12/site-packages/kalamine/generators/klc.py", line 384, in klc
out = substitute_lines(out, "LAYOUT", klc_keymap(layout))
^^^^^^^^^^^^^^^^^^
File "/home/cedc/.local/share/pipx/venvs/kalamine/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/cedc/.local/share/pipx/venvs/kalamine/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
Step to reproduce : kalamine build Bépolar.toml
with
name = "Bépolar"
name8 = "bepolar"
locale = "fr"
variant = "bepolar"
description = "French (Bépolar)"
author = "Cèd’C"
url = "https://github.com/Ced-C/Bepolar"
geometry = "ERGO"
version = "0.7.0"
base = ''' ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮ ┆ ¬ ┃ # │ « “ │ » ” │ ( „ │ ) ‘ ┃ @ │ + ÷ │ ^ˇ │ / | │ × ┃µ ┆ § ¶ ┆ ┆ ~~ ┃ 1 & │ 2 < │ 3 > │ 4 ( │ 5 ) ┃ 6 @ │ 7 ± │ 8^ │ 9 \ │ 0 ° ┃ = ≠ ┆ % ‰ ┆ ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤ · ┃ B │ M │ P │ O │ W ┃ Z │ V │ D │ L │ J ┃ { ┆ } ┆ · ┃ â │ û │ î │ ô │ œ ┃ │ ŭ │ ( │ ) │ ) ┃ [ ┆ ] ┆ · ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤ · ┃ A │ U │ I │ E │ ; ┃ C │ T │ S │ R │ N ┃ " ┆ €¤ ┆ · ┃ à │ ù │ é │ è │ , ê ┃ ç │ ™ │ ß │ ® │ ñ ┃ ' ` ┆ $ ¢ ┆ ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯ ┆ \ ¦ ┃ ! ¡ │ Y │ X │ : · │ K ┃ ? ¿ │ Q │ G │ H │ F ┃ · ┆ / | ┃ - — │ ŷ │ _ │ . … │ æ ┃***¨ │ – │ µ │ © │ ‑ ┃ · ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚ · · · · · · '''
altgr = ''' ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮ ┆ ┃ ¹ │ ² │ ³ │ ⁴ │ ⁵ ┃ ⁶ │ ⁷ │ ⁸ │ ⁹ │ ⁰ ┃ ┆ ┆ ┆ ┃ ₁ │ ₂ │ ₃ │ ₄ │ ₅ ┃ ₆ │ ₇ │ ₈ │ ₉ │ ₀ ┃ ┆ ┆ ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤ · ┃ ^ │ ≤ │ ≥ │ ¤ │ ‰ ┃ ˚ │ │ × │ ´ │ ` ┃ ┆ ┆ · ┃ ^ │ < │ > │ $ │ % ┃ @ │ & │ │ ' │ ` ┃ ┆ ┆ · ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤ · ┃ ˇ │ │ │ ˙ │ ≠ ┃ / │ ± │ ¯ │ ÷ │ ” ┃ ┆ ┆ · ┃ { │ ( │ ) │ } │ = ┃ \ │ + │ - │ / │ " ┃ ´ ┆ ┆ ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯ ┆ ┃ ~ │ , │ ˛ │ – │ ┃ ¦ │ ¬ │ ¸ │ : │ *˘ ┃ · ┆ ┃ ~ │ [ │ ] │ _ │ # ┃ | │ ! │ ; │ : │ ? ┃ · ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚ · · · · · · '''
[spacebar] shift = "\u202f" # NARROW NO-BREAK SPACE altgr = "\u0020" # SPACE altgr_shift = "\u00a0" # NO-BREAK SPACE 1dk = "\u2019" # RIGHT SINGLE QUOTATION MARK 1dk_shift = "\u2019" # RIGHT SINGLE QUOTATION MARK
using kalamine V**0.36**
on both instances, removal of the 2 leading spaces on each line of base
description fixes the issue
we need to bullet proof the parser
This seems to be related to the
klc
Windows generator. When building the Linux files only, the program exits successfully: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.