Macropad and Via, what am I missing?

Hello all, Been searching for info for a while and before I try to much with modifying the firmware, I’m wondering if I’m missing or misunderstanding something simple.

Here’s my issue in bulleted format:

  • I have the macropad with my FW16.
  • I go to VIA’s portal to modify the layers and macros.
  • I’ve set the four top buttons in L0 to be [TO1][TO2][TO3][TO4]
  • On those layers, I set only the top left to be [TO0] to bring me “home” to L0
  • Everythiong else on L0 is like a numpad/calc
  • L1 is brightness and rgb controls for the macropad
  • L2 is the basic A-Z alphabet cuz I haven’t gotten anything else to wor…
  • When in L0 and I press TO1, all the buttons don’t do anything I’ve set (like brightness up, down etc), they all operate like passthrough only giving me the same stuff on L0
  • When I hit L2, it gives me the Alpha keys there’

I can seemingly only go between L0 and L2 and nothing else. There’s also no way to set a Layer indicator so I can have a visual reference for when i’ve succesfully switched layers…

Am I missing something here? I’ve rebooted between making changes (though I didn’t think I’d have to). And have only seen my L1 settings work at some point during the boot process (that is, changing the RGB settings of the macropad).

Thoughts? Appreciate any insight!

Welcome to the forum.

Avoid using layer 1. At least for how you want to setup your macropad. Layer 1 is programmed in firmware to follow numlock status. Layer 1 off when numlock is off, Layer 1 on when numlock is on. I’d suggest setting all keys on layer 1 to be (downward arrow symbol). This is the pass-through key, known as “transparent”.

You haven’t had trouble with other layers, correct?
If there are any other issues, then please post screenshots of each of your layers.

This is the layer 1 numlock code from the lastest firmware release v0.2.9/keyboards/framework/macropad/keymaps/default/keymap.c

bool led_update_user(led_t led_state) {
    // Change layer if numlock state changes, either triggered by OS or
    // by numlock key on this keyboard
    if (led_state.num_lock) {
        layer_off(_FN);
    } else {
        layer_on(_FN);
    }
    return true;
}

_FN is the internal name for layer 1.

2 Likes

Hadn’t really gone pass L2, so I totally didn’t read the documentation on that piece for the macropad. I’ll try ignoring L1 and see if it works more as expected.

And with that, I say thank you. This now works as expected and I see the changes. Next task is getting middle click to work so I can use my CAD software without a mouse… Thanks again!

1 Like

Glad to help.
Regarding mouse keys, unfortunately, I believe they aren’t enabled. It should be in rules.mk when enabled, but I don’t see it. v0.2.9/keyboards/framework/rules.mk
So if mouse keys just don’t work, that’s probably the issue. You’d need to compile new firmware, after adding MOUSEKEY_ENABLE = yes .

1 Like

This appears to be the issue after reading around. I got as far as pulling the code from GIT but haven’t compiled yet. Trying to see if there’s a way to also add colors when I change layers etc (so I don’t have to rely on remembering what layer I’m in).

Thanks again!