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

Initial Tron Guy Labs keyboard implementation. #13438

Merged
merged 17 commits into from
Jul 22, 2021
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
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
29 changes: 29 additions & 0 deletions keyboards/tronguylabs/m122_3270/blackpill/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/* Copyright 2021 James R. Maynard III <[email protected]>
*
* 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/>.
*/

#pragma once

// place overrides below

// Blackpill pin assignments: reversed the rows from the Teensy version for easier PCB layout
// DO NOT USE the following pins: A9 (has pulldown on it), A11/A12 (USB lines), B2 (external pulldown)
// C13 has an LED, and C13/C14/C15 are best used as inputs (with DIODE_DIRECTION set to ROW2COL, the
// rows are inputs). Note that every usable I/O pin is used.
#define MATRIX_COL_PINS { B0, B1, B10, B12, B13, B14, B15, A8, A7, A10, A6, A5, A15, B3, B4, B5, B6, B7, B8, B9 }
#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 }

// The BlackPill version is version 2
#define DEVICE_VER 0x0002
2 changes: 2 additions & 0 deletions keyboards/tronguylabs/m122_3270/blackpill/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# BlackPill controller for m122-3270
This directory contains the BlackPill-specific definitions for the M122-3270 keyboard.
7 changes: 7 additions & 0 deletions keyboards/tronguylabs/m122_3270/blackpill/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Overrides for the Blackpill version

# MCU name
MCU = STM32F411

# Bootloader selection
BOOTLOADER = stm32-dfu
71 changes: 71 additions & 0 deletions keyboards/tronguylabs/m122_3270/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/* Copyright 2021 James R. Maynard III <[email protected]>
*
* 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/>.
*/

#pragma once

#include "config_common.h"

#define VENDOR_ID 0x1209
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pid.codes vendor id 👍🏻

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's on request there, but they haven't merged the PR yet...if they turn it down, I'll pick something else.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ive added the awaiting PR label while this is sill unresolved.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For quick reference: pidcodes/pidcodes.github.com#656

#define PRODUCT_ID 0x3270
// DEVICE_VER is defined in each variant's config.h file
#define MANUFACTURER IBM
#define PRODUCT Model M PC/3270 122 key

// Both controllers draw 100 mA or less
#define USB_MAX_POWER_CONSUMPTION 100

/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 20

