Author Topic: QMK Sucks! - Why I prefer Kaleidoscope  (Read 3726 times)

0 Members and 1 Guest are viewing this topic.

Offline squizzler

  • Thread Starter
  • Posts: 39
    • My blog
QMK Sucks! - Why I prefer Kaleidoscope
« on: Sun, 24 November 2024, 09:59:33 »
As a former QMK user, I owe it gratitude for getting me started in making my own keymaps. However after migrating to Kaleidoscope several years ago the latter seems like a better system generally. This post is my attempt to flex on the merits of Kaleidoscope for hand coded key-maps. I don’t have experience with the associated graphical tool Chrysalis which I understand has an even greater advantage over QMK equivalents. Kaleidoscope originated with Keyboardio, a firm that specialises in Ergonomic keyboards, who wrote it to meet their own needs.

QMK encourages you to start by forking their repo: thereby downloading a massive directory of stuff just to build your own keymap. This also exposes you to the horrors of git. I managed to get the whole repo out of sync and eventually overwrite my own keymaps whilst trying to rebase everything. Kaleidoscope uses Arduino IDE.

I confess that Kaleidoscope and its use of Arduino did not seem intuitive when all I had known was QMK. At first I did not see why one would want to use Arduino’s austere looking IDE instead of choosing any text editor or IDE under QMK. But once used to it, this approach seems much more logical. Instead of getting into a pickle with Git, the IDE quietly keeps the tools for building key-maps up to date in the background. The reference layouts for your board are easy to access anytime in the file menu. Arduino’s self contained environment made a lot more sense after my own misadventures! In fact, when Arduino have made it their business to provide easy to use tools for building firmware and flashing microcontrollers, why would any firmware vendor wish to reinvent the wheel?

QMK does have its advantages stemming from being an industry standard of course. It supports almost all keyboards and I think bugs are fixed faster there due to currently having more developers. Before the advent of Chords on Kaleidoscope - which is better than the QMK system - there was MagicCombo which was hopeless for most purposes. So QMK used to be the only serious choice if you wanted to add key combos.

So if like me you have used both, what are your thoughts on QMK? Whilst my own preference is clear, I’d love to hear from QMK die-hards also. Perhaps you are inspired to give Kaleidoscope a go for your next layout or hardware?

Note that this is an edit of a post I wrote on the Keyboardio forum, and thought I would share it here, since there seem to be no threads devoted to firmware comparison. In fact I would hazard a guess that few in the scene are aware there are viable alternatives to QMK, let alone some may be better!
« Last Edit: Sun, 24 November 2024, 10:10:48 by squizzler »
Running RSTHD on Minidox since 2019

Offline zegonix

  • Posts: 57
Re: QMK Sucks! - Why I prefer Kaleidoscope
« Reply #1 on: Mon, 25 November 2024, 05:12:09 »
I just took a quick look at Kaleidoscope and the need for the Arduino IDE (or any IDE for that matter) is quite repulsive to me. I want to use the editor of my choice and flash the firmware from cli (QMKs flashing tool does a decent job).
I do agree, that QMK has deep rooted issues. One of them being the general structure which maintains all keyboards in one repository. As you already mentioned, this leads to an ever increasing repository size, but also a stream of pull requests, that need to me handled, especially because the keymaps are also maintained within QMK.
Every now and then I am on the lookout for alternatives and so far ZMK seems rather promising. Unfortunately they lack support for wired split keyboards though.
As to your comment on git, it is a big tool, providing a lot of functionality. Surely that can be intimidating and I myself only know the bare basics, but it is also well documented. Implying git to be severely flawed because you didn't use it correctly, is questionable at best.
Thanks for advertising an alternative to QMK, but rather than an actual comparison with advantages and disadvantages your post seems more like a rant, just saying "this is better" without elaborating much on why you think so. But I guess I should have known from the title..

Offline squizzler

  • Thread Starter
  • Posts: 39
    • My blog
