~ruther/qmk_firmware

707d449ba0f69acbc0580e6f898fa2203ec992ba — Sid Carter 5 years ago ba13127
Project Keyboard Alice PCB - Indicator LEDs and keymap update  (#7442)

* allow main functions to be overridden

* update keymap to toggle keys and cleanup a bit

* allow main functions to be overridden

* update keymap to toggle keys and cleanup a bit

* get them lights working with the new setup

* disable console on my keymap, cause ARM and Linux, for now

* update keymap

* add home and end to the navigation

* thought this was redundant - update keyboards/projectkb/alice/alice.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
M keyboards/projectkb/alice/alice.c => keyboards/projectkb/alice/alice.c +7 -17
@@ 6,22 6,12 @@ void matrix_init_board(void){
    setPinOutput(A2);
}


void led_set_kb(uint8_t usb_led) {
    if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
        writePinLow(A0);
    } else {
        writePinHigh(A0);
    }
    if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
        writePinLow(A1);
    } else {
        writePinHigh(A1);
    }
    if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
        writePinLow(A2);
    } else {
        writePinHigh(A2);
bool led_update_kb(led_t led_state) {
    bool runDefault = led_update_user(led_state);
    if (runDefault) {
      writePin(A0, !led_state.num_lock);
      writePin(A1, !led_state.caps_lock);
      writePin(A2, !led_state.scroll_lock);
    }
    led_set_user(usb_led);
    return runDefault;
}

M keyboards/projectkb/alice/keymaps/madhatter/keymap.c => keyboards/projectkb/alice/keymaps/madhatter/keymap.c +36 -12
@@ 23,17 23,16 @@ enum my_layers {
};

#define FNMS MO(_FNMS)
#define SPCNAV LT(_NAVMED, KC_SPC)
#define CAPSTL CTL_T(KC_CAPS)
#define CMDENT CMD_T(KC_ENT)
#define NAVMED MO(_NAVMED)
#define CAP_CTL CTL_T(KC_CAPS)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_QWERTY] = LAYOUT_default(
    KC_GESC, KC_GRV,  KC_1,  KC_2,    KC_3,   KC_4,    KC_5,  KC_6,  KC_7,   KC_8,  KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_DEL,  KC_BSPC,
    KC_PGUP, KC_TAB,  KC_Q,  KC_W,    KC_E,   KC_R,    KC_T,         KC_Y,   KC_U,  KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,
    KC_PGDN, CAPSTL,  KC_A,  KC_S,    KC_D,   KC_F,    KC_G,         KC_H,   KC_J,  KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
    KC_GESC, KC_GRV,  KC_1,  KC_2,    KC_3,   KC_4,    KC_5,  KC_6,  KC_7,   KC_8,  KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_DEL,
    KC_PGUP, KC_TAB,  KC_Q,  KC_W,    KC_E,   KC_R,    KC_T,         KC_Y,   KC_U,  KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,
    KC_PGDN, CAP_CTL, KC_A,  KC_S,    KC_D,   KC_F,    KC_G,         KC_H,   KC_J,  KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
             KC_LSFT, KC_Z,  KC_X,    KC_C,   KC_V,    KC_B,         KC_B,   KC_N,  KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, FNMS,
             KC_LCTL,              KC_LALT,     CMDENT, FNMS,          SPCNAV,       KC_RALT,                              KC_RCTL
             KC_LCTL,              KC_LALT,    KC_LCMD, NAVMED,       KC_SPC,        KC_RALT,                              KC_RCTL
  ),

  [_FNMS] = LAYOUT_default(


@@ 41,15 40,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    RGB_MOD, _______, _______, _______, _______, _______, _______,        _______, _______, KC_MS_U, _______, _______, _______, _______, RESET,
    VLK_TOG, _______, _______, _______, _______, _______, _______,        KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______,         _______,
             _______, BL_INC,   BL_DEC, BL_TOGG, BL_BRTG, _______,        RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______,
             _______,                   _______,  _______, _______,         _______,          _______,                        _______
             AG_TOGG,                   _______,  _______, _______,        _______,          _______,                        _______
  ),

  [_NAVMED] = LAYOUT_default(
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______, _______, KC_MPLY,        KC_MSTP, _______,   KC_UP, _______, _______, _______, _______, RESET,
    _______, _______, _______, _______, _______, _______, KC_VOLU,        KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,         EEP_RST,
             _______, _______, _______, _______, _______, _______,        _______, _______, _______, _______, _______, _______, _______, _______,
             _______,                   _______,  _______, _______,         _______,          _______,                        _______
    KC_HOME, _______, _______, _______, _______, _______, _______,        _______, _______,   KC_UP, _______, _______, _______, _______, RESET,
    KC_END,  _______, _______, _______, _______, _______, KC_MPLY,        _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,         EEP_RST,
             _______, _______, _______, _______, _______, KC_VOLD,        KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
             _______,                   _______,  _______, _______,        _______,          _______,                        _______
  )
};

static uint8_t top = 0;
static uint8_t middle = 0;
static uint8_t bottom = 1;

layer_state_t layer_state_set_user(layer_state_t state) {
    top = middle = bottom = 0;
    switch (get_highest_layer(state)) {
      case _NAVMED:
          top = 1;
          break;
      case _FNMS:
          middle = 1;
          break;
      default:
        break;
    }
  return state;
}

bool led_update_user(led_t usb_led) {
    writePin(A0, !top);
    writePin(A1, !middle);
    writePin(A2, !bottom);
    return false;
}

M keyboards/projectkb/alice/keymaps/madhatter/rules.mk => keyboards/projectkb/alice/keymaps/madhatter/rules.mk +1 -0
@@ 1,1 1,2 @@
VELOCIKEY_ENABLE = yes
CONSOLE_ENABLE = no