librelist archives

« back to archive

Adding additional layers to layouts?

Adding additional layers to layouts?

From:
Matt Gauger
Date:
2014-09-06 @ 16:28
Hi all,

Has anyone successfully added more layers to a key layout?

I'm trying to add a layer3 (note that numbering starts at 0) that acts as a
basic QWERTY mode for gaming. My layout seems correct, and compiles, but
I'm unable to get into the layer3 key map.

Getting to layer2 (the layer that typically has Page Up, Page Down, F keys,
etc) requires me to hold Fn and then the lower-leftmost key (which is ESC
in layer0), which is ["function", 2] in the layout. I added my call to
["function", 3] to the next key over, so my assumption would be I need to
hold Fn + Function(2), then release, then hold Fn + Function(3) and
release.

Looking over the firmware, it should support additional layers just fine,
and this seems to be how you'd get into a mode that "holds" until you
escaped to layer 0.

The layer(0) function call is used in other layers to jump back to the
first layer, so I also tried inserting a calling to layer(3) in the same
spot in my layout, so that I would hit Fn + Function(2), then hit the
layer(3) key. That also doesn't work.

Any thoughts / suggestions? Has anyone else gotten this working?

-- 
Matt Gauger
http://blog.mattgauger.com

Re: Adding additional layers to layouts?

From:
Phil Hagelberg
Date:
2014-10-12 @ 21:03
Sorry I missed this the first time around. I believe the problem here is
that hitting the fn key when you're on Layer 2 will drop you back to
layer 0 before you hit the key that's supposed to take you to layer 3.

I've got a similar requirement in the "multidvorak" layout I'm currently
using, but rather than dropping to qwerty, I have a layer 3 and 4 that
mirror 0 and 1, but in a way that doesn't assume the OS is doing the
qwerty->dvorak translation. (Hardware dvorak alongside software dvorak,
if you will.) This has worked well for me, but you can't use any fn
combos from layer 2, since hitting fn will drop you back to layer 0
before the combo registers.

  https://github.com/technomancy/atreus-firmware/blob/master/multidvorak.h

Hope that helps!

-Phil