Re: QMK Sucks! - Why I prefer Kaleidoscope
« Reply #2 on: Mon, 25 November 2024, 11:15:49 »
I just took a quick look at Kaleidoscope and the need for the Arduino IDE (or any IDE for that matter) is quite repulsive to me. I want to use the editor of my choice and flash the firmware from cli (QMKs flashing tool does a decent job).
My thoughts too - at least to begin with - as per OP. Arduino IDE seemed alien at first but learnt to appreciate how it helps you. I would encourage the curious to give it a go, especially beginners for whom a keymap is the first coding they encounter.
Quote
I do agree, that QMK has deep rooted issues. One of them being the general structure which maintains all keyboards in one repository. As you already mentioned, this leads to an ever increasing repository size, but also a stream of pull requests, that need to me handled, especially because the keymaps are also maintained within QMK.
Every now and then I am on the lookout for alternatives and so far ZMK seems rather promising. Unfortunately they lack support for wired split keyboards though.
I humbly suggest that Kaleidoscope should be on any such shortlist. Thanks for introducing ZMK to the conversation: although its USP is wireless and all my current keyboards still have a piece of string attaching them to the computer.

Quote
As to your comment on git, it is a big tool, providing a lot of functionality. Surely that can be intimidating and I myself only know the bare basics, but it is also well documented. Implying git to be severely flawed because you didn't use it correctly, is questionable at best.
Sledgehammer. Nut. If the only coding you ever do is your keymaps then I postulate learning the nuances of git is an unreasonable overhead. If you are a coder who is adept with it, fine. Novices (and mere mortals) might be better served by Kaleidoscope and its integration with Arduino tools.
Quote
Thanks for advertising an alternative to QMK, but rather than an actual comparison with advantages and disadvantages your post seems more like a rant, just saying "this is better" without elaborating much on why you think so. But I guess I should have known from the title..
This is a web forum where people come to express opinions, and no, I couldn't resist a slightly provocative title! I am quite happy to elaborate further on why I think Kaleidoscope is better - what areas do you think need expanding on? - and there are lovely people in the community also who would be delighted to share their knowledge. Having an opinion is good! - I'm also happy to evangelise my choices of RSTHD layout and the Atreus keyboard at any opportunity (don't worry, I still also use the Minidox that is mentioned in my sig!).
« Last Edit: Thu, 30 January 2025, 14:16:18 by squizzler »
Running RSTHD on Minidox since 2019

Offline squizzler

  • Thread Starter
  • Posts: 39
    • My blog
Re: QMK Sucks! - Why I prefer Kaleidoscope
« Reply #3 on: Thu, 30 January 2025, 14:26:47 »
It turns out that ergonomic keyboard guru Xah Lee is a Kaleidoscope fan too. From his review of the Keyboardio Model 01:
Quote
Fully Programable Open Source Firmware

You can easily remap keys, or create key layers (like holding Alt down, or like press CapsLock), or create your own letter key layout, or program key macros for gaming or photoshop, etc. You can also program the light effects.

As far as i know, the keyboardio firmware, and features, is the best of all possible out there. (my bold)
« Last Edit: Thu, 30 January 2025, 14:37:45 by squizzler »
Running RSTHD on Minidox since 2019

Offline TerryMathews

  • Posts: 538
Re: QMK Sucks! - Why I prefer Kaleidoscope
« Reply #4 on: Thu, 06 February 2025, 01:22:44 »
QMK encourages you to start by forking their repo: thereby downloading a massive directory of stuff just to build your own keymap. This also exposes you to the horrors of git. I managed to get the whole repo out of sync and eventually overwrite my own keymaps whilst trying to rebase everything. Kaleidoscope uses Arduino IDE.

This hasn't been true for several years, unless a developer intentionally blocked support for VIA. And QMK does have their own reprogrammable solution coming - which to be fair, has also been coming for several years yet doesn't seem really any closer - but VIA is a quite decent solution.

It can be a pain for the developer to get all of the definitions in both repos correctly, but once it is in once it should be done and at that point VIA is as user-friendly as any other remapping tool on the market.