[HN Gopher] QMK and Keyboards
       ___________________________________________________________________
        
       QMK and Keyboards
        
       Author : akaralar
       Score  : 89 points
       Date   : 2024-01-12 10:39 UTC (2 days ago)
        
 (HTM) web link (getreuer.info)
 (TXT) w3m dump (getreuer.info)
        
       | scoopdewoop wrote:
       | I built a midi controller out of an ortholinear keyboard kit and
       | QMK. It really is a fun way to dabble in C and embedded hardware!
        
         | hammyhavoc wrote:
         | No velocity though, right?
        
           | junon wrote:
           | If they are analog/hall effect switches then in theory you
           | could do it.
        
             | evanjrowley wrote:
             | Electro-capacitive boards (EC) could also do this, with the
             | caveat that EC switches in general are tactile rather than
             | linear as most hall-effect (HE) switches are.
             | 
             | When it comes to QMK, it seems that there is a greater
             | number of EC keyboard projects out there. Some examples
             | below.
             | 
             | For a MIDI device, I imagine an ortholinear boards may be
             | the best layout. Unfortunately there isn't much out there
             | for EC ortholinear boards. A group buy for a 47-key EC
             | ortho board ran a few years ago, but the price was an
             | outrageous $500-600:
             | 
             | https://www.ashkeebs.com/product/conundrum/
             | 
             | More recently, a handful of QMK-compatible EC PCBs have
             | popped up on AliExpress. Unfortunately, I haven't been able
             | to locate the actual QMK firmware source for them. Perhaps
             | in the minds of the creators, it is simply enough to
             | provide VIAL compatibility for user customization. The
             | drawback here is it does not expose the necessary feedback
             | for velocity:
             | 
             | https://www.aliexpress.us/item/3256806073672667.html
             | 
             | https://www.aliexpress.us/item/3256806010654548.html
             | 
             | https://www.aliexpress.us/item/3256806009306496.html
             | 
             | https://www.aliexpress.us/item/3256805431878689.html
        
           | atoav wrote:
           | Probably not, but there is a lot of intersting stuff you
           | could switch/trigger/activate without velocity.
        
       | rgoulter wrote:
       | The most common misconception I see about QMK keyboards
       | (especially keyboards which stray far from the traditional form,
       | like in OP's) is about small keyboards.
       | 
       | The most common kind of small keyboards are just like laptop
       | keyboards, and try and fit a keyboard into a smaller space (and
       | the omitted keys get relegated to being behind Fn key). These
       | tend to retain the impractically big spacebar of a typical
       | keyboard, out of familiarity.
       | 
       | Whereas, many non-traditional keyboards ditch the big spacebar,
       | and instead give the thumbs two or three keys to use each. This
       | allows bringing the full functionality of the keyboard within
       | easy reach of the hands on home row (similar to how Vimmers would
       | rather use hjkl than the cursor keys). It also allows reducing
       | usage of the pinky fingers.
       | 
       | I've seen OP post some neat code which works with QMK firmware.
       | (The orbital mouse looks interesting). But stuff like "Caps
       | Word", etc. are also neat.
        
         | nprateem wrote:
         | When I first saw a ferris I thought they were a nerdy joke. I
         | ended up buying one though due to severe RSI and wanting a
         | programmable keyboard so I could reduce how far I was reaching
         | for symbols etc.
         | 
         | I'm now a convert to programmables. My glove80 is more
         | ergonomic, but I use equivalent keymaps on both and they're a
         | game changer. It feels so clunky now if I use my laptop
         | keyboard to actually have to reach for symbols, numbers, etc.
         | 
         | Home row modifiers, number, symbol, nav layers, colemak &
         | qwerty... Just awesome. They've helped my RSI no end.
        
         | nsajko wrote:
         | What's the misconception, then?
        
         | stavros wrote:
         | I made one with four thumb keys and I love it:
         | 
         | https://www.stavros.io/posts/george-i-made-a-keyboard/finish...
         | 
         | I should write up how I did it, it's now years I've been
         | sitting on that post.
        
       | bsnnkv wrote:
       | Gotta give a shoutout to kanata[1] which I have used daily for
       | years at this point after giving up on QMK-powered keyboards.
       | 
       | QMK itself is great, but I was never able to find a non-columnar
       | split ISO keyboard to use it with. Eventually I reluctantly
       | settled on the Logitech K860[2] and I'm now happily using my
       | favourite features from QMK with kanata at the software level.
       | 
       | [1]: https://github.com/jtroo/kanata
       | 
       | [2]: If I'm behind the times and there is now a QMK-compatible
       | keyboard that looks like this, please let me know!
        
         | 7839284023 wrote:
         | > QMK itself is great, but I was never able to find a non-
         | columnar split ISO keyboard to use it with.
         | 
         | https://keychron.de/products/keychron-q11-qmk-custom-mechani...
        
           | jsheard wrote:
           | or https://nullbits.co/snap/ if you don't mind a more DIY
           | approach
        
           | bsnnkv wrote:
           | This looks excellent! I have gone down a bit of a rabbit hole
           | and I'm considering once of the Alice ISO keyboards[1],
           | perhaps even waiting until the low-profile Alice variants are
           | available in ISO layouts[2].
           | 
           | [1]: https://keychron.de/products/keychron-v10-alice-layout-
           | qmk-c...
           | 
           | [2]: https://keychron.de/products/keychron-k15-pro-alice-
           | layout-q...
        
           | bostik wrote:
           | Both Q10 and Q11 are good. I have one of each in their
           | respective uses.
           | 
           | Q11 may possibly be even better for someone prone to RSI,
           | because you can set the halves up angled even wider apart.
           | Just make sure to get a good wrist support to go with the
           | keyboards, no matter which you go with: they are _thick_ ,
           | and that makes them positionally elevated from the surface
           | they are on.
           | 
           | With two more things they would be pretty much perfect. An
           | embedded USB port on both sides, so you could slot a YubiKey
           | nano on your chosen edge. And a double-sized Esc-key. The
           | latter is the single thing I miss from Kinesis Freestyle's
           | form factor.
        
         | UnserMannInK wrote:
         | I have also used the K860 and I like it. I stumbled across Chad
         | Austin's Microsoft Sculpt wired conversion [1] and I have been
         | using it for some time now. Apart from the abysmal function
         | keys it's a decent keyboard, and with QMK you can make it do
         | whatever you want.
         | 
         | [1]: https://chadaustin.me/2021/02/wired-sculpt/
        
         | zvmaz wrote:
         | I use a Keychron Q11, a split row staggered keyboard. On the
         | laptop, I use Kmonad on linux with home row mods but I think I
         | will switch to Kanata because it seems more compatible with
         | Windows (work OS). I have been using home row mods for a few
         | days now and I feel that it has greatly alleviated the pain I
         | have on the left pinky finger (remapping caps lock to control
         | and using Emacs keybindings for years did that I think). I am
         | tempted to switch to a columnar staggered keyboard,
         | specifically ZSA's voyager, but I don't know if I will adapt to
         | the layout. Maybe someone with more experience can give advice
         | here...
         | 
         | I tried to change the keyboard layout to a more "ergonomic"
         | layout (optimot), but after months of training, I could never
         | gain the proficiency I have in AZERTY. I think it's not worth
         | it to switch.
        
           | bsnnkv wrote:
           | I have both an Ergodox and a Ferris which are both now
           | gathering dust. In my experience, columnar layouts are not
           | worth it for me as a developer, because there is nothing that
           | I can gain from a layout that changes the position of the
           | {};'<>() keys that will ever offset the productivity and
           | familiarity lost by those keys never being where I expect
           | them to be.
        
             | zvmaz wrote:
             | So what do you use Kanata for if you don't mind the
             | question?
        
               | bsnnkv wrote:
               | I have a bunch of home row mods, and I also have layers
               | with dedicated app-specific utility-mappings that I have
               | automatically toggle on when the relevant app window is
               | focused so that I don't have to waste extra keys to
               | toggle/switch between different layers.
        
             | rrradical wrote:
             | I feel like it took a month to get fully used to and then I
             | haven't looked back. I did have an RSI motivation.
        
               | zvmaz wrote:
               | Are you able to switch back and forth between staggered
               | and columnar?
        
       | Sakos wrote:
       | This is surprising to me
       | https://getreuer.info/posts/keyboards/non-english/index.html...
       | 
       | I wonder why a better solution hasn't been implemented in QMK. Is
       | it a technical limitation?
        
         | delusional wrote:
         | My understanding is that unicode is just not part of the hid
         | spec. Keyboards send scancodes that the pc interprets into
         | window events. That translation is not part if the spec, and
         | therefore os dependent.
        
         | the_gipsy wrote:
         | It is an OS limitation/inconsistency. QMK allows to toggle mode
         | for linux/win/mac. There is nothing else QMK can do.
         | 
         | I personally just use some layout (us-intl with no dead keys),
         | which works for the integrated laptop keyboards too.
        
         | crote wrote:
         | The HID protocol used by keyboards to talk to the OS doesn't
         | support Unicode.
         | 
         | In fact, it doesn't even support letters: you're sending _key
         | positions_ instead. If you press the letter  "A" on an Azerty
         | keyboard, your keyboard will essentially send a "Q Down" event
         | - because that "A" is placed in the "Q" position.
         | 
         | Getting Unicode out of that is really tricky due to half a
         | dozen abstraction layers, most of which are unique for that OS.
         | Mapping a _specific_ Unicode character to a position isn 't too
         | bad (just use a custom keymap), but adding _generic_ Unicode
         | support is a nightmare.
        
       | flurdy wrote:
       | I use Oryx by ZSA which is built on top of QMK, but not with all
       | the features. It is great still though.
       | 
       | I use a lot of MO keys on my keyboard. Too many accidental layer-
       | locking with TT and OSL. So I would love it if/when ZSA adds the
       | QMK "layer lock" feature to Oryx. Currently, I use a layer lock
       | intermediate layer. But that is one extra key press and finger
       | travel.
        
       | mynegation wrote:
       | I considered using something like that, but my concern that it is
       | going to ruin my muscle memory for the situations when I cannot
       | use it - eg locked down environments at work. So I stick to
       | whatever can be done with standard OS capabilities.
        
         | moondev wrote:
         | Behold, an inline USB QMK controller. Just carry one on your
         | keychain
         | 
         | https://yaowei.dev/posts/usb-to-usb-converter/
        
           | reactordev wrote:
           | There are some places that do not allow USB connections.
           | People have been fired over it.
        
           | layer8 wrote:
           | Works great on laptops and Bluetooth keyboards.
        
         | waveBidder wrote:
         | I've got a weird split thumb board like OP, and the muscle
         | memory for a normal keyboard is fine. I think it helps that I
         | mostly left qwerty intact, and messed with meta keys.
        
           | Snow_Falls wrote:
           | I'll throw another anecdote to the pile. I use a split,
           | angled keyboard with a nonstandard keyboard layout for over a
           | year now and I can use normal keyboards just fine.
        
         | stavros wrote:
         | It doesn't, I use a standard laptop keyboard and my weird-ass
         | custom keyboard very interchangeably with zero trouble. Hell,
         | I'm typing on a MacBook right now.
        
       | lvl102 wrote:
       | I feel the mk community died during the pandemic and all the
       | commercialization that happened. People just stole stuff
       | community built on goodwill. At least I was turned off by it and
       | stop caring.
        
         | nsajko wrote:
         | For example?
        
       | Scene_Cast2 wrote:
       | If you're interested in QMK, you might want to give ZMK a shot as
       | well. The big differences are that it's wireless-first (cognizant
       | of power consumption, supports various wireless modes, etc), it's
       | built around ARM (doesn't support Atmel), and is a much newer
       | codebase.
       | 
       | But I have to give it to QMK as well, they have been reworking /
       | refactoring a major wart in how you config keyboards, with the
       | move to info.json and away from custom C and make files.
        
         | crotchfire wrote:
         | The downside to ZMK is no copyleft protection. So when you buy
         | a keyboard that advertises "ZMK", you're getting a binary blob
         | you can't customize or audit.
         | 
         | OTOH, QMK has successfully forced-open proprietary keyboards
         | that were sold with QMK forks and then repeatedly,
         | emmphatically refused to release the source. This includes the
         | awesome _non-Bluetooth_ 1000hz-rate Nordic Semiconductor
         | wireless feature of the NuPhy Air keyboards!
         | 
         | https://github.com/qmk/qmk_firmware/pull/21949#issuecomment-...
         | 
         | Copyleft works. In spite of all its haters.
        
           | Scene_Cast2 wrote:
           | Oh huh. This might sound silly, but your commend nudged my
           | opinion on copyleft. My previous take was more cynical - I
           | remember, ages ago, seeing a lack of enforcement around some
           | less popular gnu / fsf software.
        
             | crotchfire wrote:
             | IMHO copyleft is mostly about the balance between _hardware
             | manufacturers_ and free software.
             | 
             | It's important to remember that. It forces the hardware
             | vendors to stay on "their side of the line" -- or at least
             | to give up control over any part of their product which
             | extends into the software space. This is why it's much more
             | important for the hardware-touching parts of the stack
             | (Linux, GRUB, GCC) to be copyleft than the rest of the
             | software we use.
             | 
             | A lot of the anti-copyleft people think only in terms of
             | software-company/software-company interactions.
        
               | Snow_Falls wrote:
               | See the crud around john deer tractors. Not being able to
               | modify your word processor is one thing, being unable to
               | repair thousands of dollars of agriculture equipment is
               | much worse.
        
           | jsheard wrote:
           | Does that NuPhy QMK codebase include the wireless code, or
           | are they doing the old trick of running QMK on one
           | microcontroller and the wireless stack on a separate
           | microcontroller? QMK has very limited wireless support so
           | AFAIK wireless QMK boards usually use the dual MCU
           | arrangement, and the wireless MCU firmware is probably still
           | closed even if they release their QMK source.
        
             | crotchfire wrote:
             | It includes the wireless code.
             | 
             | I think you're confusing this with WiFi. The Nordic
             | Semiconductor chips don't require a firmware upload; the
             | protocol they run is _vastly_ simpler than wifi -- it 's
             | like UART-over-2.4ghz-GFSK-radio plus some error
             | correction.
             | 
             | https://www.sparkfun.com/datasheets/Components/nRF24L01_pre
             | l...
             | 
             | The block diagram doesn't show any kind of CPU in there.
        
               | jsheard wrote:
               | Oh of course, I'm confusing it with _Bluetooth_ boards
               | which need a hefty wireless firmware stack. Boards using
               | a dongle don 't necessarily need that complexity.
        
               | crotchfire wrote:
               | Yeah the NuPhy Air is the first wireless keyboard I've
               | ever been willing to use, specifically because it is non-
               | bluetooth (and I can recompile the firmware to guarantee
               | that it isn't using bluetooth!)
               | 
               | Bluetooth keyboards were a horrible idea.
        
             | crote wrote:
             | Separate wireless controller, see the glue code at [0]
             | 
             | [0]: https://github.com/qmk/qmk_firmware/compare/master...n
             | uphy-s...
        
           | LanternLight83 wrote:
           | > when you buy a keyboard that advertises "ZMK", you're
           | getting a binary blob you can't customize or audit
           | 
           | You've got a fine argument for preferring GPL software, but
           | I'd be shocked if there was a ZMK keyboard out there you
           | couldn't flash.
           | 
           | a.) That's how you configure it
           | 
           | b.) Upstream (including the platforn, Zepher) is moving
           | quickly, with frequent performance, feature, security,
           | battery life, and usability improvements-- eg. a recent
           | commit touts support for bitlocker screens
           | 
           | c.) I had to hack on it to get the behavior I wanted, which..
           | oh, that means a company might want to hack on it too, i see
           | 
           | but this all to say that it would be a remarkable tragady for
           | a company to not support mainline provide you with the
           | sources, if just for integrating upstream updates, and
           | thankfully I can't think of a product that does so. I'd
           | prefer it was copyleft too (so we didn't have to worry about
           | it), but I wouldn't go so far as to proclaim that's what
           | "you're getting" as if it's endemic to the platform.
        
             | Jenk wrote:
             | > I'd be shocked if there was a ZMK keyboard out there you
             | couldn't flash.
             | 
             | MoErgo Glove80 is ZMK based. Extensible and flashable, too.
        
           | crote wrote:
           | > This includes the awesome non-Bluetooth 1000hz-rate Nordic
           | Semiconductor wireless feature of the NuPhy Air keyboards!
           | 
           | It seems like the code doesn't actually contain the RF
           | firmware, though - it's just the glue to talk to an external
           | chip which essentially acts as a "modem".
           | 
           | The reason ZMK uses the MIT license - and proper RF support
           | cannot be added to QMK - is that Nordic's RF stack drivers
           | use a license which isn't compatible with GPL. This means if
           | you want to do wireless stuff inside the _actual keyboard
           | firmware_ you can 't use QMK.
           | 
           | There is of course a fork out there doing exactly this
           | because nothing is technically stopping you, but you're
           | legally not allowed to combine the two.
        
             | nyanpasu64 wrote:
             | Couldn't they use GPL with a linking exception, LGPL, or
             | MPL to retain copyleft protection?
        
         | nsajko wrote:
         | > it's wireless-first
         | 
         | Sounds like a security nightmare. Input devices, and especially
         | keyboards, are something that absolutely needs to be wired-only
         | in my book.
        
       | layer8 wrote:
       | Caps Word: Nice idea, something I might go implement with AHK.
       | 
       | Orbital Mouse: This reminds me of Logo turtle graphics.
       | 
       | Word selection: Using Ctrl+(Shift+)Left/Right, this doesn't work
       | at the edge of a word, or only on one side. You need to be able
       | to look at the characters to implement it fully. Editors that
       | don't support "select word" at both word boundaries always
       | frustrate me.
        
       | kkfx wrote:
       | Personally I have a Keychron V6, witch is just ok for it's price,
       | but my complaint is that QMK have enough power to simply read a
       | text file on a small flash memory even a raw memory flashed via
       | `dd` wrapped by a simple script and made the customization much
       | more comfy, without the need of recompile the fw, downloading
       | ~1.5Gb of stuff simply mapping a physical key or key combination
       | to a set of keycodes.
       | 
       | Second RANT to ALL keyboards OEMs: please add a damn service to
       | print easily custom keycaps, a small example, being from the EU
       | writing in few languages every day I've chosen the EurKey layout,
       | witch actually does not exists on sales in some pre-build keycaps
       | set. I have mapped differently some keys, MOST of them I know
       | from memory, but sometimes being able to see the key is a very
       | nice to have thing. Ok, keycaps normally are not really printed,
       | meaning it's not cheap to produce custom ones, but if you damn
       | ask 300+EUR for a keyboard and someone buy it I'm pretty sure a
       | custom keycap set does not change the game much.
       | 
       | Third RANT please STOP making cherry, OSA etc profiles. Very old
       | IBM keyboards have solved the height issue with a simple
       | parabolic support, there is NO DAMN REASON to make flat support
       | and different height keycaps making limited room to move them on
       | the keyboard.
        
         | crote wrote:
         | > made the customization much more comfy, without the need of
         | recompile the fw
         | 
         | Get someone to write a profile for https://get.vial.today/
         | support.
         | 
         | > add a damn service to print easily custom keycaps
         | 
         | https://www.wasdkeyboards.com/custom-text-cherry-mx-keycaps....
         | 
         | > please STOP making cherry, OSA etc profiles
         | 
         | They are making them because people keep buying them. Turns out
         | most people actually _like_ typing on them.
        
           | bluGill wrote:
           | People buy them because they like a curved layout. OP is
           | asking for more curved circuit boards with keys all the same
           | height so that they can use whatever layout they want. It
           | makes sense to me, but I'm - like most people - stuck with
           | what I can get which means QWERTY keyboard layout.
        
       | preya2k wrote:
       | I have a newbie question around Keyboard firmware: I built a
       | simple Macro-Pad based on the RP2040. I want to use it under
       | macOS for application-specific functionality. However, I cannot
       | find a firmware that allows me to change/define Macros during
       | runtime. I find it very cumbersome to always compile and flash a
       | new firmware, whenever I want to change a simple Macro.
       | 
       | What am I missing?
        
         | crote wrote:
         | You might want to look into Vial[0]. It's essentially an
         | addition to QMK which allows you to do exactly that.
         | 
         | [0]: https://get.vial.today/
        
           | preya2k wrote:
           | Thanks! That looks really good!
        
           | tehnub wrote:
           | You might want to try via (https://www.caniusevia.com)
           | instead, actually. I know at least Bastard Keyboards switched
           | from vial to via because vial-qmk (the vial fork of
           | qmk_firmware) was lagging 9+ months behind upstream qmk at
           | one point.
        
       | heads wrote:
       | I am quite in love with the touchpads on my Steam Deck. Has
       | anyone here seen a keyboard that incorporates such devices? (1.5"
       | square haptic feedback pads, one under each thumb.)
        
         | aurecchia wrote:
         | I only know of the Dilemma keyboard by bastardkb, but it's
         | round touchpads. I'm not sure how similar they are to the
         | SteamDeck ones.
         | 
         | https://bastardkb.com/dilemma/
        
       ___________________________________________________________________
       (page generated 2024-01-14 23:01 UTC)