Skip to content

Commit

Permalink
Adding support for the Pteron56 (PCB) keyboard (qmk#21731)
Browse files Browse the repository at this point in the history
  • Loading branch information
FSund authored and Karl committed Oct 26, 2023
1 parent 4f0d019 commit 08dd037
Show file tree
Hide file tree
Showing 6 changed files with 202 additions and 0 deletions.
96 changes: 96 additions & 0 deletions keyboards/kraken_jones/pteron56/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
{
"keyboard_name": "pteron56",
"manufacturer": "Kraken-jokes",
"url": "https://github.com/kraken-jokes/pteron-pcb",
"maintainer": "Kraken-jokes",
"usb": {
"vid": "0x6D4B",
"pid": "0x7056",
"device_version": "0.2.0"
},
"development_board": "promicro",
"matrix_pins": {
"rows": ["D3", "D2", "F4", "D4", "B5"],
"cols": ["E6", "B4", "D7", "C6", "D0", "D1", "F6", "F7", "B1", "B3", "B6", "B2"]
},
"diode_direction": "ROW2COL",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true
},
"layouts": {
"LAYOUT":{
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.75},
{"matrix": [0, 1], "x": 1, "y": 0.75},
{"matrix": [0, 2], "x": 2, "y": 0.25},
{"matrix": [0, 3], "x": 3, "y": 0.0},
{"matrix": [0, 4], "x": 4, "y": 0.25},
{"matrix": [0, 5], "x": 5, "y": 0.5},

{"matrix": [0, 6], "x": 9.8, "y": 0.5},
{"matrix": [0, 7], "x": 10.8, "y": 0.25},
{"matrix": [0, 8], "x": 11.8, "y": 0},
{"matrix": [0, 9], "x": 12.8, "y": 0.25},
{"matrix": [0, 10], "x": 13.8, "y": 0.75},
{"matrix": [0, 11], "x": 14.8, "y": 0.75},

{"matrix": [1, 0], "x": 0, "y": 1.75},
{"matrix": [1, 1], "x": 1, "y": 1.75},
{"matrix": [1, 2], "x": 2, "y": 1.25},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1.25},
{"matrix": [1, 5], "x": 5, "y": 1.5},

{"matrix": [1, 6], "x": 9.8, "y": 1.5},
{"matrix": [1, 7], "x": 10.8, "y": 1.25},
{"matrix": [1, 8], "x": 11.8, "y": 1},
{"matrix": [1, 9], "x": 12.8, "y": 1.25},
{"matrix": [1, 10], "x": 13.8, "y": 1.75},
{"matrix": [1, 11], "x": 14.8, "y": 1.75},

{"matrix": [2, 0], "x": 0, "y": 2.75},
{"matrix": [2, 1], "x": 1, "y": 2.75},
{"matrix": [2, 2], "x": 2, "y": 2.25},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2.25},
{"matrix": [2, 5], "x": 5, "y": 2.5},

{"matrix": [2, 6], "x": 9.8, "y": 2.5},
{"matrix": [2, 7], "x": 10.8, "y": 2.25},
{"matrix": [2, 8], "x": 11.8, "y": 2},
{"matrix": [2, 9], "x": 12.8, "y": 2.25},
{"matrix": [2, 10], "x": 13.8, "y": 2.75},
{"matrix": [2, 11], "x": 14.8, "y": 2.75},

{"matrix": [3, 0], "x": 0, "y": 3.75},
{"matrix": [3, 1], "x": 1, "y": 3.75},
{"matrix": [3, 2], "x": 2, "y": 3.25},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3.25},
{"matrix": [3, 5], "x": 5, "y": 3.5},

{"matrix": [3, 6], "x": 9.8, "y": 3.5},
{"matrix": [3, 7], "x": 10.8, "y": 3.25},
{"matrix": [3, 8], "x": 11.8, "y": 3},
{"matrix": [3, 9], "x": 12.8, "y": 3.25},
{"matrix": [3, 10], "x": 13.8, "y": 3.75},
{"matrix": [3, 11], "x": 14.8, "y": 3.75},

