OneDeadKey / kalamine

Keyboard Layout Maker
MIT License
103 stars 29 forks source link

[klc] wkalamine error #120

Closed nemolivier closed 6 months ago

nemolivier commented 6 months ago

Kalamine v.0.31 beop.txt Pas d'erreur avec kalamine make et kalamine watch.

❯ wkalamine make beop.toml
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts\wkalamine.exe\__main__.py", line 7, in <module>
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\kalamine\cli_msklc.py", line 52, in make
    if msklc_mgr.build_msklc_installer():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\kalamine\msklc_manager.py", line 87, in build_msklc_installer
    dummy_klc = dummy_layout.klc
                ^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\kalamine\layout.py", line 513, in klc
    out = substitute_lines(out, "LAYOUT", klc_keymap(self))
                                          ^^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\kalamine\template.py", line 313, in klc_keymap
    symbol = hex_ord(symbol)
             ^^^^^^^^^^^^^^^
  File "C:\Users\Olivier\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\kalamine\template.py", line 23, in hex_ord
    return hex(ord(char))[2:].zfill(4)
               ^^^^^^^^^
TypeError: ord() expected a character, but string of length 2 found
fabi1cazenave commented 6 months ago

I get another error with wkalamine on lafayette.toml :

C:\Users\BTObogs\Documents\kbd\lafayette>wkalamine make lafayette.toml
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "c:\users\btobogs\.local\bin\wkalamine.exe\__main__.py", line 7, in <module>
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\kalamine\cli_msklc.py", line 53, in make
    msklc_mgr.build_msklc_dll()
  File "C:\Users\kaze\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\Local\pipx\pipx\venvs\kalamine\Lib\site-packages\kalamine\msklc_manager.py", line 121, in build_msklc_dll
    raise Exception(f"{full_dir} doesn't exist")
Exception: C:\Users\kaze\Documents\kbd\lafayette\Lafayette\i386 doesn't exist

The same TOML file is properly transformed into a KLC file that MSKLC can open.

Geobert commented 6 months ago

I’ll take this :)

fabi1cazenave commented 6 months ago

Here’s the KeyboardVerify.log :

ERROR: No keys other than VK_SPACE and VK_DECIMAL are defined on the keyboard. You must have at least one more defined.

And here’s the lafayette.toml input and the Lafayette.klc output : Lafayette.zip

Geobert commented 6 months ago

For the record: