• v0.16.2 132deac5bc

    v0.16.2
    All checks were successful
    bootstrap / cfree-fixpoint (push) Successful in 33s
    ci / build-and-test (push) Successful in 3m32s
    commit-lint / conventional-commits (push) Successful in 5s
    docs / build-and-deploy (push) Successful in 41s
    release / publish (push) Successful in 3m22s
    Pre-release

    orkun released this 2026-09-15 22:27:04 +02:00 | 862 commits to main since this release

    v0.16.2 — 2026-09-15

    Fixes

    • Keys are physical positions on Windows and macOS, whatever the layout - Input.key_down('w')
      is the key above S on every keyboard.

      • Windows keyed the held set by the character the active layout gave a virtual key, so
        a game's WASD belonged to whatever the layout put there: on AZERTY W and A were other
        keys, and with an input method on (Chinese, Japanese, Korean) every letter arrived as
        VK_PROCESSKEY and no letter key worked at all. The typing block is now read from the
        scancode; the arrows, the numpad and the F-keys still go by virtual key, and the frame
        key (Input.key, typing) keeps the layout's character.
      • macOS did the same through charactersIgnoringModifiers; it now reads keyCode.
      • Input.key_label(key) names a key for the player in their own layout - 'w' shows
        as "W" on QWERTY and "Z" on AZERTY - so a game that shows its bindings never shows a
        key the player cannot find. Windows reads the layout; headless, macOS and the browser
        give the US character.
    Downloads