소스 검색

Molecule: Layout Macro Refactor (#13453)

James Young 4 년 전
부모
커밋
673a5b0ea2
3개의 변경된 파일85개의 추가작업 그리고 212개의 파일을 삭제
  1. 45 203
      keyboards/molecule/info.json
  2. 35 5
      keyboards/molecule/keymaps/default/keymap.c
  3. 5 4
      keyboards/molecule/molecule.h

+ 45 - 203
keyboards/molecule/info.json

@@ -7,209 +7,51 @@
     "layouts": {
         "LAYOUT": {
             "layout": [
-                {
-                   "label":"E",
-                   "x":2,
-                   "y":0
-                },
-                {
-                   "label":"I",
-                   "x":11.75,
-                   "y":0
-                },
-                {
-                   "label":"W",
-                   "x":1,
-                   "y":0.25
-                },
-                {
-                   "label":"O",
-                   "x":12.75,
-                   "y":0.25
-                },
-                {
-                   "label":"R",
-                   "x":3,
-                   "y":0.5
-                },
-                {
-                   "label":"U",
-                   "x":10.75,
-                   "y":0.5
-                },
-                {
-                   "label":"T",
-                   "x":4,
-                   "y":0.75
-                },
-                {
-                   "label":"Y",
-                   "x":9.75,
-                   "y":0.75
-                },
-                {
-                   "label":"Q",
-                   "x":0,
-                   "y":1
-                },
-                {
-                   "label":"D",
-                   "x":2,
-                   "y":1
-                },
-                {
-                   "label":"K",
-                   "x":11.75,
-                   "y":1
-                },
-                {
-                   "label":"P",
-                   "x":13.75,
-                   "y":1
-                },
-                {
-                   "label":"S",
-                   "x":1,
-                   "y":1.25
-                },
-                {
-                   "label":"L",
-                   "x":12.75,
-                   "y":1.25
-                },
-                {
-                   "label":"F",
-                   "x":3,
-                   "y":1.5
-                },
-                {
-                   "label":"J",
-                   "x":10.75,
-                   "y":1.5
-                },
-                {
-                   "label":"G",
-                   "x":4,
-                   "y":1.75
-                },
-                {
-                   "label":"H",
-                   "x":9.75,
-                   "y":1.75
-                },
-                {
-                   "label":"A",
-                   "x":0,
-                   "y":2
-                },
-                {
-                   "label":"C",
-                   "x":2,
-                   "y":2
-                },
-                {
-                   "label":",",
-                   "x":11.75,
-                   "y":2
-                },
-                {
-                   "label":";",
-                   "x":13.75,
-                   "y":2
-                },
-                {
-                   "label":"X",
-                   "x":1,
-                   "y":2.25
-                },
-                {
-                   "label":".",
-                   "x":12.75,
-                   "y":2.25
-                },
-                {
-                   "label":"V",
-                   "x":3,
-                   "y":2.5
-                },
-                {
-                   "label":"M",
-                   "x":10.75,
-                   "y":2.5
-                },
-                {
-                   "label":"B",
-                   "x":4,
-                   "y":2.75
-                },
-                {
-                   "label":"N",
-                   "x":9.75,
-                   "y":2.75
-                },
-                {
-                   "label":"Z",
-                   "x":0,
-                   "y":3
-                },
-                {
-                   "label":"Shift",
-                   "x":2,
-                   "y":3
-                },
-                {
-                   "label":"Alt",
-                   "x":5.25,
-                   "y":3
-                },
-                {
-                   "label":"Super",
-                   "x":8.5,
-                   "y":3
-                },
-                {
-                   "label":"Shift",
-                   "x":11.75,
-                   "y":3
-                },
-                {
-                   "label":"/",
-                   "x":13.75,
-                   "y":3
-                },
-                {
-                   "label":"Ctrl",
-                   "x":1,
-                   "y":3.25
-                },
-                {
-                   "label":"Space",
-                   "x":6.25,
-                   "y":3.25,
-                   "h":1.5
-                },
-                {
-                   "label":"Enter",
-                   "x":7.5,
-                   "y":3.25,
-                   "h":1.5
-                },
-                {
-                   "label":"Ctrl",
-                   "x":12.75,
-                   "y":3.25
-                },
-                {
-                   "label":"Lower",
-                   "x":5.25,
-                   "y":4
-                },
-                {
-                   "label":"Raise",
-                   "x":8.5,
-                   "y":4
-                }
+                {"label":"Q", "x":0, "y":1},
+                {"label":"W", "x":1, "y":0.25},
+                {"label":"E", "x":2, "y":0},
+                {"label":"R", "x":3, "y":0.5},
+                {"label":"T", "x":4, "y":0.75},
+                {"label":"Y", "x":9.75, "y":0.75},
+                {"label":"U", "x":10.75, "y":0.5},
+                {"label":"I", "x":11.75, "y":0},
+                {"label":"O", "x":12.75, "y":0.25},
+                {"label":"P", "x":13.75, "y":1},
+
+                {"label":"A", "x":0, "y":2},
+                {"label":"S", "x":1, "y":1.25},
+                {"label":"D", "x":2, "y":1},
+                {"label":"F", "x":3, "y":1.5},
+                {"label":"G", "x":4, "y":1.75},
+                {"label":"H", "x":9.75, "y":1.75},
+                {"label":"J", "x":10.75, "y":1.5},
+                {"label":"K", "x":11.75, "y":1},
+                {"label":"L", "x":12.75, "y":1.25},
+                {"label":";", "x":13.75, "y":2},
+
+                {"label":"Z", "x":0, "y":3},
+                {"label":"X", "x":1, "y":2.25},
+                {"label":"C", "x":2, "y":2},
+                {"label":"V", "x":3, "y":2.5},
+                {"label":"B", "x":4, "y":2.75},
+                {"label":"N", "x":9.75, "y":2.75},
+                {"label":"M", "x":10.75, "y":2.5},
+                {"label":",", "x":11.75, "y":2},
+                {"label":".", "x":12.75, "y":2.25},
+                {"label":"/", "x":13.75, "y":3},
+
+                {"label":"Ctrl", "x":1, "y":3.25},
+                {"label":"Shift", "x":2, "y":3},
+                {"label":"Alt", "x":5.25, "y":3},
+                {"label":"Space", "x":6.25, "y":3.25, "h":1.5},
+                {"label":"Enter", "x":7.5, "y":3.25, "h":1.5},
+                {"label":"Super", "x":8.5, "y":3},
+                {"label":"Shift", "x":11.75, "y":3},
+                {"label":"Ctrl", "x":12.75, "y":3.25},
+
+                {"label":"Lower", "x":5.25, "y":4},
+                {"label":"Raise", "x":8.5, "y":4}
             ]
         }
     }
-}
+}

