Quellcode durchsuchen

Add default layer config to bootmagic

led_matrix
tmk vor 11 Jahren
Ursprung
Commit
9de9d71952
8 geänderte Dateien mit 40 neuen und 9 gelöschten Zeilen
  1. 9
    0
      README.md
  2. 2
    2
      common/action_layer.c
  3. 1
    1
      common/action_layer.h
  4. 18
    0
      common/bootmagic.c
  5. 4
    0
      common/bootmagic.h
  6. 2
    2
      common/command.c
  7. 2
    2
      common/eeconfig.c
  8. 2
    2
      common/eeconfig.h

+ 9
- 0
README.md Datei anzeigen

- Set Default Layer to 1(`1`) - Set Default Layer to 1(`1`)
- Set Default Layer to 2(`2`) - Set Default Layer to 2(`2`)
- Set Default Layer to 3(`3`) - Set Default Layer to 3(`3`)
- Set Default Layer to 4(`4`)
- Set Default Layer to 5(`5`)
- Set Default Layer to 6(`6`)
- Set Default Layer to 7(`7`)

#### Caution
Unintentional use of this feature will cause user confusion.

TODO: Magic key combination to avoid unintentional press during plug in


**TBD** **TBD**



+ 2
- 2
common/action_layer.c Datei anzeigen

dprintf("%08lX(%u)", default_layer_state, biton32(default_layer_state)); dprintf("%08lX(%u)", default_layer_state, biton32(default_layer_state));
} }


void default_layer_set(uint8_t layer)
void default_layer_set(uint32_t state)
{ {
default_layer_state_set(1UL<<layer);
default_layer_state_set(state);
} }


#ifndef NO_ACTION_LAYER #ifndef NO_ACTION_LAYER

+ 1
- 1
common/action_layer.h Datei anzeigen

*/ */
extern uint32_t default_layer_state; extern uint32_t default_layer_state;
void default_layer_debug(void); void default_layer_debug(void);
void default_layer_set(uint8_t layer);
void default_layer_set(uint32_t state);


#ifndef NO_ACTION_LAYER #ifndef NO_ACTION_LAYER
/* bitwise operation */ /* bitwise operation */

+ 18
- 0
common/bootmagic.c Datei anzeigen

keymap_config.swap_backslash_backspace = !keymap_config.swap_backslash_backspace; keymap_config.swap_backslash_backspace = !keymap_config.swap_backslash_backspace;
} }
eeconfig_write_keymap(keymap_config.raw); eeconfig_write_keymap(keymap_config.raw);

/* default layer */
uint8_t default_layer = 0;
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_1)) { default_layer |= (1<<1); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_2)) { default_layer |= (1<<2); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_3)) { default_layer |= (1<<3); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_4)) { default_layer |= (1<<4); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_5)) { default_layer |= (1<<5); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_6)) { default_layer |= (1<<6); }
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_7)) { default_layer |= (1<<7); }
if (default_layer) {
eeconfig_write_default_layer(default_layer);
default_layer_set((uint32_t)default_layer);
} else {
default_layer = eeconfig_read_default_layer();
default_layer_set((uint32_t)default_layer);
}
} }


bool bootmagic_scan_keycode(uint8_t keycode) bool bootmagic_scan_keycode(uint8_t keycode)

+ 4
- 0
common/bootmagic.h Datei anzeigen

#define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1 #define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1
#define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2 #define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2
#define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3 #define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3
#define BOOTMAGIC_KEY_DEFAULT_LAYER_4 KC_4
#define BOOTMAGIC_KEY_DEFAULT_LAYER_5 KC_5
#define BOOTMAGIC_KEY_DEFAULT_LAYER_6 KC_6
#define BOOTMAGIC_KEY_DEFAULT_LAYER_7 KC_7




void bootmagic(void); void bootmagic(void);

+ 2
- 2
common/command.c Datei anzeigen

#ifdef BOOTMAGIC_ENABLE #ifdef BOOTMAGIC_ENABLE
static void print_eeconfig(void) static void print_eeconfig(void)
{ {
print("default_layer: "); print_dec(eeconfig_read_defalt_layer()); print("\n");
print("default_layer: "); print_dec(eeconfig_read_default_layer()); print("\n");


debug_config_t dc; debug_config_t dc;
dc.raw = eeconfig_read_debug(); dc.raw = eeconfig_read_debug();
{ {
print("switch_default_layer: "); print_dec(biton32(default_layer_state)); print("switch_default_layer: "); print_dec(biton32(default_layer_state));
print(" to "); print_dec(layer); print("\n"); print(" to "); print_dec(layer); print("\n");
default_layer_set(layer);
default_layer_set(1UL<<layer);
clear_keyboard(); clear_keyboard();
} }

+ 2
- 2
common/eeconfig.c Datei anzeigen

uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); } uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); }
void eeconfig_write_debug(uint8_t val) { eeprom_write_byte(EECONFIG_DEBUG, val); } void eeconfig_write_debug(uint8_t val) { eeprom_write_byte(EECONFIG_DEBUG, val); }


uint8_t eeconfig_read_defalt_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
void eeconfig_write_defalt_layer(uint8_t val) { eeprom_write_byte(EECONFIG_DEFAULT_LAYER, val); }
uint8_t eeconfig_read_default_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
void eeconfig_write_default_layer(uint8_t val) { eeprom_write_byte(EECONFIG_DEFAULT_LAYER, val); }


uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); } uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); }
void eeconfig_write_keymap(uint8_t val) { eeprom_write_byte(EECONFIG_KEYMAP, val); } void eeconfig_write_keymap(uint8_t val) { eeprom_write_byte(EECONFIG_KEYMAP, val); }

+ 2
- 2
common/eeconfig.h Datei anzeigen

uint8_t eeconfig_read_debug(void); uint8_t eeconfig_read_debug(void);
void eeconfig_write_debug(uint8_t val); void eeconfig_write_debug(uint8_t val);


uint8_t eeconfig_read_defalt_layer(void);
void eeconfig_write_defalt_layer(uint8_t val);
uint8_t eeconfig_read_default_layer(void);
void eeconfig_write_default_layer(uint8_t val);


uint8_t eeconfig_read_keymap(void); uint8_t eeconfig_read_keymap(void);
void eeconfig_write_keymap(uint8_t val); void eeconfig_write_keymap(uint8_t val);