cleanup
parent
a0289831c1
commit
dbbd699115
|
@ -31,18 +31,18 @@ class Key
|
|||
|
||||
Functions = {
|
||||
# down up
|
||||
"basic" => [ "&kbfun_normal_press_release", ],
|
||||
"media" => [ "&kbfun_mediakey_press_release", ],
|
||||
"basic" => [ "&kbfun_normal_press_release", ],
|
||||
"media" => [ "&kbfun_mediakey_press_release", ],
|
||||
# down up
|
||||
"mod" => [ "&kbfun_modifier_press_release", ],
|
||||
"sticky_mod" => [ "&kbfun_modifier_sticky", ],
|
||||
"mod" => [ "&kbfun_modifier_press_release", ],
|
||||
"sticky_mod" => [ "&kbfun_modifier_sticky", ],
|
||||
# down up
|
||||
"layer" => [ "&kbfun_layer_enable", "&kbfun_layer_disable" ],
|
||||
"sticky" => [ "&kbfun_layer_sticky", ],
|
||||
"layer" => [ "&kbfun_layer_press_release", ],
|
||||
"sticky" => [ "&kbfun_layer_sticky", ],
|
||||
# down up
|
||||
"shifted" => [ "&kbfun_shift_press_release", ],
|
||||
"ctrled" => [ "&kbfun_control_press_release", ],
|
||||
"capslock" => [ "&kbfun_capslock_press_release", ],
|
||||
"shifted" => [ "&kbfun_shift_press_release", ],
|
||||
"ctrled" => [ "&kbfun_control_press_release", ],
|
||||
"capslock" => [ "&kbfun_capslock_press_release", ],
|
||||
}
|
||||
|
||||
Keys = {
|
||||
|
|
|
@ -370,7 +370,7 @@ static const keyfunc PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS]
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -404,18 +404,18 @@ static const keyfunc PROGMEM _kb_layout_press[KB_LAYERS][KB_ROWS][KB_COLUMNS]
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_sticky,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_sticky),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
|
@ -453,7 +453,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -487,19 +487,19 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_shift_press_release,
|
||||
(keyfunc) &kbfun_shift_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable),
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
|
@ -536,7 +536,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -570,18 +570,18 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
|
@ -619,7 +619,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -653,18 +653,18 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_enable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release),
|
||||
};
|
||||
static const keyfunc PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS] = { KB_MATRIX_LAYER(
|
||||
|
@ -702,7 +702,7 @@ static const keyfunc PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS]
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -736,18 +736,18 @@ static const keyfunc PROGMEM _kb_layout_release[KB_LAYERS][KB_ROWS][KB_COLUMNS]
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_sticky,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_sticky),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
|
@ -785,7 +785,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -819,19 +819,19 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_shift_press_release,
|
||||
(keyfunc) &kbfun_shift_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable),
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
|
@ -868,7 +868,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -902,18 +902,18 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release),
|
||||
|
||||
KB_MATRIX_LAYER(
|
||||
|
@ -951,7 +951,7 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
(keyfunc) &kbfun_modifier_press_release,
|
||||
|
@ -985,17 +985,17 @@ KB_MATRIX_LAYER(
|
|||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_capslock_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release,
|
||||
(keyfunc) &kbfun_layer_disable,
|
||||
(keyfunc) &kbfun_layer_press_release,
|
||||
(keyfunc) &kbfun_normal_press_release),
|
||||
};
|
||||
|
|
52
src/main.c
52
src/main.c
|
@ -214,25 +214,8 @@ void layer_disable(layer l) {
|
|||
}
|
||||
}
|
||||
|
||||
// disable the highest active layer
|
||||
void layer_disable_top() {
|
||||
layer_disable(layers_top);
|
||||
}
|
||||
|
||||
// return layer offset elements below the top
|
||||
layer layer_peek(layer offset) {
|
||||
return highest_active_layer(offset);
|
||||
}
|
||||
|
||||
bool is_layer_enable(keyfunc f) {
|
||||
if (f == &kbfun_layer_enable || f == &kbfun_layer_sticky) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool is_layer_disable(keyfunc f) {
|
||||
if (f == &kbfun_layer_disable || f == &kbfun_layer_sticky) {
|
||||
bool is_layer_keyfunc(keyfunc f) {
|
||||
if (f == &kbfun_layer_press_release || f == &kbfun_layer_sticky) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -245,7 +228,7 @@ void layer_enable_upto(layer max_layer) {
|
|||
for (layer l=0; l <= KB_LAYERS; l++) {
|
||||
void (*key_function)(void) = kb_keyfunc_press(l, current_row, current_col);
|
||||
|
||||
if (is_layer_enable(key_function)) {
|
||||
if (is_layer_keyfunc(key_function)) {
|
||||
layer enable_layer = (layer) kb_keycode(l, current_row, current_col);
|
||||
if (enable_layer <= max_layer) {
|
||||
layer_enable(enable_layer);
|
||||
|
@ -361,25 +344,22 @@ void kbfun_modifier_press_release() {
|
|||
_kbfun_modifier_press_release(current_is_pressed, current_keycode);
|
||||
}
|
||||
|
||||
// enable layer
|
||||
void kbfun_layer_enable() {
|
||||
// layer key
|
||||
void kbfun_layer_press_release() {
|
||||
layer_sticky_done = true; // don't disable sticky mods!
|
||||
|
||||
layer l = (layer) current_keycode;
|
||||
layer_enable_upto(l);
|
||||
}
|
||||
if (current_is_pressed) {
|
||||
layer l = (layer) current_keycode;
|
||||
layer_enable_upto(l);
|
||||
} else {
|
||||
// letting go off a key releases *all* layers on that key
|
||||
for (layer l=0; l <= KB_LAYERS; l++) {
|
||||
void (*key_function)(void) = kb_keyfunc_release(l, current_row, current_col);
|
||||
|
||||
// disable layer
|
||||
void kbfun_layer_disable() {
|
||||
layer_sticky_done = true; // don't disable sticky mods!
|
||||
|
||||
// letting go off a key releases *all* layers on that key
|
||||
for (layer l=0; l <= KB_LAYERS; l++) {
|
||||
void (*key_function)(void) = kb_keyfunc_release(l, current_row, current_col);
|
||||
|
||||
if (is_layer_disable(key_function)) {
|
||||
layer disable_layer = (layer) kb_keycode(l, current_row, current_col);
|
||||
layer_disable(disable_layer);
|
||||
if (is_layer_keyfunc(key_function)) {
|
||||
layer disable_layer = (layer) kb_keycode(l, current_row, current_col);
|
||||
layer_disable(disable_layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,9 @@ void _kbfun_normal_press_release(bool press,keycode key);
|
|||
keyfunc kb_keyfunc_release(layer l,u8 row,u8 col);
|
||||
keyfunc kb_keyfunc_press(layer l,u8 row,u8 col);
|
||||
void layer_enable_upto(layer max_layer);
|
||||
void kbfun_layer_disable();
|
||||
bool is_layer_disable(keyfunc f);
|
||||
void kbfun_layer_sticky();
|
||||
void kbfun_layer_enable();
|
||||
bool is_layer_enable(keyfunc f);
|
||||
layer layer_peek(layer offset);
|
||||
void layer_disable_top();
|
||||
void kbfun_layer_press_release();
|
||||
bool is_layer_keyfunc(keyfunc f);
|
||||
void layer_enable(layer l);
|
||||
layer highest_active_layer(layer offset);
|
||||
void layer_disable(layer l);
|
||||
|
|
Loading…
Reference in New Issue