]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keyboard] Z-150 Blackheart refactor (#5823)
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>
Sun, 12 May 2019 05:16:07 +0000 (22:16 -0700)
committerDrashna Jaelre <drashna@live.com>
Sun, 12 May 2019 05:16:07 +0000 (22:16 -0700)
* Fix white space on z150_blackheart.h

* Update z150_blackheart.h to use #pragma once include guard

* Update z150_blackheart.h to use QMK-preferred K<row><col> notation

* Add QMK Configurator support

* Refactor the keymaps

- refactor the keymaps into separate files for each layout macro
- give credit where credit is due
- white space update (four-space indent)

* Make Hardware Availability link in readme a rich text link

* Convert LED indicators to GPIO commands

* Elevate Indicator LED set-up and toggling to keyboard level

keyboards/z150_blackheart/info.json [new file with mode: 0644]
keyboards/z150_blackheart/keymaps/default/keymap.c
keyboards/z150_blackheart/keymaps/default_tkl/keymap.c [new file with mode: 0644]
keyboards/z150_blackheart/readme.md
keyboards/z150_blackheart/z150_blackheart.c
keyboards/z150_blackheart/z150_blackheart.h

diff --git a/keyboards/z150_blackheart/info.json b/keyboards/z150_blackheart/info.json
new file mode 100644 (file)
index 0000000..0166412
--- /dev/null
@@ -0,0 +1,191 @@
+{
+    "keyboard_name": "Z-150 Blackheart",
+    "url": "",
+    "maintainer": "qmk, blindassassin111",
+    "width": 21.25,
+    "height": 5,
+    "layouts": {
+        "LAYOUT": {
+            "key_count": 84,
+            "layout": [
+                {"label":"F1", "x":0, "y":0},
+                {"label":"F2", "x":1, "y":0},
+                {"label":"Esc", "x":2.5, "y":0},
+                {"label":"!", "x":3.5, "y":0},
+                {"label":"@", "x":4.5, "y":0},
+                {"label":"#", "x":5.5, "y":0},
+                {"label":"$", "x":6.5, "y":0},
+                {"label":"%", "x":7.5, "y":0},
+                {"label":"^", "x":8.5, "y":0},
+                {"label":"&", "x":9.5, "y":0},
+                {"label":"*", "x":10.5, "y":0},
+                {"label":"(", "x":11.5, "y":0},
+                {"label":")", "x":12.5, "y":0},
+                {"label":"_", "x":13.5, "y":0},
+                {"label":"+", "x":14.5, "y":0},
+                {"label":"Backspace", "x":15.5, "y":0, "w":1.75},
+                {"label":"Num Lock", "x":17.25, "y":0},
+                {"label":"Scroll Lock", "x":18.25, "y":0, "w":1.5},
+                {"label":"Sys Req", "x":19.75, "y":0, "w":1.5},
+                {"label":"F3", "x":0, "y":1},
+                {"label":"F4", "x":1, "y":1},
+                {"label":"Tab", "x":2.5, "y":1, "w":1.5},
+                {"label":"Q", "x":4, "y":1},
+                {"label":"W", "x":5, "y":1},
+                {"label":"E", "x":6, "y":1},
+                {"label":"R", "x":7, "y":1},
+                {"label":"T", "x":8, "y":1},
+                {"label":"Y", "x":9, "y":1},
+                {"label":"U", "x":10, "y":1},
+                {"label":"I", "x":11, "y":1},
+                {"label":"O", "x":12, "y":1},
+                {"label":"P", "x":13, "y":1},
+                {"label":"{", "x":14, "y":1},
+                {"label":"}", "x":15, "y":1, "w":1.25},
+                {"label":"Enter", "x":15.25, "y":2, "w":2},
+                {"label":"7", "x":17.25, "y":1},
+                {"label":"8", "x":18.25, "y":1},
+                {"label":"9", "x":19.25, "y":1},
+                {"label":"PrtSc", "x":20.25, "y":1},
+                {"label":"F5", "x":0, "y":2},
+                {"label":"F6", "x":1, "y":2},
+                {"label":"Ctrl", "x":2.5, "y":2, "w":1.75},
+                {"label":"A", "x":4.25, "y":2},
+                {"label":"S", "x":5.25, "y":2},
+                {"label":"D", "x":6.25, "y":2},
+                {"label":"F", "x":7.25, "y":2},
+                {"label":"G", "x":8.25, "y":2},
+                {"label":"H", "x":9.25, "y":2},
+                {"label":"J", "x":10.25, "y":2},
+                {"label":"K", "x":11.25, "y":2},
+                {"label":"L", "x":12.25, "y":2},
+                {"label":":", "x":13.25, "y":2},
+                {"label":"\"", "x":14.25, "y":2},
+                {"label":"4", "x":17.25, "y":2},
+                {"label":"5", "x":18.25, "y":2},
+                {"label":"6", "x":19.25, "y":2},
+                {"label":"-", "x":20.25, "y":2},
+                {"label":"F7", "x":0, "y":3},
+                {"label":"F8", "x":1, "y":3},
+                {"label":"Shift", "x":2.5, "y":3, "w":2.25},
+                {"label":"Z", "x":4.75, "y":3},
+                {"label":"X", "x":5.75, "y":3},
+                {"label":"C", "x":6.75, "y":3},
+                {"label":"V", "x":7.75, "y":3},
+                {"label":"B", "x":8.75, "y":3},
+                {"label":"N", "x":9.75, "y":3},
+                {"label":"M", "x":10.75, "y":3},
+                {"label":"<", "x":11.75, "y":3},
+                {"label":">", "x":12.75, "y":3},
+                {"label":"?", "x":13.75, "y":3},
+                {"label":"Shift", "x":14.75, "y":3, "w":1.5},
+                {"label":"|", "x":16.25, "y":3},
+                {"label":"1", "x":17.25, "y":3},
+                {"label":"2", "x":18.25, "y":3},
+                {"label":"3", "x":19.25, "y":3},
+                {"label":"+", "x":20.25, "y":3, "h":2},
+                {"label":"F9", "x":0, "y":4},
+                {"label":"F10", "x":1, "y":4},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.75},
+                {"label":"~", "x":4.25, "y":4},
+                {"label":"Space", "x":5.25, "y":4, "w":9},
+                {"label":"Caps Lock", "x":14.25, "y":4, "w":2},
+                {"label":"0", "x":16.25, "y":4, "w":2},
+                {"label":".", "x":18.25, "y":4, "w":2}
+            ]
+        },
+        "LAYOUT_z150_tkl": {
+            "key_count": 88,
+            "layout": [
+                {"label":"F1", "x":0, "y":0},
+                {"label":"F2", "x":1, "y":0},
+                {"label":"Esc", "x":2.5, "y":0},
+                {"label":"1", "x":3.5, "y":0},
+                {"label":"2", "x":4.5, "y":0},
+                {"label":"3", "x":5.5, "y":0},
+                {"label":"4", "x":6.5, "y":0},
+                {"label":"5", "x":7.5, "y":0},
+                {"label":"6", "x":8.5, "y":0},
+                {"label":"7", "x":9.5, "y":0},
+                {"label":"8", "x":10.5, "y":0},
+                {"label":"9", "x":11.5, "y":0},
+                {"label":"0", "x":12.5, "y":0},
+                {"label":"-", "x":13.5, "y":0},
+                {"label":"=", "x":14.5, "y":0},
+                {"label":"Backspace", "x":15.5, "y":0, "w":2},
+                {"label":"Insert", "x":18.25, "y":0},
+                {"label":"Home", "x":19.25, "y":0},
+                {"label":"PgUp", "x":20.25, "y":0},
+                {"label":"F3", "x":0, "y":1},
+                {"label":"F4", "x":1, "y":1},
+                {"label":"Tab", "x":2.5, "y":1, "w":1.5},
+                {"label":"Q", "x":4, "y":1},
+                {"label":"W", "x":5, "y":1},
+                {"label":"E", "x":6, "y":1},
+                {"label":"R", "x":7, "y":1},
+                {"label":"T", "x":8, "y":1},
+                {"label":"Y", "x":9, "y":1},
+                {"label":"U", "x":10, "y":1},
+                {"label":"I", "x":11, "y":1},
+                {"label":"O", "x":12, "y":1},
+                {"label":"P", "x":13, "y":1},
+                {"label":"[", "x":14, "y":1},
+                {"label":"]", "x":15, "y":1},
+                {"label":"\\", "x":16, "y":1, "w":1.5},
+                {"label":"Delete", "x":18.25, "y":1},
+                {"label":"End", "x":19.25, "y":1},
+                {"label":"PgDn", "x":20.25, "y":1},
+                {"label":"F5", "x":0, "y":2},
+                {"label":"F6", "x":1, "y":2},
+                {"label":"Caps Lock", "x":2.5, "y":2, "w":1.75},
+                {"label":"A", "x":4.25, "y":2},
+                {"label":"S", "x":5.25, "y":2},
+                {"label":"D", "x":6.25, "y":2},
+                {"label":"F", "x":7.25, "y":2},
+                {"label":"G", "x":8.25, "y":2},
+                {"label":"H", "x":9.25, "y":2},
+                {"label":"J", "x":10.25, "y":2},
+                {"label":"K", "x":11.25, "y":2},
+                {"label":"L", "x":12.25, "y":2},
+                {"label":";", "x":13.25, "y":2},
+                {"label":"'", "x":14.25, "y":2},
+                {"label":"Enter", "x":15.25, "y":2, "w":2.25},
+                {"x":18.25, "y":2},
+                {"x":19.25, "y":2},
+                {"x":20.25, "y":2},
+                {"label":"F7", "x":0, "y":3},
+                {"label":"F8", "x":1, "y":3},
+                {"label":"Shift", "x":2.5, "y":3, "w":1.25},
+                {"label":"ISO \\", "x":3.75, "y":3},
+                {"label":"Z", "x":4.75, "y":3},
+                {"label":"X", "x":5.75, "y":3},
+                {"label":"C", "x":6.75, "y":3},
+                {"label":"V", "x":7.75, "y":3},
+                {"label":"B", "x":8.75, "y":3},
+                {"label":"N", "x":9.75, "y":3},
+                {"label":"M", "x":10.75, "y":3},
+                {"label":",", "x":11.75, "y":3},
+                {"label":".", "x":12.75, "y":3},
+                {"label":"/", "x":13.75, "y":3},
+                {"label":"Shift", "x":14.75, "y":3, "w":1.75},
+                {"label":"Fn", "x":16.5, "y":3},
+                {"x":18.25, "y":3},
+                {"label":"Up", "x":19.25, "y":3},
+                {"x":20.25, "y":3},
+                {"label":"F9", "x":0, "y":4},
+                {"label":"F10", "x":1, "y":4},
+                {"label":"Ctrl", "x":2.5, "y":4, "w":1.25},
+                {"label":"Win", "x":3.75, "y":4, "w":1.25},
+                {"label":"Alt", "x":5, "y":4, "w":1.25},
+                {"label":"Space", "x":6.25, "y":4, "w":6.25},
+                {"label":"Alt", "x":12.5, "y":4, "w":1.25},
+                {"label":"Win", "x":13.75, "y":4, "w":1.25},
+                {"label":"Menu", "x":15, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":16.25, "y":4, "w":1.25},
+                {"label":"Left", "x":18.25, "y":4},
+                {"label":"Down", "x":19.25, "y":4},
+                {"label":"Right", "x":20.25, "y":4}
+            ]
+        }
+    }
+}
index e93802052a5c895bf9acca65d378607db7c3e3cb..ff4f6f7f9d6faa8e8149e86d86edeba9cc97ba16 100644 (file)
@@ -1,38 +1,37 @@
+/* Copyright 2018 blindassassin111
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
 #include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-       LAYOUT(
-               KC_F1,  KC_F2,          KC_ESC,  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_BSPC,              KC_NLCK,        KC_SLCK,        MO(1), 
-               KC_F3,  KC_F4,          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_ENT,               KC_P7,   KC_P8,   KC_P9,        KC_PAST,
-               KC_F5,  KC_F6,          KC_LCTRL,KC_A,   KC_S,  KC_D,    KC_F,  KC_G,   KC_H,   KC_J,   KC_K,   KC_L,  KC_SCLN, KC_QUOT,                                                KC_P4,   KC_P5,   KC_P6,        KC_PMNS,
-               KC_F7,  KC_F8,          KC_LSFT, KC_Z,   KC_X,  KC_C,    KC_V,  KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT,KC_SLSH, KC_RSFT, KC_BSLS,                               KC_P1,   KC_P2,   KC_P3,    KC_PPLS,
-               KC_F9,  KC_F10,         KC_LALT, KC_GRV,                                                        KC_SPC,                                                                                          KC_CAPS,                                       KC_P0,   KC_PDOT
-               ),
-
-       LAYOUT(
-               _______, _______,        RESET,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,           _______,        _______,  _______, 
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,           _______, _______, _______, _______,
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                                             _______, _______, _______, _______,
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______,
-               _______, _______,       _______, _______,                                                               _______,                                                                                _______,                                                                _______,        _______
-               ),
-
-       LAYOUT_z150_tkl(
-               KC_F1,  KC_F2,          KC_ESC,  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_BSPC,                KC_INS,  KC_HOME, KC_PGUP, 
-               KC_F3,  KC_F4,          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_DEL,  KC_END,  KC_PGDN, 
-               KC_F5,  KC_F6,          KC_CAPS, KC_A,    KC_S,   KC_D,          KC_F,  KC_G,   KC_H, KC_J, KC_K,        KC_L,   KC_SCLN, KC_QUOT, KC_ENT,                                      XXXXXXX, XXXXXXX, XXXXXXX, 
-               KC_F7,  KC_F8,          KC_LSFT, KC_BSLS, KC_Z,   KC_X,      KC_C,      KC_V,   KC_B, KC_N, KC_M,    KC_COMM,KC_DOT,  KC_SLSH, KC_RSFT, MO(1),                  XXXXXXX, KC_UP,   XXXXXXX, 
-               KC_F9,  KC_F10,         KC_LCTL, KC_LGUI, KC_LALT,                              KC_SPC,                                                          KC_RALT, KC_RGUI, KC_MENU, KC_RCTL,                    KC_LEFT, KC_DOWN, KC_RGHT
-               ),
-
-       LAYOUT_z150_tkl(
-               _______, _______,        RESET,  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, 
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, 
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                                    _______, _______, _______, 
-               _______, _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                                    _______, _______, _______, 
-               _______, _______,       _______, _______, _______, _______,             _______,                                        _______, _______, _______, _______,                     _______, _______, _______
-               ),
+    [0] = LAYOUT(
+        KC_F1,   KC_F2,     KC_ESC,  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_BSPC,   KC_NLCK,     KC_SLCK, MO(1),
+        KC_F3,   KC_F4,     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_ENT,    KC_P7,   KC_P8,   KC_P9,   KC_PAST,
+        KC_F5,   KC_F6,     KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,                     KC_P4,   KC_P5,   KC_P6,   KC_PMNS,
+        KC_F7,   KC_F8,     KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_BSLS,            KC_P1,   KC_P2,   KC_P3,   KC_PPLS,
+        KC_F9,   KC_F10,    KC_LALT, KC_GRV,                             KC_SPC,                                                        KC_CAPS,                KC_P0,            KC_PDOT
+    ),
+
+    [1] = LAYOUT(
+        _______, _______,   RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,   _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                     _______, _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______, _______,
+        _______, _______,   _______, _______,                            _______,                                                       _______,                _______,          _______
+    ),
 };
 
 void matrix_init_user(void) {
@@ -42,28 +41,8 @@ void matrix_scan_user(void) {
 }
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-       return true;
+    return true;
 }
 
 void led_set_user(uint8_t usb_led) {
-  DDRB |= (1 << 0);
-  DDRE |= (1 << 6) | (1 << 7);
-
-  if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-    PORTE |= (1 << 7);
-  } else {
-    PORTE &= ~(1 << 7);
-  }
-
-  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-    PORTB |= (1 << 0);
-  } else {
-    PORTB &= ~(1 << 0);
-  }
-
-  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-    PORTE |= (1 << 6);
-  } else {
-    PORTE &= ~(1 << 6);
-  }
 }
\ No newline at end of file
diff --git a/keyboards/z150_blackheart/keymaps/default_tkl/keymap.c b/keyboards/z150_blackheart/keymaps/default_tkl/keymap.c
new file mode 100644 (file)
index 0000000..f1a24b8
--- /dev/null
@@ -0,0 +1,48 @@
+/* Copyright 2018 blindassassin111
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    [0] = LAYOUT_z150_tkl(
+        KC_F1,   KC_F2,     KC_ESC,  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_BSPC,     KC_INS,  KC_HOME, KC_PGUP,
+        KC_F3,   KC_F4,     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_DEL,  KC_END,  KC_PGDN,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,               XXXXXXX, XXXXXXX, XXXXXXX,
+        KC_F7,   KC_F8,     KC_LSFT, KC_BSLS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),       XXXXXXX, KC_UP,   XXXXXXX,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, KC_MENU, KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+
+    [1] = LAYOUT_z150_tkl(
+        _______, _______,   RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,              _______, _______, _______,
+        _______, _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______,
+        _______, _______,   _______, _______, _______,                            _______,                            _______, _______, _______, _______,     _______, _______, _______
+    ),
+};
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+}
\ No newline at end of file
index 5e87b6c8f382db84dd911891f52438fc3df24935..331f85694e366d007a362f67552d092c61f228a2 100644 (file)
@@ -5,7 +5,7 @@ A replacement PCB for Zenith Z-150 keyboards.
 
 Keyboard Maintainer: QMK Community and blindassassin111  
 Hardware Supported: Z-150 blackheart PCB  
-Hardware Availability: https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html
+Hardware Availability: [Deskthority Group Buy](https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html)
 
 Make example for this keyboard (after setting up your build environment):
 
index 10f388cf62d9b884aec4f205ab5d1f7783605922..b754c64a12a11d0c1b6a415a258537c3be557963 100644 (file)
@@ -1 +1,32 @@
 #include "z150_blackheart.h"
+
+void matrix_init_kb(void) {
+    setPinOutput(B0);
+    setPinOutput(E6);
+    setPinOutput(E7);
+
+    matrix_init_user();
+};
+
+void led_set_kb(uint8_t usb_led) {
+    // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+    if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
+        writePinHigh(E7);
+    } else {
+        writePinLow(E7);
+    }
+
+    if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
+        writePinHigh(B0);
+    } else {
+        writePinLow(B0);
+    }
+
+    if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
+        writePinHigh(E6);
+    } else {
+        writePinLow(E6);
+    }
+
+    led_set_user(usb_led);
+}
index baf187fd2d116e05d7f1e5c8f2afcda0240f7dfd..f97ac1c0358e25d2c02505f79e174198c4cb4248 100644 (file)
@@ -1,34 +1,31 @@
-#ifndef z150_blackheart_H
-#define z150_blackheart_H
+#pragma once
 
 #include "quantum.h"
 
 #define LAYOUT( \
-       K000, K001,     K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015,     K016,    K017, K019, \
-       K100, K101,     K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115,     K116, K117, K118, K119, \
-       K200, K201,     K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,                         K215, K216, K217, K218, \
-       K300, K301,     K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,                   K315, K316, K317, K318, \
-       K400, K401,     K402, K403,                           K407,                                                K414,                        K415,      K417 \
+    K00, K01,     K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F,     K0G,   K0H, K0J,    \
+    K10, K11,     K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F,     K1G, K1H, K1I, K1J, \
+    K20, K21,     K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,               K2F, K2G, K2H, K2I, \
+    K30, K31,     K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,          K3F, K3G, K3H, K3I, \
+    K40, K41,     K42, K43,                K47,                                 K4E,          K4F,      K4H     \
 ) { \
-       { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  KC_NO, K019 }, \
-       { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119 }, \
-       { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  KC_NO, K215,  K216,  K217,  K218,  KC_NO }, \
-       { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  K315,  K316,  K317,  K318,  KC_NO }, \
-       { K400,  K401,  K402,  K403,  KC_NO, KC_NO, KC_NO, K407,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,  K414,  K415, KC_NO, K417,  KC_NO, KC_NO }  \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G,   K0H,   KC_NO, K0J   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G,   K1H,   K1I,   K1J   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   KC_NO, K2F,   K2G,   K2H,   K2I,   KC_NO }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E,   K3F,   K3G,   K3H,   K3I,   KC_NO }, \
+    { K40,   K41,   K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K4E,   K4F,   KC_NO, K4H,   KC_NO, KC_NO }  \
 }
 
 #define LAYOUT_z150_tkl( \
-       K000, K001,     K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015,       K017, K018, K019, \
-       K100, K101,     K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115,       K117, K118, K119, \
-       K200, K201,     K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214,             K216, K217, K218, \
-       K300, K301,     K302, K405, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,       K316, K317, K318, \
-       K400, K401,     K402, K403, K404,                 K407,                         K412, K413, K414, K415,           K416, K417, K418  \
+    K00, K01,     K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F,     K0H, K0I, K0J, \
+    K10, K11,     K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F,     K1H, K1I, K1J, \
+    K20, K21,     K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,          K2G, K2H, K2I, \
+    K30, K31,     K32, K45, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,     K3G, K3H, K3I, \
+    K40, K41,     K42, K43, K44,                K47,                K4C, K4D, K4E, K4F,     K4G, K4H, K4I  \
 ) { \
-       { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015,  KC_NO, K017,  K018,  K019 }, \
-       { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115,  KC_NO, K117,  K118,  K119 }, \
-       { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  KC_NO, K216,  K217,  K218,  KC_NO }, \
-       { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  KC_NO, K316,  K317,  K318,  KC_NO }, \
-       { K400,  K401,  K402,  K403,  K404,  K405,  KC_NO, K407,  KC_NO, KC_NO, KC_NO, KC_NO, K412,  K413,  K414,  K415,  K416,  K417,  K418,  KC_NO }  \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   KC_NO, K0H,   K0I,   K0J   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   KC_NO, K1H,   K1I,   K1J   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   KC_NO, K2G,   K2H,   K2I,   KC_NO }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E,   KC_NO, K3G,   K3H,   K3I,   KC_NO }, \
+    { K40,   K41,   K42,   K43,   K44,   K45,   KC_NO, K47,   KC_NO, KC_NO, KC_NO, KC_NO, K4C,   K4D,   K4E,   K4F,   K4G,   K4H,   K4I,   KC_NO }  \
 }
-
-#endif
\ No newline at end of file