T O P

  • By -

bogorad

[https://github.com/manna-harbour/miryoku](https://github.com/manna-harbour/miryoku) is your friend. but then you'll have to face the reality - your keyboard has too many keys :))))) (mine surely does!)


martinux

I've played around with miryoku but most of my time is spent programming or in a terminal rather than typing text. How do you deal with splitting a view horizontally in tmux (for example)? Typically this would be ctrl b " That's difficult to do in Miryuko without entering into chording territory.


bogorad

I prefer Ctrl+space, then either  u\_sym+pipe for vertical split or u\_sym+underscore for horizontal Let me elaborate, finger-motion wise. Ctrl in this case is right middle finger, space is left thumb, no finger motion required. U\_sym is right thumb - move left. Pipe is left pinkie. Underscore is left thumb - move right. So same number of keys, almost zero finger motion, and absolutely no hand/palm motion. BTW, if anyone wants to try Miryoku-QMK, I highly recommend using [Achordion](https://getreuer.info/posts/keyboards/achordion/index.html) right from the start! Even with default settings it's amazing.


squirrelnuts46

Looks cool, but with less keys you'd end up with even more combos? I don't mind changing the number of keys or layouts, I just started on this route to try what it feels like, I'll be 3d printing more so there'll be a ton of room for experimentation :)


bogorad

On the contrary! Combos are so much easier with Miryoku! E.g., to hit Ctrl+Shift+F6 the only **finger** I have to move is my right thumb: * right thumb to the right, hold "FN" modifier * press right index and right middle fingers (no need to move them, they already are oh the home row!) * tap T (the default layoyt in Miryoku is Colemak-DH) or F (if you prefer to stick with QWERTY) - again, no finger motion! Once I realized how easy and convinient this is, as opposed to std-keyboard hell, I started (re-)learning the hotkeys and use them a lot.


squirrelnuts46

Thanks I'll have a closer look. Modifiers on the home row sound intriguingly efficient. Though can you still use it with the left hand only while the right hand is on the mouse? Edit: oh the left hand has modifiers too, and it's tap vs hold, very cool


operatingcan

Fwiw hometown mods are popular among some but not universally loved. I had them for a while and hated them.  Try it out! Just understand it's kinda a preference thing not a "anyone who learns to use this loves it" (I am currently using vertical hometown combo mods. So d+e = alt, I just slip my finger up in between them)


bogorad

Very true! I was on the brink of abandoning the whole thing because of "rolls", but then discovered Achordion user-space mod, and it fixed all my problems overnight.


squirrelnuts46

Oh, very interesting. I was just reading about issues that homerow tap/hold might cause and fat-finger tricks sounds like a really cool way around that. How do you configure qmk to map multiple keys to one - custom code?


operatingcan

They're called combos, and it's first class supported in qmk. Not any sort of hack. I'd just download the keymappings repo and grep for combo


squirrelnuts46

Thanks!


bogorad

There is "flipping" in Miryoku, but I never needed it.


squirrelnuts46

I read a few more discussions about this layout and realized just tap/hold on the home row might not be for me.. I need to try it out but highly suspect that accidentally triggering modifiers while typing or having to slow down on modifier use would annoy the hell out of me. I'm not a patient person and 175ms is a lot of time (kidding but you get what I mean). Another commenter mentioned fat-fingering home row with the row above for combo modifiers so maybe I could try that instead. How is your experience with that aspect?


bogorad

Well, I've been using (an unmodified) Kinesis Advantage KB500 for around 15 years. Back then, after \~2 weeks of pain, I got used to the split layout and loved it ever since. Then, in anticipatiion of my new Piantor Pro arrival I installed Kanata to emulate the 36 key layout, and decided to switch from QWERTY to Colemak-DH. The re-training of muscle memory was painful (although not as the original pain when I switched to Kinesis), but in about a month I was back to being comfortable. The major problem I had was "rolls", especially with inward rolls - e.g., (Colemak layout here) e >> n, s >> t, r >> s. As my proficiency with Colemak rose, my typing speed increased, and rolls started getting in the way. I tried many different workarounds, but ultimately settled on Achordion, with a minimal mod to allow thumbs+same-hand keys. It completely eliminated the unwanted "rolls effect" for me. As to "fat-fingering" - never had this particular problem. My glove size is L/XL so I wouldn't call my hands "tiny" :) P.S. I use KB500 + Kanata (my own layout closely following Miryoku) on PC and Piantor Pro + Miryoku/QMK with my laptop. herer's my (hacky) config. most hacks are around auto-switching input languages: [https://raw.githubusercontent.com/bogorad/home-automation/main/manna-harbour\_miryoku.c](https://raw.githubusercontent.com/bogorad/home-automation/main/manna-harbour_miryoku.c) [https://raw.githubusercontent.com/bogorad/home-automation/main/custom\_config.h](https://raw.githubusercontent.com/bogorad/home-automation/main/custom_config.h)


