Support for Alternative Layouts
This is a summary of how alternative layouts have been supported by kits such as Colevrak and Homing. It is not a discussion of alt layout performance and development, but if that interests you I highly recommend starting with Pascal Getreuer’s A guide to alt keyboard layouts (why, how, which one?). It’s a concise and comprehensive overview with links to some great sites that go deeper. He also has a separate Links about keyboards page. The Keyboard layouts doc he recommends explains layout goals and metrics in detail, summarizing the alt layouts discussed here as well as more than one hundred others. Sculpted-profile The majority of custom keycap sets are sculpted-profile (Cherry, SA, MT3, KAT, etc. - more on profiles generally here) so let’s start there. Because each row has a unique keycap shape, alt layouts require a unique keycap for each legend that moves off its QWERTY row. At first there were two The Dvorak layout was patented in 1936 by August Dvorak & William L....
Apr 23, 2024
Thanks.
How hard would it have been for them to post what you wrote somewhere in the setup instructions ...
cgi-bin/build_layout.bash fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0 KType standard "KType-Standard-0.kll" "KType-Standard-1.kll" "KType-Standard-2.kll" 2>&1 + DefaultMapOverride='stdFuncMap KType-Standard-0' + PartialMapsExpandedOverride='stdFuncMap KType-Standard-1;stdFuncMap KType-Standard-2' + CMakeExtraArgs=-DCONFIGURATOR=1 + /srv/KiiConf/controller/Keyboards/k-type.bash -c /srv/KiiConf/controller -o /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0 linux-gnu/Linux is supported. Selected Generator: Ninja /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0 -- Build CPU Detected: x86_64 -- Build OS Detected: Linux 4.9.7-x86_64-linode80 -- Compiler Family: arm -- Compiler Selected: gcc -- Chip Selected: mk20dx256vlh7 -- Chip Family: mk20dx -- CPU Selected: cortex-m4 -- Compiler Source Files: Lib/mk20dx.c;Lib/delay.c;Lib/entropy.c;Lib/time.c -- Bootloader Type: dfu -- Full Compiler: /usr/bin/arm-none-eabi-gcc -- Detected Scan Module Source Files: Scan/Devices/ISSILed/i2c.c;Scan/Devices/ISSILed/led_scan.c;Scan/Devices/MatrixARM/matrix_scan.c;Scan/Devices/PortSwap/port_scan.c;Scan/Devices/UARTConnect/connect_scan.c;Scan/K-Type/scan_loop.c -- Detected Macro Module Source Files: Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c;Macro/PixelMap/pixel.c;/srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0/generatedPixelmap.c -- Detected Output Module Source Files: Output/HID-IO/hidio_com.c;Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c;Output/pjrcUSB/arm/usb_joystick.c;Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_mouse.c;Output/pjrcUSB/arm/usb_rawio.c;Output/pjrcUSB/arm/usb_serial.c -- Detected Debug Module Source Files: Debug/cli/cli.c;Debug/led/led.c;Debug/print/print.c -- Found Git: /usr/bin/git (found version "1.9.1") -- Found Ctags: /usr/bin/ctags (found version "5.9~svn20110310") ctags: cannot open tag file : Permission denied -- Found PythonInterp: python3 (found suitable version "3.4.3", minimum required is "3") -- Detected Layout Files: /srv/KiiConf/controller/Scan/Devices/ISSILed/capabilities.kll /srv/KiiConf/controller/Scan/Devices/MatrixARM/capabilities.kll /srv/KiiConf/controller/Scan/Devices/PortSwap/capabilities.kll /srv/KiiConf/controller/Scan/Devices/UARTConnect/capabilities.kll /srv/KiiConf/controller/Macro/PartialMap/capabilities.kll /srv/KiiConf/controller/Macro/PixelMap/capabilities.kll /srv/KiiConf/controller/Output/HID-IO/capabilities.kll /srv/KiiConf/controller/Output/pjrcUSB/capabilities.kll /srv/KiiConf/controller/Scan/K-Type/scancode_map.kll /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0/KType-Standard-0.kll /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0/KType-Standard-1.kll /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0/KType-Standard-2.kll -- Found DFU_SUFFIX: /usr/local/bin/dfu-suffix (found version "0.8") -- Configuring done -- Generating done -- Build files have been written to: /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0 [1/33] Generating KLL Layout FAILED: cd /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0 && /srv/KiiConf/controller/kll/kll --version && /srv/KiiConf/controller/kll/kll --config /srv/KiiConf/controller/Scan/Devices/ISSILed/capabilities.kll /srv/KiiConf/controller/Scan/Devices/MatrixARM/capabilities.kll /srv/KiiConf/controller/Scan/Devices/PortSwap/capabilities.kll /srv/KiiConf/controller/Scan/Devices/UARTConnect/capabilities.kll /srv/KiiConf/controller/Macro/PartialMap/capabilities.kll /srv/KiiConf/controller/Macro/PixelMap/capabilities.kll /srv/KiiConf/controller/Output/HID-IO/capabilities.kll /srv/KiiConf/controller/Output/pjrcUSB/capabilities.kll --base /srv/KiiConf/controller/Scan/K-Type/scancode_map.kll --default /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll KType-Standard-0.kll --partial /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll KType-Standard-1.kll --partial /srv/KiiConf/controller/kll/layouts/stdFuncMap.kll KType-Standard-2.kll --emitter kiibohd --def-template /srv/KiiConf/controller/kll/templates/kiibohdDefs.h --map-template /srv/KiiConf/controller/kll/templates/kiibohdKeymap.h --pixel-template /srv/KiiConf/controller/kll/templates/kiibohdPixelmap.c --def-output kll_defs.h --map-output generatedKeymap.h --pixel-output generatedPixelmap.c --preprocessor-tmp-path /srv/KiiConf/tmp/fb143f4e42e4adfdc9b9578124ab7cf7159f4aadcde9a0/tmp_kll kll BETA 0.5c.f0f1032e4690f103be99d616c17d0c22a2a7633c - 2017-10-14 15:44:22 -0700 Traceback (most recent call last): File "/srv/KiiConf/controller/kll/kll", line 159, in <module> control.process() File "/srv/KiiConf/controller/kll/common/stage.py", line 123, in process stage.process() File "/srv/KiiConf/controller/kll/common/stage.py", line 2827, in process self.emitter.process() File "/srv/KiiConf/controller/kll/emitters/kiibohd/kiibohd.py", line 671, in process self.fill_dict['ResultMacros'] += "{0}, ".format(self.result_combo_conversion(combo)) File "/srv/KiiConf/controller/kll/emitters/kiibohd/kiibohd.py", line 249, in result_combo_conversion cap_index = self.capabilities_index[identifier.name] KeyError: 'None' ninja: build stopped: subcommand failed. Error in make. Exiting... + RETVAL=1 + set +x Compilation Completed.