2012-03-27 12:06:52 +02:00
|
|
|
/* ----------------------------------------------------------------------------
|
2012-08-07 00:57:23 +02:00
|
|
|
* main() : functions and data that may be useful externally
|
2012-03-27 12:06:52 +02:00
|
|
|
* ----------------------------------------------------------------------------
|
|
|
|
* Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com>
|
|
|
|
* Released under The MIT License (MIT) (see "license.md")
|
|
|
|
* Project located at <https://github.com/benblazak/ergodox-firmware>
|
|
|
|
* ------------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
|
2012-07-31 23:48:31 +02:00
|
|
|
#ifndef MAIN_h
|
2016-02-04 10:22:40 +01:00
|
|
|
#define MAIN_h
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
2016-06-11 21:13:46 +02:00
|
|
|
#include "keyboard/ergodox/layout.h"
|
|
|
|
#include "keyboard/ergodox/matrix.h"
|
2016-02-04 10:22:40 +01:00
|
|
|
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
typedef enum StickyState
|
|
|
|
{
|
|
|
|
eStickyNone,
|
|
|
|
eStickyOnceDown,
|
|
|
|
eStickyOnceUp,
|
|
|
|
eStickyLock
|
|
|
|
} StickyState;
|
|
|
|
|
|
|
|
extern bool (*main_kb_is_pressed)[KB_ROWS][KB_COLUMNS];
|
|
|
|
extern bool (*main_kb_was_pressed)[KB_ROWS][KB_COLUMNS];
|
|
|
|
extern uint8_t main_layers_pressed[KB_ROWS][KB_COLUMNS];
|
|
|
|
extern uint8_t main_arg_layer;
|
|
|
|
extern uint8_t main_arg_layer_offset;
|
|
|
|
extern uint8_t main_arg_row;
|
|
|
|
extern uint8_t main_arg_col;
|
|
|
|
extern bool main_arg_is_pressed;
|
|
|
|
extern bool main_arg_was_pressed;
|
|
|
|
extern bool main_arg_any_non_trans_key_pressed;
|
|
|
|
extern bool main_arg_trans_key_pressed;
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
|
|
|
|
void main_exec_key (void);
|
|
|
|
|
|
|
|
uint8_t main_layers_top_layer (void);
|
|
|
|
uint8_t main_layers_top_sticky (void);
|
2016-02-06 15:31:54 +01:00
|
|
|
uint8_t main_layers_sticky (uint8_t layer);
|
2016-02-04 10:22:40 +01:00
|
|
|
void main_layers_enable (uint8_t layer, uint8_t sticky);
|
|
|
|
void main_layers_disable (uint8_t layer);
|
|
|
|
void main_layers_disable_top (void);
|
|
|
|
|
2016-02-04 07:35:27 +01:00
|
|
|
#endif
|