u/Krazy-Ag

▲ 5 r/macro_pads+2 crossposts

Waveshare "QMK" devices (with active displays on button tops) "real QMK"?

BRIEF: Does anyone have experience with the Waveshare sk18, mk10, and mk20 devices? I'm particularly interesting because they can change the "keytops" dynamically, but their marketing info says "QMK"

At first I dismissed them as yet another imitator of the Elgato streamdecks, requiring target PC software for the "dynamic buttons". But QMK makes it interesting, for all the usual reasons - once programmed, can connect to any target PC without needing software on the target.

Q: are they "real" QMK? Can I edit the keyboard.c files directly? Can I do things like tap dance and chording? Can I code up my own extensions?

I have a particular need for non-standard "modifier lock" for accessibility. Not Microsoft or Apple style "sticky modifier keys", but simple modifier lock. Not Oneshot. Not tap once to make oneshot, tap twice to lock, tap again to unlock... these cause problems since I can still type on a macropad much of the time, and just need occasional help.

The marketing slides on Amazon make a big fuss about GUI editing of the configuration - but apparently their own ScreenKey software. However, I want to use QMK features that are not well supported by GUIs.

Q: do they have layers? Or do they hide them behind supposedly user friendly GUIs, that are power user unfriendly?

How much memory does the keyboard microcontroller - the sub-controller in WaveShare terminology - have to store configurations. If I knew that, I could probably estimate the number of layers.

Q: do they have a WaveShare fork of the QMK source tree(s)? If so, that will make it hard to benefit from new features as they are added to QMK.

I think QMK's license is GPLv2 or GPLv3. Which I think means that WaveShare must share source code for the version of QMK they are shipping with their product. WaveShare has GitHub repos, but as far as I can tell they don't have buildable QMK source. Not enough to build from scratch.

Although the MK10 and MK20 are "sexier", with displays actually on the button tops, and Kalih mechanical key switches, I am leaning towards the more primitive SK18, which uses "hollow core" or "holey" buttons that allow an underlying LCD screen to shine up through the keys, with membrane switches. Mostly because it fits in the space I have for it, and has more buttons than the MK10. But if the membrane "switches" feel mushy and non-responsive, it might be a waste of time.

MOST IMPORTANT QUESTION: how reputable is WaveShare? Amazon has only a few reviews for these devices, including one from a guy who says that Amazon refused to do a return. On the other hand, WaveShare's bare boards and screens seem to have better reviews. I've also seen WaveShare compared to AdaFruit - and I love AdaFruit. Perhaps WaveShare is more of a hardware hacker company, than a consumer products company?

---+ TL;DR - DETAILS

---++ Ergonomics Relevance

I suffer RSI - what a past PT called "computeritis". Pretty bad in my right hand/wrst/arm/shoulder. Bad enough that I try to avoid using that side. I have been using speech recognition for years, quite successfully for dictation. But I noticed that I was still using my right hand for the navigation and edit keys of a QWERTY keyboard - things like the arrow keys, backspace/delete. etc. Things that I find awkward to do by speech recognition, especially in applications that are not speech enabled.

(I dislike Talon Voice's approach of making the user emulate a keyboard - avoiding saying "press up" repeatedly, but using various shorter sounds. But still mostly emulating a keyboard. I've defined a lot of "smart" speech commands that are the equivalent of multiple edit and navkey presses, with conditional logic - hey, I code with emacs - but there are still things that pressing keys does faster.)

I have therefore spent far too much time coming up with macropad layouts that move all of the edit and navigation keys that are on the right hand on a QWERTY keyboard, to a macropad I use on my left hand.

