1
0
Fork 0

Keymap: Refactor edvorakjp user library (#4480)

* Refactor edvorakjp user library

* add tap dance support

* update keymaps

* edvorakjp: add SWAP_SCLN option

* fix behavior of SWAP_SCLN
This commit is contained in:
epaew 2018-11-27 02:50:45 +09:00 committed by Drashna Jaelre
parent 0031e46191
commit f3ffd6ad50
14 changed files with 406 additions and 255 deletions

View file

@ -1,5 +1,5 @@
#ifndef USERSPACE
#define USERSPACE
#ifndef EDVORAKJP
#define EDVORAKJP
#include "quantum.h"
#include "action_layer.h"
@ -8,15 +8,6 @@
extern keymap_config_t keymap_config;
typedef union {
uint8_t raw;
struct {
bool enable_jp_extra_layer : 1;
bool enable_kc_lang : 1; // for macOS
};
} edvorakjp_config_t;
extern edvorakjp_config_t edvorakjp_config;
enum edvorakjp_layers {
_EDVORAK = 0,
_EDVORAKJ1,
@ -50,26 +41,38 @@ enum edvorakjp_keycodes {
NEW_SAFE_RANGE
};
uint8_t eeconfig_read_edvorakjp(void);
void eeconfig_update_edvorakjp(uint8_t val);
enum tap_dance_code {
TD_LOWER = 0,
TD_RAISE
};
// base
void dvorakj_layer_off(void);
void update_japanese_mode(bool new_state);
void matrix_init_user(void);
void matrix_init_keymap(void);
uint32_t layer_state_set_user(uint32_t state);
uint32_t layer_state_set_keymap(uint32_t state);
bool process_record_user(uint16_t keycode, keyrecord_t *record);
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
// status
void edvorakjp_status_init(void);
bool get_enable_jp_extra_layer(void);
void set_enable_jp_extra_layer(bool new_state);
bool get_enable_kc_lang(void);
void set_enable_kc_lang(bool new_state);
bool get_japanese_mode(void);
void set_japanese_mode(bool new_state);
/*
* Each process_record_* methods defined here are
* return false if processed, or return true if not processed.
* You can add your original macros in process_record_keymap() in keymap.c.
*/
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
bool process_record_edvorakjp_ext(uint16_t keycode, keyrecord_t *record);
bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record);
bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record);
bool process_record_layer(uint16_t keycode, keyrecord_t *record);
bool process_record_ime(uint16_t keycode, keyrecord_t *record);
bool process_record_user(uint16_t keycode, keyrecord_t *record);
#endif
#endif // EDVORAKJP