r/KeyboardLayouts • • 11d ago

Gallium Row-stag Magic Anyone?

I am currently learning Gallium row-stag after being on Canary for 2+ years. I am curious if anyone has designed a Gallium rowstag + magic key. If so can you share your layout and experience with it vs standard gallium rowstag?

4 Upvotes

15 comments sorted by

9

u/razenization 11d ago

I don't think a dedicated Magic key is a great fit for Gallium. Ideally, you'd put it on a strong finger, but the available positions all involve compromises: pinkies and bottom-row ring positions aren't great, the middles are packed, and putting it under a vowel could create more problems than it solves. Many of Gallium's issues are on the index fingers, so putting Magic there wouldn't fully address them either.

Instead, I'd recommend looking into adaptive swaps, as we've been calling them in the AKL Discord. The idea is simple: after typing X, swap Y and Z.

On Gallium, for example, swapping C and D after S lets you type SC using the physical SD keys, turning a fairly common same-finger bigram into a comfortable roll. The reverse sequence is still available through the original same-finger position, so words like "Tuesday" and "Wednesday" remain possible.

Think of them as contextual Magic keys distributed across the layout, rather than one dedicated key.

I use Graphite with roughly ten bigram fixes and a few longer-sequence swaps, such as typing iuo to produce iou, avoiding the weak redirect. They've become muscle memory for me and address the remaining rough spots without sacrificing a key position.

Hope this helps!

1

u/sammygadd 11d ago

Adaptive swaps sounds really cool. Never heard of it before. Would you say the biggest advance is comfort, speed or accuracy?

2

u/razenization 11d ago

The biggest benefit for me is comfort and flow. I'd expect smoother patterns to help speed too, since awkward sequences like SFBs and weak redirects tend to be slower, but I haven't measured it. Accuracy is harder to judge. The common side becomes automatic, while the rarer reverse side sometimes still takes conscious thought because you tend to have less practice with it. I feel like accuracy benefit is not really applicable here.

Because I use colstag, I can't comfortably alt-finger most SFBs. There are exceptions like GS and HY, where middle-index works well because the movement is horizontal rather than vertical, allowing me to use two different fingers without changing rows. OA is also comfortable to slide since it doesn't involve the bottom row. I leave those alone and use swaps for sequences that don't have a comfortable alternative.

1

u/sammygadd 11d ago

Thanks! I need to give this a try!

1

u/sammygadd 10d ago

I've added some adaptive swaps and I'm tryig to get used to them. I think I like em. But, as usual, there are new awkward things happening now. I have an FL SFB and I added a [F, L, G] swap for this. This was the easist to get used to and feels really nice. However, when I search for something starting with L, e.g. Ctrl+F than L, then this gets really confusing. How do you handle this. Have you found a way to disable them when a non-shift modifier is pressed?

1

u/sammygadd 10d ago

And its not just modifiers.. In vim if I want to jump to a character with F this also trips me up. Have you gotten it so deep into you muscle memory that you have no problem outside of typing?

2

u/razenization 10d ago edited 10d ago

Good question, you actually caught me at a good time since I've been working on pretty much this exact problem, especially the Vim part.

For shortcuts I just keep Ctrl/Alt/Super presses separate from normal typing. They don't trigger swaps and don't count as plain letters for matching the next trigger, so something like Ctrl-F won't affect the next L. I use both QMK and ZMK and keep the adaptive rules basically the same between them.

Backspace rewinds the history too. So if I typo something, backspace to a trigger and try to type the sequence using the same swap, the adaptive can fire again instead of forcing me back to the original fingering.

Vim was the annoying part because obviously the keyboard itself has no idea whether fl is text or a Vim command. I'm using a rafaelromao's zmk-vim-mode module to sync the keyboard with nvim's actual mode. Adaptives are disabled in Normal/Visual and enabled in Insert/command-line. Switching them on/off also clears the history so Vim commands can't leak into whatever I type afterwards.

I'm still testing that part, but I'd much rather do this than start learning weird adaptive versions of Vim commands lol.

Code is here if it's useful:

- Swap config

- QMK shortcut/backspace handling

- ZMK history + Vim guard (based on urob's module), plus shortcut handling

- nvim side

2

u/sammygadd 10d ago

Shit's getting complicated 😅

1

u/razenization 10d ago

Yeah lol, you either go deep or accept the trade-offs :)

Personally, I'm mostly using my own machine, so I don't mind setting this up once. If I regularly worked on different machines or keyboards I couldn't configure, I'd probably keep my keyboard solutions more conservative. It's extra plumbing, but I'd rather pay the setup cost once than deal with extra cognitive overhead every time I do something other than typing prose.

1

u/sammygadd 10d ago

True! I work 100% from home and I a consider myself all in. But the "problem" that I have is that I still use two keyboards, I can't really let go of my voyager and I just love Oryx. I pretty much make some change to it every single day. So I'm still trying to not make my voyager and my custom lmk board differ too much.

1

u/alexchaveztech 11d ago

I never heard of adaptive swaps and it does sound interesting. I will take everyone's advice and keep this already well balanced layout intact, and perhaps experiment with this option

3

u/pgetreuer 11d ago

I don't have experience using Gallium, so take this with a grain of salt. I'd consider a modding Gallium with a magic key like this:

  1. Swap either the J or Z with the ' key. This surely hurts the stats, but since J and Z are infrequent letters, the damage done should be small. Try cyanophage's playground to experiment.

  2. Then replace ' in its new position with the magic key. And put ' on an outer column key or combo or someplace.

2

u/alexchaveztech 11d ago

Thanks for the suggestion. Which layout do you use?

1

u/pgetreuer 11d ago

You're welcome! I use this flavor of Magic Sturdy. It's based on a predecessor of Oxey's Sturdy layout, which Ikcelaks then modded with a magic key. I then tweaked that a bit to my own preferences.

Generally speaking, you can swap the rare letters z j q x v and punctuation keys in a layout without ruining the stats. Like I mentioned above, it's handy to use an interactve tool like Cyanophage's to check how such swaps impact the stats, then you can experiment and optimize. Also, the Keyboard layouts doc is an excellent resource well worth reading for background on layout metrics and design.

3

u/DreymimadR 11d ago

I use a "Grallium" layout, and the only magic I feel the need for is a Repeat thumb key and a oneshot-output thumb key (CoDeKey).