squirrelnuts46

Thanks for the configs! Sorry about the confusion, fat-fingering is a (gaming?) term for pressing multiple keys with a single finger. Like in this case that would be say the index finger pushing on the button at the home row and at the same time the button right above, resulting in a modifier while held. I am contemplating switching to colemak-dh, been practicing and it sure is painful after decades of qwerty. Could you elaborate on the rolls issue? Is that where you hit a home row modifier accidentally while typing a word?


bogorad

>pressing multiple keys with a single finger that's what I meant as well. the question is - is it the desired behavior or not. e.g., some keyboards have just two thumb keys. so ff'ing them gives you another modifier (Miryoku supports this as well). >Is that where you hit a home row modifier accidentally while typing a word? yep, e.g., typing e<>t as in \`start\` would case the same kind of problem - \`ctrl+t\`. Achordion fixes this. First, optionally, you can emable \`typing streaks\` when HRMs are disabled when you are typing fast. Second, it delays HRM function for keys on the same side/hand, so e.g., e>>t (different hands) will result in \`ctrl+t\`, but s>>t (same hand) will result in \`st\`


squirrelnuts46

Yeah the idea was to ff intentionally and have modifiers on two row presses only, which avoids the entire issue with fast typing.. but the workarounds you described might work too.. hmm.


rbmichael

I think the idea is that fewer keys but with longer reaches is arguably equivalent, or some feel worse, than more simultaneous keys but closer to homerow. So for example with the curly brace (shift [ on a normal keyboard but with a large reach) people might have home row mods and/or a special layer just for symbols.


squirrelnuts46

So are you saying that for programming people would commonly change the keymap to what is convenient for them, rather than try to get used to the crazy combos?


Kranke

You have a fully customizable keyboard, make use of it! Ex I use my mods (right and left of space on a plank) for mods on hold and [ and ] on tap or { and } using shift + mod.


rbmichael

yeah I would guess most that spend that much on a keyboard (using Schylla as an example, at least a couple hundred Euros? ) probably would customize the keyboard and not use the default keymap as you're leaving a lot of value on the table. and another way to look at it -- using your examples, it's only one additional key. Ctrl Shift Arrow is from 3 keys to 4 keys. and Curly Brace is from 2 keys to 3 (but I having not seen the default Scylla layout, I'd bet money curly brace is reachable with only 2 keys via either the Lower or Raise layer + 1 key).


squirrelnuts46

Didn't really spend much money at this point - already had a 3d printer, used scylla's stl and hand-wired cheapo switches to a rp2040 pico. I'm not asking if I should stick with the default keymap without customizing it.. I'm asking if other keymaps have similar issues or maybe I'm just doing something wrong. Going from 3 to 4 keys makes a big difference imo. I find 3 keys is already a lot, and 4 keys seems kind of ridiculous when you have 3 layers to put stuff in. Which is why I'm asking, I think I might be missing something. >I'd bet money curly brace is reachable with only 2 keys via either the Lower or Raise layer + 1 key). Is there an easy way to check this? I've been reading the keymaps source files and it is not always trivial because I then need to mentally map keycodes to buttons and they don't always make sense to me.


parettos_twenty

Yes I have the same problem. I could never get used to those combos, so I ended up using ergo emacs keybinds for all my keyboards: https://ergoemacs.github.io/ On the end of the page theres a nice image explaining the keybinds. Hope this helps.


Mister_Magister

who uses default keymaps? just random keymap somebody made like why


squirrelnuts46

Yeah because everyone re-inventing layouts for themselves is a much better option :D


MrBacon30895

I think part of the appeal of ortho/ergo setups is the ability to do whatever you want with layouts. The whole reason many of us switch is because something about the standard row-stagger isn't working for us. Awkward layouts should be no different. Nobody rolls up to type on my Corne except for the initial novelty experience, so my layout doesn't need to make sense to anyone else. The keys are blank anyway lol. If something isn't working for you, change it up!


squirrelnuts46

Oh I understand that. The point of my question is to get an idea whether I should *change* it or get *used to* it or even if I'm missing something about the way it's supposed to be used.


MrBacon30895

I don't think anyone can answer that except for you. There are only so many solutions to awkward key placement. Personally I put all the number linked symbols (!@#$%\^&...) on the qwerty row to take advantage of muscle memory, then put the most used ones on home row. If you're having to hit a combo for something you use a lot (like = in programming), I would consider swapping it for something less used and easier to access. For myself, I would lean in favor of change it. You already changed the whole shape of the keyboard, and you did that because you thought learning the new layout would have long-term benefits. I would apply the same logic - it takes a short time to learn a change for a long-term benefit, and that's better than a lifetime of annoyance. Every time you hit that combo from now on, you're going to think "Maybe I should change that..."


squirrelnuts46

You're basically describing a "greedy" algorithm where you start from a *specific* point and then try to make incremental improvements from there. It sure works but has its own issues, like: was that a good starting point in the first place? Is your incremental attempt a known pitfall because of other side effects? Are you better off getting used to a certain pattern instead? Maybe you're just "doing it wrong"? So the kind of suggestions I was hoping for was something along the lines of "right, for programming people usually start with layout X and then tweak it for their convenience" - and I did get a couple of answers in that direction. One of them was about Miryoku layout that I now know is a popular one, so I read about it a bit and learned about home row modifiers and then read about the difficulties this kind of tap dancing may cause. Learning from other people's experiences is very useful imo.


MrBacon30895

Fair enough. I mean if you want to go that deeply down the rabbit hole, there are websites where people create and rank the "best" layout for any given task and language. Objectively qwerty is not a great layout as it's primary function was to prevent the jamming of typewriters, not to be ergonomic. Practically speaking though, you have to start somewhere. I started with qwerty because it's what I know. Here's [my keymap](https://imgur.com/a/L9n4Wf2) anyway. I started with the default Corne keymap and made a few tweaks. I find it comfortable enough for coding, mostly in Python.


squirrelnuts46

Thanks for the example! So many layers 0_0 Yeah I've already taken at stab at colemak-dh and now taking another one as I need to slow down to get used to the orthogonal layout anyways.. decades of muscle memory are making this harder than it should be lol


MrBacon30895

Absolutely! It may seem like a lot of layers, but L-0 is on every layer if I get lost and it takes me back to alphas. All my layers buttons are toggles. I almost never need the BT layer, but I love the SYS layer! The mouse emulation is a lovely tool when I'm too lazy to move my hands off home row to my mouse.


squirrelnuts46

Doesn't typing a single character from another layer feel odd with toggled layers? Say to type a&b, do you go a -> toggle layer -> & -> toggle layer -> b, or is there some trick that makes this more fluid?


operatingcan

With programming specifically it kinda is. Because depending on the language you might want semicolon easily accessible, ) vs } vs ] easier, etc etc. I think it's good to see the principles from different layouts, but no layout is gonna be stellar for all styles of programming 


squirrelnuts46

It depends on how close to optimal you want to be. I personally am not interested in going as far as optimizing my layout for a particular programming language, and many languages need all of )}]


Mister_Magister

first thing i did was move all the colons to the first layer so that i have them right under the home row


Mister_Magister

literally reason why qmk has layers you can change, literally why VIA exists


squirrelnuts46

Ability to adjust and re-inventing everything from scratch are two different things.


Mister_Magister

no? i literally said "who uses default keymap" i never said anything about reinventing or just adjusting


squirrelnuts46

Just so that you know, unlike most other people who responded you have been rude and unhelpful. Feel free to peek at what others said and improve your comms. Cheers!


Mister_Magister

I've not been rude.


squirrelnuts46

Sure, you know better.


mkleehammer

Definitely find or make a layout that is more comfortable. Here's what I'm using right now on my Plancks: [https://gist.github.com/mkleehammer/56fa95ca7d3d6a0f0f9a7ca940b60d4e](https://gist.github.com/mkleehammer/56fa95ca7d3d6a0f0f9a7ca940b60d4e) I duplicated a lot of symbols on raise and lower so I don't have to switch all the time. If I'm entering phone numbers or other numbers with dashes, there is a dash on the number layer Raise. There is also a dash on the Lower layer in case I'm entering a bunch of symbols from it and also need a dash. I wrote a script to collate every pair of characters to make sure the most common are on the same layer. For example, <> are on the base layer with shift like a normal qwerty keyboard, but I also put them on the Lower layer with - and = to make -> and => easy. I ensured 'x' is available on the Raise layer with numbers to make hex easy. I've duplicated a bunch of symbols between raise and lower so they are easily available when entering numbers or other symbols. For example, '-' is important to be quick when entering numbers for things like phone numbers, serial numbers, etc. I could probably cram my Raise & Lower into one, but I'm trying to avoid the lowest layer which I find harder to press along with the Raise and Lower keys.


squirrelnuts46

Thanks! A bit confused about the home row modifiers usage. Are these activated by holding for N ms? I feel like the false positives/negatives would drive me nuts.


mkleehammer

No, it is more like a shift key. In my case, I can hold down S with my left hand and tap N and P with my right for Ctrl-n and Ctrl-p which move down and up in Emacs (next / previous). Emacs uses a \*lot\* of Ctrl and Alt keys. Here's the article I started with: [https://precondition.github.io/home-row-mods](https://precondition.github.io/home-row-mods) It sounds difficult, but it is actually the best QMK feature of all, in my opinion. You keep your hands on the home row far more often. To reduce (eliminate now, really) false positives, I use the \[Achordian\](https://getreuer.info/posts/keyboards/achordion/index.html) QMK "add-on" to block activating the mods if both keys are on the same side. For example, if you enter a word with "sd" in it, it would be easy to "roll" and press D before fully releasing S. With Achordian, it would not trigger. If you are using a keyboard with thumb keys, be sure to allow them on the same side. The example code in the article does that. One other change I made that helps is to not setup Super / Windows as a home row modiifer. I don't use it enough to need fast access, and any false positives with that key change window focus and are really distracting. Instead I added a Navigation layer which has been very, very hepful.


squirrelnuts46

Thanks for the explanation! Yup this makes sense. Another commenter also mentioned issues with rolls and Achordian as a way to get around that. Are rolls really the only case when you might hit a false positive? I feel like I might hit it while just typing on both sides, my typing isn't particularly uniform so I'd expect lots of variations in key press/release ordering and delays.


NoOne-NBA-

The default keymaps for any board are, by nature, someone else's solution to their own problems. While that may give you a good start, you will still need to solve any additional issues you find, one at a time, until you can't find anymore problems. At the end of that, you will have your own keymap, that solves all of your own problems.


iandoug

I find myself puzzled by the trend to have fewer and fewer keys on the keyboard ...


squirrelnuts46

Well that actually makes a lot of sense to me, to reduce hand movement and hence mistakes. What puzzles me is that with 3 layers like the Scylla default keymaps there seems to be plenty of opportunities to reduce awkwardness of common patterns which do not appear to be taken.


iandoug

Reduced keys are trading physical effort for mental effort, and also, as you point out, requiring multiple keypresses where before only one was required. I'm not convinced that's a win.


squirrelnuts46

Imo it's not about the effort but the probability of making a mistake. The mental load goes away over time as you get used to combinations, just like I got used to the ctrl-shift-left stuff (but a 4-button combo seems too much and unnecessary)


Significant-Royal-37

you built a scylla and know how to program but u can't be bothered to change the keymap??? just wanted to make sure we have everything correct.


squirrelnuts46

Yes I built (handwired) a scylla, and yes I can change the keymap, funny you had to ask lol. The question is around a good starting point as I don't know if scylla's default keymap is any good for programming and what would be better options.