Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for the Pteron56 (PCB) keyboard #19996

Closed
wants to merge 28 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
4edef2a
Create readme.md
Kraken-Jokes Feb 8, 2023
db60c69
Delete keyboard/pteron56 directory
Kraken-Jokes Feb 8, 2023
18d4d4a
Create readme.md
Kraken-Jokes Feb 8, 2023
c3f3f4b
Add files via upload
Kraken-Jokes Feb 8, 2023
b88c28f
Delete readme.md
Kraken-Jokes Feb 8, 2023
c87db90
Add files via upload
Kraken-Jokes Feb 8, 2023
0bc4a5e
bootloader = caterina
Kraken-Jokes Feb 8, 2023
3512c8f
Delete pteron56.json
Kraken-Jokes Feb 8, 2023
18e06bf
Update config.h
Kraken-Jokes Feb 8, 2023
0caeef9
Update pteron56.h
Kraken-Jokes Feb 8, 2023
d0ce3df
Change KEYMAP to LAYOUT
Kraken-Jokes Feb 8, 2023
675eb14
Update keymap.c
Kraken-Jokes Feb 9, 2023
835d879
Update readme.md
Kraken-Jokes Mar 1, 2023
acbbcd0
Update config.h
Kraken-Jokes Mar 2, 2023
d382734
Update keymap.c
Kraken-Jokes Mar 2, 2023
82b1d35
Update keymap.c
Kraken-Jokes Mar 2, 2023
5f9cc63
Update keymap.c
Kraken-Jokes Mar 2, 2023
f751ffe
Update readme.md
Kraken-Jokes Mar 2, 2023
c843317
Update readme.md
Kraken-Jokes Mar 2, 2023
b90f2ee
Delete Makefile
Kraken-Jokes Mar 2, 2023
44b10b3
Changed tabs to 4x spaces
Kraken-Jokes Mar 2, 2023
da0415a
Changed tabs to spaces
Kraken-Jokes Mar 2, 2023
96d082d
Changed tabs to spaces
Kraken-Jokes Mar 2, 2023
f920ee6
replace guards with #pragma once
Kraken-Jokes Mar 2, 2023
8160cdc
changed tabs to spaces
Kraken-Jokes Mar 2, 2023
160ff63
QMK info.json
Kraken-Jokes Mar 3, 2023
3dd8b9a
Editing out redundant info
Kraken-Jokes Mar 13, 2023
2fd4924
Rules are the same as /pteron56
Kraken-Jokes Mar 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions keyboards/pteron56/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*pteron56
*Copyright (C) 2023 @kraken-jokes
*
*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 3 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
*IMERCHANTABILITY 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/>.
*/
#ifndef CONFIG_H
#define CONFIG_H

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x6D4B
#define PRODUCT_ID 0x7056
#define DEVICE_VER 0x0002
#define MANUFACTURER MooreKeys
#define PRODUCT Pteron56

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12

/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, F4, D4, B5 }
#define MATRIX_COL_PINS { E6, B4, D7, C6, D0, D1, F6, F7, B1, B3, B6, B2 }

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* number of backlight levels */

#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 3
#endif

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

/* key combination for command */
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
#endif
91 changes: 91 additions & 0 deletions keyboards/pteron56/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
"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"
}
"processor": "atmega32u4",
"bootloader": "caterina",
"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,
"backlight": false,
"rgblight": false,
"audio": false,
"key_lock": false
},
"layouts": {
"LAYOUT":[
"layout":
[{"label":"0,3", "x":3, "y":0.25},
{"label":"0,8", "x":11.5, "y":0.25},
{"label":"0,2", "x":2, "y":0.5},
{"label":"0,4", "x":4, "y":0.5},
{"label":"0,7", "x":10.5, "y":0.5},
{"label":"0,9", "x":12.5, "y":0.5},
{"label":"0,5", "x":5, "y":0.75},
{"label":"0,6", "x":9.5, "y":0.75},
{"label":"0,0", "x":0, "y":1},
{"label":"0,1", "x":1, "y":1},
{"label":"0,10", "x":13.5, "y":1},
{"label":"0,11", "x":14.5, "y":1},
{"label":"1,3", "x":3, "y":1.25},
{"label":"1,8", "x":11.5, "y":1.25},
{"label":"1,2", "x":2, "y":1.5},
{"label":"1,4", "x":4, "y":1.5},
{"label":"1,7", "x":10.5, "y":1.5},
{"label":"1,9", "x":12.5, "y":1.5},
{"label":"1,5", "x":5, "y":1.75},
{"label":"1,6", "x":9.5, "y":1.75},
{"label":"1,0", "x":0, "y":2},
{"label":"1,1", "x":1, "y":2},
{"label":"1,10", "x":13.5, "y":2},
{"label":"1,11", "x":14.5, "y":2},
{"label":"2,3", "x":3, "y":2.25},
{"label":"2,8", "x":11.5, "y":2.25},
{"label":"2,2", "x":2, "y":2.5},
{"label":"2,4", "x":4, "y":2.5},
{"label":"2,7", "x":10.5, "y":2.5},
{"label":"2,9", "x":12.5, "y":2.5},
{"label":"2,5", "x":5, "y":2.75},
{"label":"2,6", "x":9.5, "y":2.75},
{"label":"2,0", "x":0, "y":3},
{"label":"2,1", "x":1, "y":3},
{"label":"2,10", "x":13.5, "y":3},
{"label":"2,11", "x":14.5, "y":3},
{"label":"3,3", "x":3, "y":3.25},
{"label":"3,8", "x":11.5, "y":3.25},
{"label":"3,2", "x":2, "y":3.5},
{"label":"3,4", "x":4, "y":3.5},
{"label":"3,7", "x":10.5, "y":3.5},
{"label":"3,9", "x":12.5, "y":3.5},
{"label":"3,5", "x":5, "y":3.75},
{"label":"3,6", "x":9.5, "y":3.75},
{"label":"3,0", "x":0, "y":4},
{"label":"3,1", "x":1, "y":4},
{"label":"3,10", "x":13.5, "y":4},
{"label":"3,11", "x":14.5, "y":4},
{"label":"4,0", "x":-0.5, "y":1},
{"label":"4,11", "x":0.5, "y":-2.5},
{"label":"4,1", "x":-0.25, "y":-6},
{"label":"4,2", "x":0, "y":-6},
{"label":"4,3", "x":0.25, "y":-6},
{"label":"4,8", "x":-0.5, "y":-8.75},
{"label":"4,9", "x":0, "y":-9.0},
{"label":"4,10", "x":0.25, "y":-9.25}]
]
}
}
28 changes: 28 additions & 0 deletions keyboards/pteron56/keymaps/brant/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#pragma once

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12

