master
Stefan Dorn 2016-06-14 05:48:02 +01:00
parent f5c1169af3
commit 118f511e61
2 changed files with 16 additions and 23 deletions

View File

@ -62,12 +62,12 @@ static bool (*kb_was_pressed)[KB_ROWS][KB_COLUMNS] = &_kb_was_pressed;
static layer layers_pressed[KB_ROWS][KB_COLUMNS];
static layer current_layer;
static layer layer_offset;
static u8 current_row;
static u8 current_col;
static bool current_is_pressed;
static bool sticky_done;
static u8 current_row;
static u8 current_col;
static layer current_layer;
static keycode current_keycode;
static bool current_is_pressed;
static bool sticky_done;
static bool layers_active[KB_LAYERS];
static StickyState layers_sticky[KB_LAYERS];
@ -116,9 +116,9 @@ void main_key_loop() {
}
// set remaining vars, and "execute" key
current_row = row;
current_col = col;
layer_offset = 0;
current_row = row;
current_col = col;
current_keycode = kb_keycode(current_layer, current_row, current_col);
exec_key();
}
}
@ -373,10 +373,6 @@ void _kbfun_mediakey_press_release(bool press, keycode key) {
// basic keyfuncs
// ----------------------------------------------------------------------------
keycode current_keycode() { return kb_keycode(current_layer, current_row, current_col); }
keyfunc current_keyfunc_press() { return kb_keyfunc_press(current_layer, current_row, current_col); }
keyfunc current_keycode_release() { return kb_keyfunc_release(current_layer, current_row, current_col); }
bool key_is_modifier(keycode key) {
switch (key) {
case KEY_LeftControl: return true;
@ -393,20 +389,20 @@ bool key_is_modifier(keycode key) {
// normal key
void kbfun_press_release() {
sticky_done = ! key_is_modifier(current_keycode());
_kbfun_press_release(current_is_pressed, current_keycode());
sticky_done = ! key_is_modifier(current_keycode);
_kbfun_press_release(current_is_pressed, current_keycode);
}
// media key
void kbfun_mediakey_press_release() {
sticky_done = true;
keycode key = current_keycode();
keycode key = current_keycode;
_kbfun_mediakey_press_release(current_is_pressed, key);
}
// enable layer
void kbfun_layer_enable() {
layer l = (layer) current_keycode();
layer l = (layer) current_keycode;
layer_enable_upto(l);
}
@ -425,7 +421,7 @@ void kbfun_layer_disable() {
// sticky layer key
void kbfun_layer_sticky() {
layer l = (layer) current_keycode();
layer l = (layer) current_keycode;
StickyState top_sticky = layer_top_sticky();
if (current_is_pressed) {
@ -488,7 +484,7 @@ void kbfun_2_keys_capslock_press_release() {
static bool lshift_pressed;
static bool rshift_pressed;
keycode key = current_keycode();
keycode key = current_keycode;
if (!current_is_pressed) { keys_pressed--; }

View File

@ -7,15 +7,11 @@ void kbfun_shift_press_release();
void kbfun_mediakey_press_release();
void kbfun_press_release();
bool key_is_modifier(keycode key);
keyfunc current_keycode_release();
keyfunc current_keyfunc_press();
keycode current_keycode();
void _kbfun_mediakey_press_release(bool press,keycode key);
bool _kbfun_is_pressed(keycode key);
void _kbfun_release(keycode key);
void _kbfun_press(keycode key);
void _kbfun_press_release(bool press,keycode key);
keycode kb_keycode(layer l,u8 row,u8 col);
void layer_enable_upto(layer max_layer);
void kbfun_layer_disable();
bool is_layer_disable(keyfunc f);
@ -32,6 +28,7 @@ StickyState layer_top_sticky();
keyfunc kb_keyfunc_release(layer l,u8 row,u8 col);
keyfunc kb_keyfunc_press(layer l,u8 row,u8 col);
void exec_key(void);
keycode kb_keycode(layer l,u8 row,u8 col);
void main_key_loop();
void init_layers();
int main();