Help using Via to program macros on the Framework Laptop 16 keyboard

Hello all,

I am trying to use VIA to programme macros onto my keyboard, for example so that Fn + J writes Jonathan. I’ve done this with other keyboards that I own, so I’m confident that VIA can do this.

Hardware and software

  • Framework 16
  • Linux (Ubuntu 24.10)
  • British (UK) ISO keyboard
  • Google Chrome used to access https://keyboard.frame.work/

Problem steps

  • I can view the keyboard configuration at https://keyboard.frame.work/
  • VIA is authorised to configure the keyboard
  • I believe that pressing and holding Fn will enable use of “layer 1” (this was confirmed by checking where VIA places the backlight toggle - layer 1 triggered by Fn + Space)
  • Recording a macro (M0) to write Jonathan saves correctly
  • Applying macro M0 to the J key on layer 1 does not trigger in response to Fn + J
  • Applying macro M0 to the J key on layer 0 does trigger, so the macro itself is fine

Can anybody advise how I can trigger macros on layer 1 please? I have a bunch of phrases that I type often that I’d like to have triggered by Fn plus a letter / number.

Thanks in advance! :slightly_smiling_face:

1 Like

Not quite. At least not always.
Framework really needs to write a small article on, at least, how their layers are setup regarding Fn and Fn-lock. As people really would have no idea how it works or what it’s doing without either 1) knowing QMK and checking how it’s setup in the firmware code, 2) someone telling them, 3) a lot of annoying trial & error and likely frustration.

Your base layer, if you are not holding down the Fn key is entirely dependent on if you are in Fn-lock or not. Same for your Fn-key-held-down layer. And of course, there is no Fn-lock indicator. Though the F1-F12 keys are different for Fn-lock, so that’s how you can tell.

Anyway, if you’re in Fn-lock, your base layer is 2. And you Fn-key-held-down layer is 3. Whereas in Fn-lock off / normal mode they are layer 0 and layer 1 respectively.

I don’t know if I ever posted it somewhere, but it seems I at least started writing some FWL16 basic keyboard info:


~ Layers ~

If you’re new to QMK, layers can be confusing. See docs.qmk.fm/#/feature_layers for details on how layers works.

The default layers are setup like so
Layer 0 - normal: Alt functions for F-keys, other keys normal.
Layer 1 - Fn momentary: F1-F12 for F-keys, alt functions for other keys.
Layer 2 - Fn-lock: F1-F12 for F-keys, other keys normal.
Layer 3 - Fn momentary when in Fn-lock: Alt functions for F-keys, alt functions for other keys.

Momentary means switching a layer only while the key is held.
You’ll see on Layer 0 that the Fn key is set to MO(1), this shows that pressing it momentarily activates layer 1.

Fn-lock is persistent, it’s state (either layer 0 or layer 2) is retained, and will be restored the next time the keyboard powers on. Fn-lock is located on the ESC key on layer 1 and layer 3. So pressing Fn + ESC activates or dis-activates Fn-lock, toggling between layer 0 or layer 2 being your base.

For many keys on layers 1,2,3 you’ll see a downward arrow. This is KC_TRANSPARENT. It means the keypress is passed through to the next lower level

@anyone, Please let me know if this seems clear enough, or just needs work. And suggestions welcome of course.


Oh, and welcome to the forum. Didn’t notice the forum’s first-post message.

6 Likes

@MJ1 thank you so much. That’s solved it :partying_face:. It’s the same situation with my Keychron K8 Pro (“Mac mode” is layer zero, “Windows mode” is layer two) so I should have explored further. Apologies!

Interesting quirk with VIA, that I’ve not been able to replicate, but it seems to be able to change if you’re in F-Lock mode. Fortunately you mentioned Fn + ESC so I was able to switch back.

My macros are all working nicely now. Thank you so much :slight_smile: .

2 Likes