+ 35 - 5
keyboards/molecule/keymaps/default/keymap.c

@@ -31,9 +31,39 @@ enum custom_keycodes {
 };
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-        [_QWERTY_BASE] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL, KC_LSFT, MO(2), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(3), KC_RSFT, KC_RCTL),
-        [_EUCALYN_BASE] = LAYOUT(KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN, KC_M, KC_R, KC_D, KC_Y, KC_P, KC_A, KC_O, KC_E, KC_I, KC_U, KC_G, KC_T, KC_K, KC_S, KC_N, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_B, KC_H, KC_J, KC_L, KC_SLSH, KC_LCTL, KC_LSFT, MO(2), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(3), KC_RSFT, KC_RCTL),
-        [_LOWER] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F2, KC_F3, KC_WH_U, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F8, KC_F9, KC_F1, KC_MS_BTN2, KC_WH_D, KC_MS_BTN1, KC_F11, KC_F12, KC_LEFT, KC_DOWN, KC_RGHT, KC_F10, KC_LCTL, KC_LSFT, KC_TRNS, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, MO(4),  KC_RSFT, KC_RCTL),
-        [_RAISE] = LAYOUT(KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ESC, KC_DEL, KC_BSPC, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_QUOT, KC_LCBR, KC_RCBR, KC_CAPS, KC_TAB, KC_PSCR, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_DQUO, KC_LBRC, KC_RBRC, KC_LCTL, KC_LSFT, MO(4), KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_TRNS, KC_RSFT, KC_RCTL),
-		[_FN] = LAYOUT(KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU, KC_VOLD, KC_NO, KC_NO, KC_NO, DF(0), DF(1), KC_NO, KC_NO, KC_NO, KC_BRID, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LSFT, KC_TRNS, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_TRNS, KC_RSFT, KC_RCTL)
+    [_QWERTY_BASE] = LAYOUT(
+        KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                                        KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,
+        KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                                        KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
+        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                                        KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
+                 KC_LCTL, KC_LSFT,                   KC_LALT, KC_SPC,  KC_ENT,  KC_RGUI,                   KC_RSFT, KC_RCTL,
+                                                     MO(2),                     MO(3)
+    ),
+    [_EUCALYN_BASE] = LAYOUT(
+        KC_Q,    KC_W,    KC_COMM, KC_DOT,  KC_SCLN,                                     KC_M,    KC_R,    KC_D,    KC_Y,    KC_P,
+        KC_A,    KC_O,    KC_E,    KC_I,    KC_U,                                        KC_G,    KC_T,    KC_K,    KC_S,    KC_N,
+        KC_Z,    KC_X,    KC_C,    KC_V,    KC_F,                                        KC_B,    KC_H,    KC_J,    KC_L,    KC_SLSH,
+                 KC_LCTL, KC_LSFT,                   KC_LALT, KC_SPC,  KC_ENT,  KC_RGUI,                   KC_RSFT, KC_RCTL,
+                                                     MO(2),                     MO(3)
+    ),
+    [_LOWER] = LAYOUT(
+        KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,
+        KC_F2,   KC_F3,   KC_WH_U, KC_F4,   KC_F5,                                       KC_F6,   KC_F7,   KC_UP,   KC_F8,   KC_F9,
+        KC_F1,   KC_BTN2, KC_WH_D, KC_BTN1, KC_F11,                                      KC_F12,  KC_LEFT, KC_DOWN, KC_RGHT, KC_F10,
+                 KC_LCTL, KC_LSFT,                   KC_LALT, KC_SPC,  KC_ENT,  KC_RGUI,                   KC_RSFT, KC_RCTL,
+                                                     KC_TRNS,                   MO(4)
+    ),
+    [_RAISE] = LAYOUT(
+        KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                                     KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+        KC_ESC,  KC_DEL,  KC_BSPC, KC_GRV,  KC_BSLS,                                     KC_MINS, KC_EQL,  KC_QUOT, KC_LCBR, KC_RCBR,
+        KC_CAPS, KC_TAB,  KC_PSCR, KC_TILD, KC_PIPE,                                     KC_UNDS, KC_PLUS, KC_DQUO, KC_LBRC, KC_RBRC,
+                 KC_LCTL, KC_LSFT,                   KC_LALT, KC_SPC,  KC_ENT,  KC_RGUI,                   KC_RSFT, KC_RCTL,
+                                                     MO(4),                     KC_TRNS
+    ),
+    [_FN] = LAYOUT(
+        KC_VOLU, KC_NO,   KC_NO,   KC_NO,   KC_NO,                                       KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_BRIU,
+        KC_VOLD, KC_NO,   KC_NO,   KC_NO,   DF(0),                                       DF(1),   KC_NO,   KC_NO,   KC_NO,   KC_BRID,
+        KC_MUTE, KC_NO,   KC_NO,   KC_NO,   KC_NO,                                       KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
+                 KC_LCTL, KC_LSFT,                   KC_LALT, KC_SPC,  KC_ENT,  KC_RGUI,                   KC_RSFT, KC_RCTL,
+                                                     KC_TRNS,                   KC_TRNS
+    )
 };

+ 5 - 4
keyboards/molecule/molecule.h

@@ -27,10 +27,11 @@
  * represents the switch matrix.
  */
 #define LAYOUT( \
-  L00, L01, L02, L03, L04,      R00, R01, R02, R03, R04, \
-  L10, L11, L12, L13, L14,      R10, R11, R12, R13, R14, \
-  L20, L21, L22, L23, L24,      R20, R21, R22, R23, R24, \
-  L30, L31, L32, L33, L34,      R30, R31, R32, R33, R34  \
+  L00, L01, L02, L03, L04,                     R00, R01, R02, R03, R04, \
+  L10, L11, L12, L13, L14,                     R10, R11, R12, R13, R14, \
+  L20, L21, L22, L23, L24,                     R20, R21, R22, R23, R24, \
+       L30, L31,           L33, L34, R30, R31,           R33, R34,      \
+                           L32,           R32                           \
   ) \
   { \
     { L00, L01, L02, L03, L04, R00, R01, R02, R03, R04 }, \