{"matrix": [4, 0], "x": 3.9, "y": 4.5},
{"matrix": [4, 1], "x": 4.9, "y": 4.6},
{"matrix": [4, 2], "x": 5.9, "y": 4.85},
{"matrix": [4, 3], "x": 6.9, "y": 5.35},

{"matrix": [4, 8], "x": 7.9, "y": 5.35},
{"matrix": [4, 9], "x": 8.9, "y": 4.85},
{"matrix": [4, 10], "x": 9.9, "y": 4.6},
{"matrix": [4, 11], "x": 10.9, "y": 4.5}
]
}
}
}
36 changes: 36 additions & 0 deletions keyboards/kraken_jones/pteron56/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Copyright (C) 2023 @kraken-jokes
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

#define L1_GUI LT(1,KC_LGUI)
#define L1_DEL LT(1,KC_DEL)
#define L2_APP LT(2,KC_APP)
#define L2_ALT LT(2,KC_LALT)
#define PRTSC LGUI(LSFT(KC_S))

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_RBRC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
L1_GUI, KC_LCTL, KC_LSFT, L2_ALT, L1_DEL, KC_SPC, L2_APP, KC_TAB
),

[1] = LAYOUT(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_VOLU, KC_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS,
KC_VOLD, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS,
KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),

[2] = LAYOUT(
QK_BOOT, KC_SLEP, KC_WAKE, KC_TRNS, KC_PWR, KC_TRNS, KC_TRNS, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_BSPC,
KC_GRV, KC_WBAK, KC_WFWD, KC_WSCH, KC_FIND, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PSLS, KC_PAST,
KC_DEL, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, PRTSC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0
),
};
36 changes: 36 additions & 0 deletions keyboards/kraken_jones/pteron56/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Copyright (C) 2023 @kraken-jokes
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

#define L1_GUI LT(1,KC_LGUI)
#define L1_DEL LT(1,KC_DEL)
#define L2_APP LT(2,KC_APP)
#define L2_ALT LT(2,KC_LALT)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
L1_GUI, KC_LCTL, KC_LSFT, L2_ALT, L1_DEL, KC_SPC, L2_APP, KC_TAB
),

[1] = LAYOUT(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_VOLU, KC_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS,
KC_VOLD, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS,
KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),

[2] = LAYOUT(
QK_BOOT, KC_SLEP, KC_WAKE, KC_TRNS, KC_PWR, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MYCM, KC_PSLS, KC_PAST,
RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, RGB_M_P, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT
),

};
2 changes: 2 additions & 0 deletions keyboards/kraken_jones/pteron56/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
31 changes: 31 additions & 0 deletions keyboards/kraken_jones/pteron56/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Pteron56

![Pteron56](https://i.imgur.com/kt1RSi9h.jpg)

The Pteron56 is a 56-key vertically staggered ortholinear keyboard with a 15 degree inward tilt per hand.

Initially developed by [FSund](https://github.com/fsund), this keyboard was designed to potentially reduce wrist and typing strain by offsetting the keys in a manner that mimics the natural stagger of the human hand with 4 thumb keys per side arranged around an ~85mm arc to mimic the swimg of one's mighty thumbs.

Users have reported reduced finger movement, reduced wrist movement, and better typing comfort and swiftness with the Pteron layouts compared to a standard keyboard.

* Keyboard Maintainer: [Alex Moore](https://github.com/kraken-jokes)
* Hardware Supported:
* PCB: Pteron56v0.2, Pteron56v0.2hsu, Pteron56v0.3, Pteron56v0.4e
* MCU: Pro-Micro, Elite-C
* Hardware Availability: moorekeys.etsy.com. Open source though so it varies.

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

make pteron56:default

Flashing example for this keyboard:

make pteron56:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader thusly:
* **Keycode in layout**: Press and hold the right most thumb key on the left side (LT(2(KC_ALT)) and while that is held, hit the top left key on the left side of the keyboard (KC_ESC) which will reset the board and enter bootloader mode.
Thumb and pinky is my method, but do what you will.
1 change: 1 addition & 0 deletions keyboards/kraken_jones/pteron56/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# File is intentionally blank

0 comments on commit 08dd037

Please sign in to comment.