fl16/macropad: Make numpad layout the default

And put RGB controls on the numlock layer.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
This commit is contained in:
Daniel Schaefer 2023-11-17 14:50:51 +08:00
parent dae3cbe572
commit 64d541cc0c
3 changed files with 68 additions and 42 deletions

View File

@ -6,58 +6,58 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*
* 4 keys RGB RGB Nxt RGB + Sleep
* Toggle Effect Brightn
*
* 4 keys Numpad RGB Prv RGB - RGB BL
* Layer Effect Brightn Step
*
* 4 keys RGB + RGB + RGB + <--
* Hue Sat Speed
*
* 4 keys RGB - RGB - RGB - Enter
* Hue Sat Speed
*
* 4 keys Up
*
*
* 4 keys Left Down Right
*
*
* 24 total
*/
[0] = LAYOUT(
RGB_TOG, RGB_MOD, RGB_VAI, KC_SLEP,
TG(1), RGB_RMOD,RGB_VAD, BL_STEP,
RGB_HUI, RGB_SAI, RGB_SPI, KC_BSPC,
RGB_HUD, RGB_SAD, RGB_SPD, KC_ENT,
XXXXXXX, KC_UP, XXXXXXX, XXXXXXX,
KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX
),
/* Numpad
*
* 4 keys Esc Calc = <-
*
* 4 keys / * -
* 4 keys Num / * -
*
* 4 keys 7 8 9 +
* 3 keys 7 8 9 +
*
* 4 keys 4 5 6 +
*
* 4 keys 1 2 3 Entr
* 3 keys 1 2 3 Entr
*
* 4 keys 0 0 . Entr
*
* 24 total
* 3 keys 0 0 . Entr
*
* 21 total
*/
[1] = LAYOUT(
[_NUMLOCK] = LAYOUT(
KC_ESC, KC_CALC, KC_EQL, KC_BSPC,
_______, KC_PSLS, KC_PAST, KC_PMNS,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_P0, KC_PDOT, KC_PENT
),
/*
*
* 4 keys RGB RGB + RGB + RGB +
* Toggle Speed Hue Sat
*
* 4 keys Numlock RGB - RGB - RGB -
* Speed Hue Sat
*
* 4 keys Home Page RGB Nxt
* Up Effect
*
* 4 keys RGB Prv
* Effect
*
* 4 keys End Page BL
* Down Step
*
* 4 keys Insert Insert Delete BL
* Step
*
* 24 total
*/
[_FN] = LAYOUT(
RGB_TOG, RGB_SPI, RGB_HUI, RGB_SAI,
_______, RGB_SPD, RGB_HUD, RGB_SAD,
_______, _______, _______, RGB_MOD,
_______, _______, _______, RGB_RMOD,
_______, _______, _______, BL_STEP,
_______, _______, _______, BL_STEP
),
/* Alphabet
*
@ -75,19 +75,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
* 24 total
*/
[2] = LAYOUT(
[_FACTORY] = LAYOUT(
KC_A, KC_B, KC_C, KC_D,
KC_E, KC_F, KC_G, KC_H,
KC_I, KC_J, KC_K, KC_L,
KC_M, KC_N, KC_O, KC_P,
KC_Q, KC_R, KC_S, KC_T,
KC_U, KC_V, KC_W, KC_X
)
),
};
bool led_update_user(led_t led_state) {
// Change layer if numlock state changes, either triggered by OS or
// by numlock key on this keyboard
if (led_state.num_lock) {
layer_off(_FN);
} else {
layer_on(_FN);
}
return true;
}
void enable_factory_mode(bool enable) {
if (enable)
layer_on(2);
layer_on(_FACTORY);
else
layer_off(2);
layer_off(_FACTORY);
}

View File

@ -79,3 +79,12 @@ led_config_t g_led_config = { {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4
} };
void keyboard_post_init_user(void) {
// Sync initial numlock state from the host
if (host_keyboard_led_state().num_lock) {
layer_on(_NUMLOCK);
} else {
layer_off(_FN);
}
}

View File

@ -15,3 +15,9 @@
{ K108, H1, H2, KC_NO, H4, K107, K109, K110 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, H3, KC_NO, KC_NO, KC_NO }, \
}
enum _layers {
_NUMLOCK,
_FN,
_FACTORY,
};