E.g. left/right/up/down, page-up/down, home/end, backspace/delete, enter. The menu or AppsKey. All the usual modifiers ctl/alt/shift/win (challenging because even my good left hand has trouble pressing all the modifier keys, but Microsoft Sticky keys slows me down. F1-F12. (I also use F13-F24). Multimedia keys... My current macropad has 24 keys, 5 layers, and that's not really enough.

Why I want keytop or button top displays: well, I never learned to touch type on a standard keyboard, and am unlikely to learn right away macropads that I am tweaking the layout for on a daily basis. Perhaps when I have settled on a set of layouts and layers, and when I am not adding macros for new apps. I have wasted too much time printing keycap labels. I have also wasted too much time confused because the keycap labels no longer correspond to what the keys do. Plus, folks keep telling me that the Elgato streamdecks with their programmable "button top" displays have been so helpful. (Yes, I know they are actually hollow core displays that a backing LCD panel shines through.)

---++ WaveShare SK18, MK10, MK20 active button-top display QMK "macropads"

The waveshare line of devices that include the sk18, mk10, and mk20 are described as multifunctional AI voice control panels, and listed as single board computer computers on Amazon (probably because they have Linux cores as well as QMK capable keyboard microcontrollers).

I am most interested in the QMK programmable macro pad or keypad functionality. Where not only the keyboard events produced by the wave share device are programmable, but also what appears on the tops of the 0.85 inch buttons.

I understand that the waveshare SK18 buttons are membrane switch $$, and that what is displayed on the button is produced by a big LCD behind the array of 3 x 8 = 18 buttons, with the center of the buttons be a hole that allows the lcd image through.

I also understand that the waveshare mk10 and mk20 devices apparently have actual small LCD displays on top of their buttons, 128 x 128 pixels. And because they don't need to allow an image from a background LCD panel to shine through, these mk10 and mk20 have actual Kalih mechanical key switches, rather than membrane.

That's what I understand. However I do have questions about tge QMK support, etc.

Waveshare's marketing material makes a big fuss about gui style editing of the keypad macros. However, I very much like the QMK features that are hard to represent gooey style. For example I like being able to define fairly arbitrary chord combinations, much more than the Ford typical modifier keys. I like QMK features such as tap dance.

Q: on the waveshare devices, can I still access the C QMK configuration files? Or am I limited to whatever GUI access is provided?

VIAL or ZMK or typical GUI facilities that allow programming of QMK style devices? Is waveshare's QMK GUI support one of VIAL or ZMK, or is it some other open source GUI software, or is it proprietary?

Could I use standard QMK firmware, or has waveshare created a fork of QMK?

Layers are a very high priority for me for programmable keyboards. Q: how many layers does waveshare support handle? Or, better, is the number of layers independent of the actual key maps used? Or is there a fixed amount of memory, such that the number of layers is related or traded off against the sophistication of macro operations?

How are the images on these display key tops and/or back up lcd actually displayed? How bright are they? For example, could #1 use them to read outside of an office building?

---++ Leaning towards SK18 membrane buttons 😞

Although the MK10 and MK20 are "sexier", with displays actually on the button tops, and Kalih mechanical key switches, I am leaning towards the more primitive SK18, which uses "hollow core" or "holey" buttons that allow an underlying LCD screen to shine up through the keys, with membrane switches.

I would prefer the mechanical keys and button top displays, but I want to replace my existing 6 row X 4 column = 24 key macropad[*], wedged into an 8cm wide space on my keyboard tray between by trackball and QWERTY keyboard.

The MK10's 10 keys probably won't cut it for me. I would probably use it on its side[*] => 76 mm wide, 5 rows X 2 xolumns, but past experience has shown that causes hand pain when using combos or chords.

The MK20's 20 keys would probably be OK in terms of number of buttons (assuming 6-8 layers with good layer switching latency). But at 131mm wide X 150 mm deep, I just don't have room for the MK20.

The SK18 placed on its side fits[*] => 79mm wide, 6 rows X 3 columns of buttons. But if the membrane "swtches" feel mushy and non-responsive, it might be a waste of time.

Note *: I often place devices on their side, deeper and thinner. But the placement of the USB connectors often get in the way. I have a collection of L shaped USB-C male to female adapters, but the smallest I have requires 10mm of clearance.

reddit.com
u/Krazy-Ag — 4 days ago