geekhack Community > Ergonomics

QMK Sucks! - Why I prefer Kaleidoscope

(1/1)

squizzler:
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!

zegonix:
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..

squizzler:

--- Quote from: zegonix 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).

--- End quote ---
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.

--- End quote ---
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.
--- End quote ---
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..

--- End quote ---
If you want  "an actual comparison with advantages and disadvantages" you don't need me, my keyboard, and its firmware at all: there are computer engines like chat GPT that can make tedious essays that pretend to be objective until the cows come home. This by contrast was intended as a discussion piece. 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!).

Navigation

[0] Message Index

Go to full version