Ver Fonte

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>
Sid Carter há 5 anos atrás
pai
commit
707d449ba0

+ 7 - 17
keyboards/projectkb/alice/alice.c

@@ -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;
 }

+ 36 - 12
keyboards/projectkb/alice/keymaps/madhatter/keymap.c

@@ -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;
+}

+ 1 - 0
keyboards/projectkb/alice/keymaps/madhatter/rules.mk

@@ -1 +1,2 @@
 VELOCIKEY_ENABLE = yes
+CONSOLE_ENABLE = no