/* key matrix pins */
#define MATRIX_ROW_PINS { D3, D2, F4, D4, B5 }
#define MATRIX_COL_PINS { E6, B4, D7, C6, D0, D1, F6, F7, B1, B3, B6, B2 }


/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* Set 0 if debouncing isn't needed */
#define DEBOUNE 5

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

/* key combination for command */
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)

53 changes: 53 additions & 0 deletions keyboards/pteron56/keymaps/brant/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*pteron56
*Copyright (C) 2023 @kraken-jokes
*
*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 3 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
*IMERCHANTABILITY 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 "pteron56.h"

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

LAYOUT(
KC_GESC, 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,
LCTL(KC_C), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
LT(1,KC_LGUI), KC_LCTL, KC_LSFT, KC_LALT, LT(1,KC_DEL), KC_SPC, LT(2,KC_APP), KC_TAB),

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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),

LAYOUT(
RESET, KC_SLEP, KC_WAKE, KC_TRNS, KC_PWR, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_GRV, KC_WBAK, KC_WFWD, KC_WSCH, KC_FIND, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MYCM, KC_PSLS, KC_PAST,
KC_DEL, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PPLS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT),

};

void matrix_init_user(void) {
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
53 changes: 53 additions & 0 deletions keyboards/pteron56/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*pteron56
*Copyright (C) 2023 @kraken-jokes
*
*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 3 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
*IMERCHANTABILITY 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 "pteron56.h"

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

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,
LT(1,KC_LGUI), KC_LCTL, KC_LSFT, LT(2,KC_LALT), LT(1,KC_DEL), KC_SPC, LT(2,KC_APP), KC_TAB),

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 ),

LAYOUT(
RESET, 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, LGUI(LSFT(KC_S)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0),

};

void matrix_init_user(void) {
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
75 changes: 75 additions & 0 deletions keyboards/pteron56/keymaps/melissa/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*pteron56
*Copyright (C) 2023 @kraken-jokes
*
*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 3 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
*IMERCHANTABILITY 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 "pteron56.h"
enum my_keycodes {
PASS = SAFE_RANGE,
USER
};

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

LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
PASS, KC_CAPS, KC_SPC, KC_ENT, TG(1), KC_SPC, KC_RALT, KC_RGUI),

LAYOUT(
LCTL(KC_X), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_INS, KC_BSPC,
KC_TAB, KC_LBRC, KC_UP, KC_RBRC, KC_LCBR, KC_RCBR, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_DEL,
LCTL(KC_V), KC_LEFT, KC_DOWN, KC_RGHT, LCTL(KC_Z), LCTL(KC_TAB), KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, TO(2),
LCTL(KC_C), LALT(KC_F4), LALT(KC_ESC), KC_MUTE, KC_MSTP, KC_MPLY, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_BSLS, TO(0),
KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0 ),

LAYOUT(
RESET, 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, LGUI(LSFT(KC_S)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0),

};

void matrix_init_user(void) {
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case PASS:
if (record->event.pressed) {
// when keycode M4 is pressed
SEND_STRING("XXXXXXXXXX");
} else {
// when keycode is released
}
break;
case USER:
if(record->event.pressed) {
// when keycode USER is pressed
SEND_STRING("XXXXXXXXXX");
} else {
// when keycode is released
}
break;
}
return true;
}
Loading