/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 15

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
134 changes: 134 additions & 0 deletions keyboards/tronguylabs/m122_3270/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
{
"keyboard_name": "IBM Model M PC/3270 122 key",
"maintainer": "jmaynard",
"width": 24.75,
"height": 8,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"F13", "x":3.25, "y":0},
{"label":"F14", "x":4.25, "y":0},
{"label":"F15", "x":5.25, "y":0},
{"label":"F16", "x":6.25, "y":0},
{"label":"F17", "x":7.25, "y":0},
{"label":"F18", "x":8.25, "y":0},
{"label":"F19", "x":9.25, "y":0},
{"label":"F20", "x":10.25, "y":0},
{"label":"F21", "x":11.25, "y":0},
{"label":"F22", "x":12.25, "y":0},
{"label":"F23", "x":13.25, "y":0},
{"label":"F24", "x":14.25, "y":0},
{"label":"F1", "x":3.25, "y":1},
{"label":"F2", "x":4.25, "y":1},
{"label":"F3", "x":5.25, "y":1},
{"label":"F4", "x":6.25, "y":1},
{"label":"F5", "x":7.25, "y":1},
{"label":"F6", "x":8.25, "y":1},
{"label":"F7", "x":9.25, "y":1},
{"label":"F8", "x":10.25, "y":1},
{"label":"F9", "x":11.25, "y":1},
{"label":"F10", "x":12.25, "y":1},
{"label":"F11", "x":13.25, "y":1},
{"label":"F12", "x":14.25, "y":1},
{"label":"Esc", "x":0, "y":3},
{"x":1, "y":3},
{"label":"`", "x":2.25, "y":3},
{"label":"1", "x":3.25, "y":3},
{"label":"2", "x":4.25, "y":3},
{"label":"3", "x":5.25, "y":3},
{"label":"4", "x":6.25, "y":3},
{"label":"5", "x":7.25, "y":3},
{"label":"6", "x":8.25, "y":3},
{"label":"7", "x":9.25, "y":3},
{"label":"8", "x":10.25, "y":3},
{"label":"9", "x":11.25, "y":3},
{"label":"0", "x":12.25, "y":3},
{"label":"-", "x":13.25, "y":3},
{"label":"=", "x":14.25, "y":3},
{"label":"Backspace", "x":15.25, "y":3, "w":2},
{"label":"Insert", "x":17.5, "y":3},
{"label":"Home", "x":18.5, "y":3},
{"label":"Page Up", "x":19.5, "y":3},
{"label":"Num Lock", "x":20.75, "y":3},
{"label":"/", "x":21.75, "y":3},
{"label":"*", "x":22.75, "y":3},
{"label":"-", "x":23.75, "y":3},
{"x":0, "y":4},
{"x":1, "y":4},
{"label":"Tab", "x":2.25, "y":4, "w":1.5},
{"label":"Q", "x":3.75, "y":4},
{"label":"W", "x":4.75, "y":4},
{"label":"E", "x":5.75, "y":4},
{"label":"R", "x":6.75, "y":4},
{"label":"T", "x":7.75, "y":4},
{"label":"Y", "x":8.75, "y":4},
{"label":"U", "x":9.75, "y":4},
{"label":"I", "x":10.75, "y":4},
{"label":"O", "x":11.75, "y":4},
{"label":"P", "x":12.75, "y":4},
{"label":"[", "x":13.75, "y":4},
{"label":"]", "x":14.75, "y":4},
{"label":"Enter", "x":16, "y":4, "w":1.25, "h":2},
{"label":"Delete", "x":17.5, "y":4},
{"label":"End", "x":18.5, "y":4},
{"label":"Page Down", "x":19.5, "y":4},
{"label":"7", "x":20.75, "y":4},
{"label":"8", "x":21.75, "y":4},
{"label":"9", "x":22.75, "y":4},
{"label":"+", "x":23.75, "y":4},
{"x":0, "y":5},
{"x":1, "y":5},
{"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
{"label":"A", "x":4, "y":5},
{"label":"S", "x":5, "y":5},
{"label":"D", "x":6, "y":5},
{"label":"F", "x":7, "y":5},
{"label":"G", "x":8, "y":5},
{"label":"H", "x":9, "y":5},
{"label":"J", "x":10, "y":5},
{"label":"K", "x":11, "y":5},
{"label":"L", "x":12, "y":5},
{"label":";", "x":13, "y":5},
{"label":"'", "x":14, "y":5},
{"label":"#", "x":15, "y":5},
{"label":"Up", "x":18.5, "y":5},
{"label":"4", "x":20.75, "y":5},
{"label":"5", "x":21.75, "y":5},
{"label":"6", "x":22.75, "y":5},
{"x":23.75, "y":5},
{"x":0, "y":6},
{"x":1, "y":6},
{"label":"Shift", "x":2.25, "y":6, "w":1.25},
{"label":"\\", "x":3.5, "y":6},
{"label":"Z", "x":4.5, "y":6},
{"label":"X", "x":5.5, "y":6},
{"label":"C", "x":6.5, "y":6},
{"label":"V", "x":7.5, "y":6},
{"label":"B", "x":8.5, "y":6},
{"label":"N", "x":9.5, "y":6},
{"label":"M", "x":10.5, "y":6},
{"label":",", "x":11.5, "y":6},
{"label":".", "x":12.5, "y":6},
{"label":"/", "x":13.5, "y":6},
{"label":"Shift", "x":14.5, "y":6, "w":2.75},
{"label":"Left", "x":17.5, "y":6},
{"x":18.5, "y":6},
{"label":"Right", "x":19.5, "y":6},
{"label":"1", "x":20.75, "y":6},
{"label":"2", "x":21.75, "y":6},
{"label":"3", "x":22.75, "y":6},
{"label":"Enter", "x":23.75, "y":6, "h":2},
{"x":0, "y":7},
{"x":1, "y":7},
{"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
{"label":"Alt", "x":4.75, "y":7, "w":1.5},
{"x":6.25, "y":7, "w":7},
{"label":"AltGr", "x":13.25, "y":7, "w":1.5},
{"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
{"label":"Down", "x":18.5, "y":7},
{"label":"0", "x":20.75, "y":7, "w":2},
{"label":".", "x":22.75, "y":7}
]
}
}
}
Loading