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

New keyboard addition: Orthograph #21770

Merged
merged 48 commits into from
Dec 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
49da251
Initial commit with the file structure
vladkvit Oct 26, 2020
b3fc142
filling out boilerplate
vladkvit Oct 26, 2020
910a05f
Compiles
vladkvit Oct 30, 2020
a5fa6f3
non-working RGB LED setup
vladkvit Oct 31, 2020
11bae55
LEDs for all keys working
vladkvit Nov 1, 2020
a62f560
Disabled RGB LED drivers since that's not supported for split keyboar…
vladkvit Jan 10, 2021
ae02416
updated keymap
Jan 29, 2021
ec8797b
Modified keymap.
vladkvit Feb 25, 2021
51e5e5d
Working firmware with i2c prototype
vladkvit Mar 9, 2021
82cb5c1
Got some form of RGB LED going on both splits. Currently, not all LED…
vladkvit Jun 6, 2021
efa0fab
LEDs mostly work now. Need to fix the two arrow keys (figure out whic…
vladkvit Jun 6, 2021
43ab866
Should be better but didn't change anything
vladkvit Jun 6, 2021
45bc173
Added RGB LED positions. Right side still missing some LEDs
vladkvit Jun 6, 2021
7c983c8
Added some keypress RGB effects. This requires QMK changes to work (o…
vladkvit Jun 7, 2021
3964a86
added keycomms for rgb effects
vladkvit Jun 14, 2021
dd1a000
Removed some RGB effects
vladkvit Aug 1, 2021
eb5033d
Change needed to keep building on develop branch (still doesn't build…
vladkvit Aug 1, 2021
e267448
Disabled some more RGB effects, and added the ones that are "allowed"…
vladkvit Aug 1, 2021
75ec2d2
Disabled another animation. Removed duplicate define.
vladkvit Aug 1, 2021
ea5b3b3
Added screenshot button, reverting link time optimization
vladkvit Aug 4, 2021
62a0346
Added faster USB polling and eager debouncing.
vladkvit Sep 26, 2021
b25bcee
Updated debouncing for eager keydown, defer keyup to fix issues.
vladkvit Aug 16, 2023
c44aded
Initial updates to get keyboard specs to be data driven.
vladkvit Aug 16, 2023
a01d782
Some more data driven migrations
vladkvit Aug 16, 2023
43b3177
Updated layout in info.json
vladkvit Aug 16, 2023
5a9b657
Version info fix.
vladkvit Aug 16, 2023
07c49e9
Added RGB LED count; fixed vertical keyboard offset
vladkvit Aug 16, 2023
f512cb5
More minor fixes to make firmware build.
vladkvit Aug 16, 2023
1da737a
Added key matrix positions.
vladkvit Aug 16, 2023
1376ca4
RGB fix (still not fully working - right side is only using LED mappi…
vladkvit Aug 16, 2023
b3b19c2
Some more json updates; trying to get RGB matrix to work properly
vladkvit Aug 16, 2023
775dd11
Slim down firmware size
vladkvit Aug 16, 2023
6c66a71
Updated readme
vladkvit Aug 16, 2023
58f09ae
Updated readme
vladkvit Aug 16, 2023
8171589
Updated copyright to fix linter issue
vladkvit Aug 16, 2023
7d90352
Migrate some rules.mk things into info.json
vladkvit Aug 17, 2023
203f0b5
Added development board to json
vladkvit Aug 17, 2023
354e300
Apply suggestions from code review
vladkvit Aug 17, 2023
7c8c330
Apply suggestions from code review
vladkvit Aug 17, 2023
21ece50
Updated readme to match template more closelyl.
vladkvit Aug 17, 2023
5a5d2a4
Updated readme to elaborate on controller compatibility.
vladkvit Aug 17, 2023
d11aabc
More readme updates.
vladkvit Aug 17, 2023
6cf803f
Addressed comments.
vladkvit Aug 17, 2023
3f5c43c
Fixed compile issue (duplicate macro definition).
vladkvit Aug 17, 2023
9e86ad5
Update keyboards/orthograph/config.h
vladkvit Aug 19, 2023
13550fe
Merge branch 'develop' into orthograph
vladkvit Nov 28, 2023
c2347c3
Apply suggestions from code review
vladkvit Dec 23, 2023
b8b7aae
Update readme.md
vladkvit Dec 23, 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
22 changes: 22 additions & 0 deletions keyboards/orthograph/config.h
vladkvit marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
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

#define EE_HANDS // need to flash eeprom with eeprom-lefthand.eep for left, etc

#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BAND_VAL
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define RGB_MATRIX_LED_COUNT 82
226 changes: 226 additions & 0 deletions keyboards/orthograph/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
{
"keyboard_name": "Orthograph",
"url": "https://github.com/vladkvit",
"maintainer": "vladkvit",
"manufacturer": "vladkvit",
"build": {
"debounce_type": "asym_eager_defer_pk",
"lto": true
},
"debounce": 4,
vladkvit marked this conversation as resolved.
Show resolved Hide resolved
"usb": {
"vid": "0x564B",
"pid": "0x0602",
"device_version": "1.0.0"
},
"features": {
"rgb_matrix": true,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"development_board": "elite_c",
vladkvit marked this conversation as resolved.
Show resolved Hide resolved
"matrix_pins": {
"cols": ["B5", "B4", "D7", "C6", "D4", "D2", "D3", "F4"],
"rows": ["F5", "F6", "F7", "B1", "B3", "B2"]
},
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
"soft_serial_pin": "E6",
"transport": {
"sync_matrix_state": true
},
"usb_detect":{
"enabled": true
}
},
"rgb_matrix": {
"driver": "is31fl3733",
"split_count": [36, 46],
"layout": [
{"matrix":[0, 0], "flags":4, "x":0, "y":0},
{"matrix":[0, 1], "flags":4, "x":16, "y":0},
{"matrix":[0, 2], "flags":4, "x":32, "y":0},
{"matrix":[0, 3], "flags":4, "x":48, "y":0},
{"matrix":[0, 4], "flags":4, "x":64, "y":0},
{"matrix":[0, 5], "flags":4, "x":80, "y":0},
{"matrix":[1, 0], "flags":4, "x":0, "y":12},
{"matrix":[1, 1], "flags":4, "x":16, "y":12},
{"matrix":[1, 2], "flags":4, "x":32, "y":12},
{"matrix":[1, 3], "flags":4, "x":48, "y":12},
{"matrix":[1, 4], "flags":4, "x":64, "y":12},
{"matrix":[1, 5], "flags":4, "x":80, "y":12},
{"matrix":[2, 0], "flags":4, "x":0, "y":24},
{"matrix":[2, 1], "flags":4, "x":16, "y":24},
{"matrix":[2, 2], "flags":4, "x":32, "y":24},
{"matrix":[2, 3], "flags":4, "x":48, "y":24},
{"matrix":[2, 4], "flags":4, "x":64, "y":24},
{"matrix":[2, 5], "flags":4, "x":80, "y":24},
{"matrix":[3, 0], "flags":1, "x":0, "y":36},
{"matrix":[3, 1], "flags":4, "x":16, "y":36},
{"matrix":[3, 2], "flags":4, "x":32, "y":36},
{"matrix":[3, 3], "flags":4, "x":48, "y":36},
{"matrix":[3, 4], "flags":4, "x":64, "y":36},
{"matrix":[3, 5], "flags":4, "x":80, "y":36},
{"matrix":[4, 0], "flags":4, "x":0, "y":48},
{"matrix":[4, 1], "flags":4, "x":16, "y":48},
{"matrix":[4, 2], "flags":4, "x":32, "y":48},
{"matrix":[4, 3], "flags":4, "x":48, "y":48},
{"matrix":[4, 4], "flags":4, "x":64, "y":48},
{"matrix":[4, 5], "flags":4, "x":80, "y":48},
{"matrix":[5, 0], "flags":4, "x":0, "y":60},
{"matrix":[5, 1], "flags":4, "x":16, "y":60},
{"matrix":[5, 2], "flags":4, "x":32, "y":60},
{"matrix":[5, 3], "flags":4, "x":48, "y":60},
{"matrix":[5, 4], "flags":4, "x":64, "y":60},
{"matrix":[5, 5], "flags":4, "x":80, "y":60},
{"matrix":[6, 0], "flags":4, "x":96, "y":0},
{"matrix":[6, 1], "flags":4, "x":112, "y":0},
{"matrix":[6, 2], "flags":4, "x":128, "y":0},
{"matrix":[6, 3], "flags":4, "x":144, "y":0},
{"matrix":[6, 4], "flags":4, "x":160, "y":0},
{"matrix":[6, 5], "flags":4, "x":176, "y":0},
{"matrix":[6, 6], "flags":4, "x":192, "y":0},


{"matrix":[7, 0], "flags":4, "x":96, "y":12},
{"matrix":[7, 1], "flags":4, "x":112, "y":12},
{"matrix":[7, 2], "flags":4, "x":128, "y":12},
{"matrix":[7, 3], "flags":4, "x":144, "y":12},
{"matrix":[7, 4], "flags":4, "x":160, "y":12},
{"matrix":[7, 5], "flags":4, "x":176, "y":12},
{"matrix":[7, 6], "flags":4, "x":192, "y":12},
{"matrix":[7, 7], "flags":4, "x":208, "y":12},
{"matrix":[8, 0], "flags":4, "x":96, "y":24},
{"matrix":[8, 1], "flags":4, "x":112, "y":24},
{"matrix":[8, 2], "flags":4, "x":128, "y":24},
{"matrix":[8, 3], "flags":4, "x":144, "y":24},
{"matrix":[8, 4], "flags":4, "x":160, "y":24},
{"matrix":[8, 5], "flags":4, "x":176, "y":24},
{"matrix":[8, 6], "flags":4, "x":192, "y":24},
{"matrix":[8, 7], "flags":4, "x":208, "y":24},
{"matrix":[9, 0], "flags":4, "x":96, "y":36},
{"matrix":[9, 1], "flags":4, "x":112, "y":36},
{"matrix":[9, 2], "flags":4, "x":128, "y":36},
{"matrix":[9, 3], "flags":4, "x":144, "y":36},
{"matrix":[9, 4], "flags":4, "x":160, "y":36},
{"matrix":[9, 5], "flags":4, "x":176, "y":36},
{"matrix":[9, 6], "flags":4, "x":192, "y":36},
{"matrix":[10, 0], "flags":4, "x":96, "y":48},
{"matrix":[10, 1], "flags":4, "x":112, "y":48},
{"matrix":[10, 2], "flags":4, "x":128, "y":48},
{"matrix":[10, 3], "flags":4, "x":144, "y":48},
{"matrix":[10, 4], "flags":4, "x":160, "y":48},
{"matrix":[10, 5], "flags":4, "x":176, "y":48},
{"matrix":[10, 6], "flags":4, "x":192, "y":48},
{"matrix":[10, 7], "flags":4, "x":208, "y":48},
{"matrix":[11, 0], "flags":4, "x":96, "y":60},
{"matrix":[11, 1], "flags":4, "x":112, "y":60},
{"matrix":[11, 2], "flags":4, "x":128, "y":60},
{"matrix":[11, 3], "flags":4, "x":144, "y":60},
{"matrix":[11, 4], "flags":4, "x":160, "y":60},
{"matrix":[11, 5], "flags":4, "x":176, "y":60},
{"matrix":[11, 6], "flags":4, "x":192, "y":60},
{"matrix":[11, 7], "flags":4, "x":208, "y":60}

],
"animations": {
"alphas_mods": true,
"band_val": true,
"cycle_spiral": true
}
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "label":"Esc", "x":0.75, "y":0, "w":1.5},
{"matrix": [0, 1], "label":"F1", "x":2.25, "y":0},
{"matrix": [0, 2], "label":"F2", "x":3.25, "y":0},
{"matrix": [0, 3], "label":"F3", "x":4.25, "y":0},
{"matrix": [0, 4], "label":"F4", "x":5.25, "y":0},
{"matrix": [0, 5], "label":"F5", "x":6.25, "y":0},
{"matrix": [6, 0], "label":"F6", "x":12.5, "y":0},
{"matrix": [6, 1], "label":"F7", "x":13.5, "y":0},
{"matrix": [6, 2], "label":"F8", "x":14.5, "y":0},
{"matrix": [6, 3], "label":"F9", "x":15.5, "y":0},
{"matrix": [6, 4], "label":"F10", "x":16.5, "y":0},
{"matrix": [6, 5], "label":"F11", "x":17.5, "y":0},
{"matrix": [6, 6], "label":"F12", "x":18.5, "y":0},
{"matrix": [1, 0], "label":"~", "x":0.75, "y":1, "w":1.5},
{"matrix": [1, 1], "label":"1", "x":2.25, "y":1},
{"matrix": [1, 2], "label":"2", "x":3.25, "y":1},
{"matrix": [1, 3], "label":"3", "x":4.25, "y":1},
{"matrix": [1, 4], "label":"4", "x":5.25, "y":1},
{"matrix": [1, 5], "label":"5", "x":6.25, "y":1},
{"matrix": [7, 0], "label":"^", "x":12.5, "y":1},
{"matrix": [7, 1], "label":"&", "x":13.5, "y":1},
{"matrix": [7, 2], "label":"*", "x":14.5, "y":1},
{"matrix": [7, 3], "label":"(", "x":15.5, "y":1},
{"matrix": [7, 4], "label":")", "x":16.5, "y":1},
{"matrix": [7, 5], "label":"_", "x":17.5, "y":1},
{"matrix": [7, 6], "label":"+", "x":18.5, "y":1},
{"matrix": [7, 7], "label":"Backspace", "x":19.5, "y":1, "w":1.5},
{"matrix": [2, 0], "label":"Tab", "x":0.75, "y":2, "w":1.5},
{"matrix": [2, 1], "label":"Q", "x":2.25, "y":2},
{"matrix": [2, 2], "label":"W", "x":3.25, "y":2},
{"matrix": [2, 3], "label":"E", "x":4.25, "y":2},
{"matrix": [2, 4], "label":"R", "x":5.25, "y":2},
{"matrix": [2, 5], "label":"T", "x":6.25, "y":2},
{"matrix": [8, 0], "label":"Y", "x":12.5, "y":2},
{"matrix": [8, 1], "label":"U", "x":13.5, "y":2},
{"matrix": [8, 2], "label":"I", "x":14.5, "y":2},
{"matrix": [8, 3], "label":"O", "x":15.5, "y":2},
{"matrix": [8, 4], "label":"P", "x":16.5, "y":2},
{"matrix": [8, 5], "label":"{", "x":17.5, "y":2},
{"matrix": [8, 6], "label":"}", "x":18.5, "y":2},
{"matrix": [8, 7], "label":"|", "x":19.5, "y":2, "w":1.5},
{"matrix": [3, 0], "label":"Caps", "x":0.75, "y":3, "w":1.5},
{"matrix": [3, 1], "label":"A", "x":2.25, "y":3},
{"matrix": [3, 2], "label":"S", "x":3.25, "y":3},
{"matrix": [3, 3], "label":"D", "x":4.25, "y":3},
{"matrix": [3, 4], "label":"F", "x":5.25, "y":3},
{"matrix": [3, 5], "label":"G", "x":6.25, "y":3},
{"matrix": [9, 0], "label":"H", "x":12.5, "y":3},
{"matrix": [9, 1], "label":"J", "x":13.5, "y":3},
{"matrix": [9, 2], "label":"K", "x":14.5, "y":3},
{"matrix": [9, 3], "label":"L", "x":15.5, "y":3},
{"matrix": [9, 4], "label":":", "x":16.5, "y":3},
{"matrix": [9, 5], "label":"\"", "x":17.5, "y":3},
{"matrix": [9, 6], "label":"Enter", "x":18.5, "y":3, "w":2.25},
{"matrix": [4, 0], "label":"Shift", "x":0.75, "y":4, "w":1.5},
{"matrix": [4, 1], "label":"Z", "x":2.25, "y":4},
{"matrix": [4, 2], "label":"X", "x":3.25, "y":4},
{"matrix": [4, 3], "label":"C", "x":4.25, "y":4},
{"matrix": [4, 4], "label":"V", "x":5.25, "y":4},
{"matrix": [4, 5], "label":"B", "x":6.25, "y":4},
{"matrix": [10, 0], "label":"N", "x":12.5, "y":4},
{"matrix": [10, 1], "label":"M", "x":13.5, "y":4},
{"matrix": [10, 2], "label":"<", "x":14.5, "y":4},
{"matrix": [10, 3], "label":">", "x":15.5, "y":4},
{"matrix": [10, 4], "label":"?", "x":16.5, "y":4},
{"matrix": [10, 5], "label":"Shift", "x":17.5, "y":4, "w":1.5},
{"matrix": [10, 6], "label":"\u2191", "x":19, "y":4},
{"matrix": [10, 7], "label":"mx", "x":20, "y":4},
{"matrix": [5, 0], "label":"Ctrl", "x":1, "y":5, "w":1.25},
{"matrix": [5, 1], "label":"Win", "x":2.25, "y":5, "w":1.25},
{"matrix": [5, 2], "label":"Alt", "x":3.5, "y":5, "w":1.25},
{"matrix": [5, 3], "label":"Menu", "x":4.75, "y":5, "w":1.25},
{"matrix": [5, 4], "label":"space", "x":0, "y":4.75, "h":2},
{"matrix": [5, 5], "label":"fn", "x":1, "y":4.75, "h":2},
{"matrix": [11, 0], "label":"space2", "x":-2, "y":4.5, "h":2},
{"matrix": [11, 1], "label":"fn", "x":-1.0, "y":4.5, "h":2},
{"matrix": [11, 2], "label":"Alt", "x":14.25, "y":5, "w":1.25},
{"matrix": [11, 3], "label":"Win", "x":15.5, "y":5, "w":1.25},
{"matrix": [11, 4], "label":"Ctrl", "x":16.75, "y":5, "w":1.25},
{"matrix": [11, 5], "label":"\u2190", "x":18, "y":5},
{"matrix": [11, 6], "label":"\u2193", "x":19, "y":5},
{"matrix": [11, 7], "label":"\u2192", "x":20, "y":5}

]
}
}
}
24 changes: 24 additions & 0 deletions keyboards/orthograph/keymaps/default/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"keyboard": "orthograph",
"keymap": "default",
"layout": "LAYOUT",
"layers":
[
[
"KC_ESC", "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_GRAVE","KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "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_LBRC", "KC_RBRC", "KC_BSLS",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT",
"KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PSCR",
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_APP", "KC_SPC", "MO(1)", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "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_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_HOME", "KC_PGUP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_DEL", "KC_END", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_MODE_FORWARD","KC_TRNS", "RGB_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
]
]
}
Loading