qmk_firmware icon indicating copy to clipboard operation
qmk_firmware copied to clipboard

Removing layer related functionality

Open jkavalec opened this issue 1 year ago • 2 comments

Issue Description

I am prototyping alternative layer solution, and I am wondering if it is possible to get rid of things related to the original layers.

As of now I am using layer functionality just to map keycodes like Key_1, Key_2 to the the first layer, then forgetting they exist:

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [BASE] = LAYOUT_ergodox_80(
        _Key_00_, Key_01_, _Key_02_, _Key_03_, _Key_04_, _Key_05_, // and so on

I would prefer to get rid of this completely e.g. I don't want to have for instance global variable layer_state available which disallows mee to have var for my layer implementation to have some name. And I would also like this code not to increase firmware size.

Is there any way to do this? So that I can rely purely on matrix line/pos coordinates?

jkavalec avatar Aug 19 '24 10:08 jkavalec

About the extent of it is to use #define NO_ACTION_LAYER and hope nothing breaks. It's not really a tested configuration, so you're pretty much on your own.

tzarc avatar Aug 19 '24 10:08 tzarc

This was helpful, thank you very much.

I was able together with taps and oneshots get about 30% more space for my firmware. The only thing that still remains is that action_layer.h still adds layer_state definition like this "# define layer_state 0" into resulting code so I still cannot use that variable name. This is small issue, and will most likely keep using layer_data name.

jkavalec avatar Aug 19 '24 11:08 jkavalec

This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs. For maintainers: Please label with bug, in progress, on hold, discussion or to do to prevent the issue from being re-flagged.

github-actions[bot] avatar Nov 18 '24 02:11 github-actions[bot]

This issue has been automatically closed because it has not had activity in the last 30 days. If this issue is still valid, re-open the issue and let us know. // [stale-action-closed]

github-actions[bot] avatar Dec 19 '24 02:12 github-actions[bot]