~ruther/qmk_firmware

3979137995e32491ddebc48eab991a4dfdccc02f — James Young 3 years ago 0fd45d5
Pteron36 Refactor (#14904)

* reformat info.json

- friendly-format info.json
- move the right half to the left by 0.5u (improves readability, for me anyway)
- correct key sequence

* refactor default keymap

- use short-form keycodes
- use four-space indent

* refactor via keymap

- use short-form keycodes
- use four-space indent

* update maintainer field in info.json

Use the maintainer's GitHub username.

* readme touch-up

Minor edit to the lead paragraph, and reformat the Hardware Availability section.

* change BOOTMAGIC_ENABLE from `lite` to `yes`
M keyboards/pteron36/info.json => keyboards/pteron36/info.json +85 -3
@@ 1,13 1,95 @@
{
    "keyboard_name": "Pteron36",
    "url": "",
    "maintainer": "Harshit Goel",
    "maintainer": "harshitgoel96",
    "layouts": {
        "LAYOUT_split_3x5_3": {
            "layout":  [{"x":2, "y":0}, {"x":12.5, "y":0}, {"x":1, "y":0.5}, {"x":3, "y":0.5}, {"x":11.5, "y":0.5}, {"x":13.5, "y":0.5}, {"x":4, "y":0.75}, {"x":10.5, "y":0.75}, {"x":0, "y":1}, {"x":2, "y":1}, {"x":12.5, "y":1}, {"x":14.5, "y":1}, {"x":1, "y":1.5}, {"x":3, "y":1.5}, {"x":11.5, "y":1.5}, {"x":13.5, "y":1.5}, {"x":4, "y":1.75}, {"x":10.5, "y":1.75}, {"x":0, "y":2}, {"x":2, "y":2}, {"x":12.5, "y":2}, {"x":14.5, "y":2}, {"x":1, "y":2.5}, {"x":3, "y":2.5}, {"x":11.5, "y":2.5}, {"x":13.5, "y":2.5}, {"x":4, "y":2.75}, {"x":10.5, "y":2.75}, {"x":0, "y":3}, {"x":14.5, "y":3}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":8.5, "y":4}, {"x":9.5, "y":4}, {"x":10.5, "y":4}]
            "layout": [
                {"x":0, "y":1},
                {"x":1, "y":0.5},
                {"x":2, "y":0},
                {"x":3, "y":0.5},
                {"x":4, "y":0.75},
                {"x":10, "y":0.75},
                {"x":11, "y":0.5},
                {"x":12, "y":0},
                {"x":13, "y":0.5},
                {"x":14, "y":1},

                {"x":0, "y":2},
                {"x":1, "y":1.5},
                {"x":2, "y":1},
                {"x":3, "y":1.5},
                {"x":4, "y":1.75},
                {"x":10, "y":1.75},
                {"x":11, "y":1.5},
                {"x":12, "y":1},
                {"x":13, "y":1.5},
                {"x":14, "y":2},

                {"x":0, "y":3},
                {"x":1, "y":2.5},
                {"x":2, "y":2},
                {"x":3, "y":2.5},
                {"x":4, "y":2.75},
                {"x":10, "y":2.75},
                {"x":11, "y":2.5},
                {"x":12, "y":2},
                {"x":13, "y":2.5},
                {"x":14, "y":3},

                {"x":4, "y":4},
                {"x":5, "y":4},
                {"x":6, "y":4},
                {"x":8, "y":4},
                {"x":9, "y":4},
                {"x":10, "y":4}
            ]
        },
        "LAYOUT_split_3x5_3_encoder": {
            "layout": [{"x":2, "y":0}, {"x":12.5, "y":0}, {"x":1, "y":0.5}, {"x":3, "y":0.5}, {"x":11.5, "y":0.5}, {"x":13.5, "y":0.5}, {"x":4, "y":0.75}, {"x":10.5, "y":0.75}, {"x":0, "y":1}, {"x":2, "y":1}, {"x":12.5, "y":1}, {"x":14.5, "y":1}, {"x":1, "y":1.5}, {"x":3, "y":1.5}, {"x":11.5, "y":1.5}, {"x":13.5, "y":1.5}, {"x":4, "y":1.75}, {"x":10.5, "y":1.75}, {"x":0, "y":2}, {"x":2, "y":2}, {"x":12.5, "y":2}, {"x":14.5, "y":2}, {"x":1, "y":2.5}, {"x":3, "y":2.5}, {"x":11.5, "y":2.5}, {"x":13.5, "y":2.5}, {"x":4, "y":2.75}, {"label":"enc1", "x":5.5, "y":2.75}, {"label":"enc2", "x":9, "y":2.75}, {"x":10.5, "y":2.75}, {"x":0, "y":3}, {"x":14.5, "y":3}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":8.5, "y":4}, {"x":9.5, "y":4}, {"x":10.5, "y":4}]
            "layout": [
                {"x":0, "y":1},
                {"x":1, "y":0.5},
                {"x":2, "y":0},
                {"x":3, "y":0.5},
                {"x":4, "y":0.75},
                {"x":10, "y":0.75},
                {"x":11, "y":0.5},
                {"x":12, "y":0},
                {"x":13, "y":0.5},
                {"x":14, "y":1},

                {"x":0, "y":2},
                {"x":1, "y":1.5},
                {"x":2, "y":1},
                {"x":3, "y":1.5},
                {"x":4, "y":1.75},
                {"x":10, "y":1.75},
                {"x":11, "y":1.5},
                {"x":12, "y":1},
                {"x":13, "y":1.5},
                {"x":14, "y":2},

                {"x":0, "y":3},
                {"x":1, "y":2.5},
                {"x":2, "y":2},
                {"x":3, "y":2.5},
                {"x":4, "y":2.75},
                {"label":"enc1", "x":5.5, "y":2.75},
                {"label":"enc2", "x":8.5, "y":2.75},
                {"x":10, "y":2.75},
                {"x":11, "y":2.5},
                {"x":12, "y":2},
                {"x":13, "y":2.5},
                {"x":14, "y":3},

                {"x":4, "y":4},
                {"x":5, "y":4},
                {"x":6, "y":4},
                {"x":8, "y":4},
                {"x":9, "y":4},
                {"x":10, "y":4}
            ]
        }
    }
}

M keyboards/pteron36/keymaps/default/keymap.c => keyboards/pteron36/keymaps/default/keymap.c +7 -6
@@ 27,9 27,10 @@ enum custom_keycodes {

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  [_QWERTY] = LAYOUT_split_3x5_3_encoder(
         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_LBRACKET,    KC_RBRACKET,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
                                   KC_LGUI, KC_BSPC, KC_SPC,           KC_SPC,  KC_ENT,  KC_RALT
  )};
    [_QWERTY] = LAYOUT_split_3x5_3_encoder(
        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_LBRC,    KC_RBRC, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
                                   KC_LGUI, KC_BSPC, KC_SPC,     KC_SPC,  KC_ENT,  KC_RALT
    )
};

M keyboards/pteron36/keymaps/via/keymap.c => keyboards/pteron36/keymaps/via/keymap.c +48 -47
@@ 33,53 33,54 @@ enum layer_names  {

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  [_QWERTY] = LAYOUT_split_3x5_3_encoder(
         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_LBRACKET,    KC_RBRACKET,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
                                   KC_LGUI, KC_BSPC, KC_SPC,           KC_SPC,  KC_ENT,  KC_RALT
  ),

  [_SYMB] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  ),

  [_NAV] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  ),

  [_ADJUST] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  ),
 [_MOUSE] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  ),

  [_NUMB] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  ),

  [_FNR] = LAYOUT_split_3x5_3_encoder(
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,                               KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
   KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS, KC_TRNS,             KC_TRNS, KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,    KC_TRNS,
                                          KC_TRNS, KC_TRNS, KC_TRNS,             KC_TRNS,  KC_TRNS,  KC_TRNS
  )
    [_QWERTY] = LAYOUT_split_3x5_3_encoder(
        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_LBRC,    KC_RBRC, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
                                   KC_LGUI, KC_BSPC, KC_SPC,     KC_SPC,  KC_ENT,  KC_RALT
    ),

    [_SYMB] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    ),

    [_NAV] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    ),

    [_ADJUST] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    ),

    [_MOUSE] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    ),

    [_NUMB] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    ),

    [_FNR] = LAYOUT_split_3x5_3_encoder(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
    )

};


M keyboards/pteron36/readme.md => keyboards/pteron36/readme.md +3 -2
@@ 2,11 2,12 @@

![Pteron36](https://i.imgur.com/PuXPWYfh.jpg)

A 36 key keyboard with a bit more natural thumb cluster.
A 36-key keyboard with a bit more natural thumb cluster.

* Keyboard Maintainer: [Harshit Goel](https://github.com/harshitgoel96)
* Hardware Supported: Pteron36 using promicro.
* Hardware Availability: Hardware is opensource, you can simply send the gerber to a PCB manufacturere and them made. File are availalbe in [pteron36 repository](https://github.com/harshitgoel96/pteron36-split-keyboard/releases/tag/v1.2.0)
* Hardware Availability: Files are available in the [pteron36 repository](https://github.com/harshitgoel96/pteron36-split-keyboard/releases/tag/v1.2.0)
  * The hardware is open source; you can simply send the Gerber to a PCB manufacturer and have them made.

Make example for this keyboard (after setting up your build environment):


M keyboards/pteron36/rules.mk => keyboards/pteron36/rules.mk +1 -1
@@ 7,7 7,7 @@ BOOTLOADER = caterina
# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no         # Console for debug