KLL 2015-07-26T18:29:09+00:00

Hello Kira Forums Support KLL KLL

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • info
    Keymaster
    Post count: 83

    KLL

    Fergi
    Participant
    Post count: 1

    Ok I have a couple of questions, and they might be stupid and or answered somewhere in the documentation, but as a ‘windows user’ with a small amount of java and smaller python knowledge, the documentation gets overwhelming fast.So here we go anyways.
    1. What programming languages do I need to know to work with the KLL? Or rather if not a ‘language’ what should I know?
    2. What is the relation between the files that are created in the zip file using the compiler/online configurator? By this I mean, would I code what is in the .kll files, and then compile it with the right and left generatedKeymap files? And it would spit out the .json and .bin file that I load to the keyboard? And what exactly are the Keymap.h and def.h files?
    3. How do I know what usb call/function correlates to what key? (Infinity Ergodox specific) I can kind of make sense out of the .kll files, but not really at the same time.
    Any help would be greatly appreciated. I’m trying to learn this, and I don’t plan on giving up, I just haven’t come across anything that tells me to ‘start here’. That or the Kiibohd/controller readme is just way over my head at the moment.

    • This reply was modified 3 years, 1 month ago by  Fergi.
    zenolijo
    Participant
    Post count: 10

    I’m maybe not the most suited to answer you question since I’ve only used it for a few days, but i think i can answer them partially atleast.

    1. What programming languages do I need to know to work with the KLL? Or rather if not a ‘language’ what should I know?

    Define work with.

    Do you want to edit the code and program it?
    The controller is written in C, and the KLL compiler is written in python and translates the KLL files to C.

    2. What is the relation between the files that are created in the zip file using the compiler/online configurator? By this I mean, would I code what is in the .kll files, and then compile it with the right and left generatedKeymap files? And it would spit out the .json and .bin file that I load to the keyboard? And what exactly are the Keymap.h and def.h files?

    The json is translated into the .kll files in the configurator, and the .kll files are translated into C files with kll that is compiled together with the controller and results in the dfu.bin files that you flash.

    3. How do I know what usb call/function correlates to what key? (Infinity Ergodox specific) I can kind of make sense out of the .kll files, but not really at the same time.

    This one I’m not fully sure about though, but this is how I’ve understood it.

    First off there is one .kll file for each layer, such as MDErgo1-Default-0.kll for the default layer, MDErgo1-Default-1.kll for layer 1 etc. In these files, the lines will look like this: U”A” : U”B”. In this example, A is reconfigured to a B. Which button represents the original A is defined in a MDErgo1-Blank file which can be found on github in the configurator. What these keys represents in terms of USB codes is defined in the controller (i think).

    Jacob Alexander
    Keymaster
    Post count: 140

    Hi @Fergi, sorry about the response delay (I’ve been mostly without internet this past month).

    1. KLL (Keyboard Layout Language) itself is a custom language to define keyboard layouts that include layers, macros, and misc configurations. The kiibohd firmware is mostly written in C, uses a CMake build system and Python for translating KLL into C.

    2. The .json files are only used by the web configurator, the web configurator itself also generates the .kll files which the is used to generate the .dfu.bin files

    3. The easiest way is to read sections 9, 10 and 11 of the KLL spec. This lists out all the possible USB codes that are currently supported: https://www.overleaf.com/read/zzqbdwqjfwwf

Viewing 4 posts - 1 through 4 (of 4 total)

The forum ‘KLL’ is closed to new topics and replies.