Closed gagath closed 1 week 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
@adrienm7 can I have your toml please? did you tried https://github.com/OneDeadKey/kalamine/issues/175#issuecomment-2143433366 ?
@adrienm7 can I have your toml please? did you tried #175 (comment) ?
Le fichier suivant compile bien, mais a 9 caractères pour le nom généré. Modifier le name8 en supprimant l’underscore génère l’erreur. Extension .txt
a renommer en .toml
@adrienm7 can I have your toml please? did you tried #175 (comment) ?
Le fichier suivant compile bien, mais a 9 caractères pour le nom généré. Modifier le name8 en supprimant l’underscore génère l’erreur. Extension
.txt
a renommer en.toml
Le soucis est qu’il ya des touches sans rien. Du coup je ne sais pas quel VK mettre et par défaut, on met VK_OEM_
mais on est limité a 9 maxi et elles sont utilisée pour d’autre
C’est donc peut-être ça la raison, qu’il faut remplir chaque touche même si elle est en 6e et 7e colonne. Ce qui est étrange est que cela build apparemment sans problème avec ces touches vides, et que c’est la changement du name8 qui casse tout. Peut-être qu’avant, comme mon name8 était > 8 caractères, une étape de compilation n’était pas lancée, et que quand on renomme en 8 caractères non, et que seulement là le compilateur a l’erreur de trop de touches vides.
Je crois que je sors dès que je vois que > 8 pour Windows oui
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.