76 lines
2.3 KiB
C
76 lines
2.3 KiB
C
/**
|
|
* Auto-generated with squeek2lvgl
|
|
**/
|
|
|
|
#ifndef SQ2LV_LAYOUTS_H
|
|
#define SQ2LV_LAYOUTS_H
|
|
|
|
#include "lvgl/lvgl.h"
|
|
|
|
#define SQ2LV_SCANCODES_ENABLED 1
|
|
|
|
/* Key attributes */
|
|
#define SQ2LV_CTRL_NON_CHAR (LV_BTNMATRIX_CTRL_CLICK_TRIG | LV_BTNMATRIX_CTRL_CHECKED)
|
|
#define SQ2LV_CTRL_MOD_ACTIVE (LV_BTNMATRIX_CTRL_CLICK_TRIG | LV_BTNMATRIX_CTRL_CHECKABLE)
|
|
#define SQ2LV_CTRL_MOD_INACTIVE (LV_BTNMATRIX_CTRL_CLICK_TRIG | LV_BTNMATRIX_CTRL_CHECKABLE | LV_BTNMATRIX_CTRL_CHECKED)
|
|
|
|
/* Layout IDs, values can be used as indexes into the sq2lv_layouts array */
|
|
typedef enum {
|
|
SQ2LV_LAYOUT_NONE = -1,
|
|
SQ2LV_LAYOUT_TERMINAL_US = 0
|
|
} sq2lv_layout_id_t;
|
|
|
|
/* Layer type */
|
|
typedef struct {
|
|
/* Number of keys */
|
|
const int num_keys;
|
|
/* Key caps */
|
|
const char * const * const keycaps;
|
|
/* Key attributes */
|
|
const lv_btnmatrix_ctrl_t * const attributes;
|
|
/* Number of modifier keys */
|
|
const int num_modifiers;
|
|
/* Button indexes of modifier keys */
|
|
const int * const modifier_idxs;
|
|
/* Number of buttons that trigger a layer switch */
|
|
const int num_switchers;
|
|
/* Button indexes that trigger a layer switch */
|
|
const int * const switcher_idxs;
|
|
/* Indexes of layers to jump to when triggering layer switch buttons */
|
|
const int * const switcher_dests;
|
|
/* Total number of scancodes */
|
|
const int num_scancodes;
|
|
/* Flat array of scancodes */
|
|
const int * const scancodes;
|
|
/* Start index in scancodes array for key cap */
|
|
const int * const scancode_idxs;
|
|
/* Number of scancodes for key cap */
|
|
const int * const scancode_nums;
|
|
} sq2lv_layer_t;
|
|
|
|
/* Layout type */
|
|
typedef struct {
|
|
/* Layout name */
|
|
const char * const name;
|
|
/* Layout short name */
|
|
const char * const short_name;
|
|
/* Total number of layers */
|
|
const int num_layers;
|
|
/* Layers array */
|
|
const sq2lv_layer_t * const layers;
|
|
} sq2lv_layout_t;
|
|
|
|
/* Layouts */
|
|
extern const int sq2lv_num_layouts;
|
|
extern const sq2lv_layout_t sq2lv_layouts[];
|
|
|
|
/* Layout names (suitable for use in lv_dropdown_t) */
|
|
extern const char * const sq2lv_layout_names;
|
|
extern const char * const sq2lv_layout_short_names;
|
|
|
|
/* Unique scancodes from all layout (suitable for setting up uinput devices) */
|
|
extern const int sq2lv_num_unique_scancodes;
|
|
extern const int sq2lv_unique_scancodes[];
|
|
|
|
#endif /* SQ2LV_LAYOUTS_H */
|