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

ogurec firmware #13242

Merged
merged 38 commits into from
Jul 22, 2021
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
96a0bd3
ogurec firmware
drhigsby Jun 19, 2021
23d3f05
Update readme.md
drhigsby Jun 19, 2021
1fd75e0
Update config.h
drhigsby Jun 21, 2021
517c60d
updating readme
drhigsby Jun 21, 2021
1b6b616
adding dack's personal keymap
drhigsby Jun 23, 2021
5484256
editing keymap slightly
drhigsby Jun 23, 2021
d2fd31d
added pm sidedness
drhigsby Jun 23, 2021
ee7c2fd
update (again) to readme
drhigsby Jun 23, 2021
645e78c
added 2u compatible layouts
drhigsby Jun 24, 2021
413f472
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
47a3c9e
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
c15ecf2
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
b0ea638
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
be07ced
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
631dd79
Update keyboards/ogurec/keymaps/dack/keymap.c
drhigsby Jun 28, 2021
595cb6d
Update keyboards/ogurec/ogurec.h
drhigsby Jul 7, 2021
1c556b9
Update keyboards/ogurec/ogurec.h
drhigsby Jul 7, 2021
fd167f5
Update keyboards/ogurec/ogurec.h
drhigsby Jul 7, 2021
16d4c95
Update keyboards/ogurec/ogurec.h
drhigsby Jul 7, 2021
1e39f58
Update keymap.c
drhigsby Jul 7, 2021
56ad9d1
Update keymap.c
drhigsby Jul 7, 2021
9e8a532
Update info.json
drhigsby Jul 7, 2021
543f38d
Update keymap.c
drhigsby Jul 7, 2021
00a4e0d
keymap cleanup
drhigsby Jul 8, 2021
a607beb
added bootloader mode instructions
drhigsby Jul 12, 2021
e11f740
updating layout names
drhigsby Jul 12, 2021
1cbfa17
Update keyboards/ogurec/rules.mk
drhigsby Jul 20, 2021
ac142d8
Update keyboards/ogurec/readme.md
drhigsby Jul 20, 2021
f551b86
updating organization
drhigsby Jul 20, 2021
8dcb573
updated default readme
drhigsby Jul 20, 2021
bb6c652
updated readmes
drhigsby Jul 20, 2021
362823e
re-organizing everything
drhigsby Jul 20, 2021
b5f5e09
more small updates
drhigsby Jul 20, 2021
772880b
updating a readme
drhigsby Jul 20, 2021
e02d191
removed .lnk
drhigsby Jul 21, 2021
7e098eb
fixed a few things
drhigsby Jul 21, 2021
99e6789
Update keyboards/ogurec/left_pm/readme.md
drhigsby Jul 21, 2021
40a752b
Update keyboards/ogurec/left_pm/readme.md
drhigsby Jul 21, 2021
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
Binary file added keyboards/ogurec - Shortcut.lnk
Binary file not shown.
56 changes: 56 additions & 0 deletions keyboards/ogurec/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/* Copyright 2021 drhigsby
*
* 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"

/* USB Device descriptor parameter */
#define MANUFACTURER DrHigsby
#define PRODUCT ogurec
#define VENDOR_ID 0x0007
#define PRODUCT_ID 0x0002
#define DEVICE_VER 0x0001

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

/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/

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

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
88 changes: 88 additions & 0 deletions keyboards/ogurec/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{
"keyboard_name": "ogurec",
"url": "http://www.keyboard-layout-editor.com/#/gists/f1bda3a87822868599cf6e3c4340f594",
"maintainer": "drhigsby",
"width": 12,
"height": 3,
"layouts": {
"LAYOUT_ortho_3x12_grid": {
"layout": [
{"label":"Q", "x":0, "y":0},
{"label":"W", "x":1, "y":0},
{"label":"E", "x":2, "y":0},
{"label":"R", "x":3, "y":0},
{"label":"T", "x":4, "y":0},
{"x":5, "y":0},
{"x":6, "y":0},
{"label":"Y", "x":7, "y":0},
{"label":"U", "x":8, "y":0},
{"label":"I", "x":9, "y":0},
{"label":"O", "x":10, "y":0},
{"label":"P", "x":11, "y":0},
{"label":"A", "x":0, "y":1},
{"label":"S", "x":1, "y":1},
{"label":"D", "x":2, "y":1},
{"label":"F", "x":3, "y":1},
{"label":"G", "x":4, "y":1},
{"x":5, "y":1},
{"x":6, "y":1},
{"label":"H", "x":7, "y":1},
{"label":"J", "x":8, "y":1},
{"label":"K", "x":9, "y":1},
{"label":"L", "x":10, "y":1},
{"label":"\"", "x":11, "y":1},
{"label":"Z", "x":0, "y":2},
{"label":"X", "x":1, "y":2},
{"label":"C", "x":2, "y":2},
{"label":"V", "x":3, "y":2},
{"label":"B", "x":4, "y":2},
{"x":5, "y":2},
{"x":6, "y":2},
{"label":"N", "x":7, "y":2},
{"label":"M", "x":8, "y":2},
{"label":"<", "x":9, "y":2},
{"label":">", "x":10, "y":2},
{"label":"?", "x":11, "y":2}]
},

"LAYOUT_ortho_3x12_1x2uC": {
"layout": [
{"label":"Q", "x":0, "y":0},
{"label":"W", "x":1, "y":0},
{"label":"E", "x":2, "y":0},
{"label":"R", "x":3, "y":0},
{"label":"T", "x":4, "y":0},
{"x":5, "y":0},
{"x":6, "y":0},
{"label":"Y", "x":7, "y":0},
{"label":"U", "x":8, "y":0},
{"label":"I", "x":9, "y":0},
{"label":"O", "x":10, "y":0},
{"label":"P", "x":11, "y":0},
{"label":"A", "x":0, "y":1},
{"label":"S", "x":1, "y":1},
{"label":"D", "x":2, "y":1},
{"label":"F", "x":3, "y":1},
{"label":"G", "x":4, "y":1},
{"x":5, "y":1},
{"x":6, "y":1},
{"label":"H", "x":7, "y":1},
{"label":"J", "x":8, "y":1},
{"label":"K", "x":9, "y":1},
{"label":"L", "x":10, "y":1},
{"label":"\"", "x":11, "y":1},
{"label":"Z", "x":0, "y":2},
{"label":"X", "x":1, "y":2},
{"label":"C", "x":2, "y":2},
{"label":"V", "x":3, "y":2},
{"label":"B", "x":4, "y":2},
{"x":5, "y":2, "w":2},
{"label":"N", "x":7, "y":2},
{"label":"M", "x":8, "y":2},
{"label":"<", "x":9, "y":2},
{"label":">", "x":10, "y":2},
{"label":"?", "x":11, "y":2}]
},

}
}
19 changes: 19 additions & 0 deletions keyboards/ogurec/keymaps/default/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* Copyright 2021 drhigsby
*
* 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 COMBO_COUNT 7
#define COMBO_TERM 40
76 changes: 76 additions & 0 deletions keyboards/ogurec/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/* Copyright 2021 drhigsby
*
* 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/>.
*/
#include QMK_KEYBOARD_H

enum layers{
_BASE,
_NUM,
_FN
};

enum combo_events {
combo_ESC,
combo_BACK,
combo_TAB,
combo_DELETE,
combo_ENTER,
combo_LPRN,
combo_RPRN,
};

const uint16_t PROGMEM esc_combo[] = {KC_Q, KC_W, COMBO_END};
const uint16_t PROGMEM bspc_combo[] = {KC_O, KC_P, COMBO_END};
const uint16_t PROGMEM tab_combo[] = {KC_A, KC_S, COMBO_END};
const uint16_t PROGMEM del_combo[] = {KC_I, KC_O, COMBO_END};
const uint16_t PROGMEM enter_combo[] = {KC_L, KC_SCLN, COMBO_END};
const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END};
const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END};


combo_t key_combos[COMBO_COUNT] = {
[combo_ESC] = COMBO(esc_combo, KC_ESC),
[combo_BACK] = COMBO(bspc_combo, KC_BSPC),
[combo_TAB] = COMBO(tab_combo, KC_TAB),
[combo_DELETE] = COMBO(del_combo, KC_DEL),
[combo_ENTER] = COMBO(enter_combo, KC_ENT),
[combo_LPRN] = COMBO(lprn_combo, KC_LPRN),
[combo_RPRN] = COMBO(rprn_combo, KC_RPRN),
};

#define NUM MO(_NUM)
#define FN MO(_FN)
#define xxx KC_TRNS

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ortho_3x12_grid(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, FN, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, NUM, KC_SPC, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH)
),

[_NUM] = LAYOUT_ortho_3x12_grid(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_END, KC_PGDN, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LCBR, KC_LT, KC_GT, KC_RCBR, KC_PIPE, KC_BSLS, KC_DQUO, KC_QUOT
),

[_FN] = LAYOUT_ortho_3x12_grid(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx,
KC_VOLD, KC_VOLU, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_MRWD, KC_MFFD, xxx, xxx, xxx
)

};
1 change: 1 addition & 0 deletions keyboards/ogurec/keymaps/default/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# default ogurec keymap
1 change: 1 addition & 0 deletions keyboards/ogurec/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
COMBO_ENABLE = yes
49 changes: 49 additions & 0 deletions keyboards/ogurec/left_pm/left_pm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/* Copyright 2021 drhigsby
*
* 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 "ogurec.h"

/* This a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/

#define LAYOUT_ortho_3x12_grid( \
k011, k010, k009, k008, k007, k006, k005, k004, k003, k002, k001, k000, \
k111, k110, k109, k108, k107, k106, k105, k104, k103, k102, k101, k100, \
k211, k210, k209, k208, k207, k206, k205, k204, k203, k202, k201, k200 \
) \
{ \
{ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011 }, \
{ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111 }, \
{ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211 } \
}

#define LAYOUT_ortho_3x12_1x2uC( \
k011, k010, k009, k008, k007, k006, k005, k004, k003, k002, k001, k000, \
k111, k110, k109, k108, k107, k106, k105, k104, k103, k102, k101, k100, \
k211, k210, k209, k208, k207, k205, k204, k203, k202, k201, k200 \
) \
{ \
{ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011 }, \
{ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111 }, \
{ k200, k201, k202, k203, k204, k205, KC_NO, k207, k208, k209, k210, k211 } \
}
13 changes: 13 additions & 0 deletions keyboards/ogurec/left_pm/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# ogurec keymap for left-sided PM placement

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

make ogurec:default
drhigsby marked this conversation as resolved.
Show resolved Hide resolved

Flashing example for this keyboard:

make ogurec:default:flash
drhigsby marked this conversation as resolved.
Show resolved Hide resolved

To place the keyboard into bootloader mode, solder a reset switch onto the PCB and press it OR short the GND and RST pins on the pro micro.

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).
Empty file.
16 changes: 16 additions & 0 deletions keyboards/ogurec/ogurec.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* Copyright 2021 drhigsby
*
* 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/>.
*/
#include "ogurec.h"
24 changes: 24 additions & 0 deletions keyboards/ogurec/ogurec.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/* Copyright 2021 drhigsby
*
* 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 "quantum.h"

#if defined(KEYBOARD_ogurec_left_pm)
# include "left_pm.h"
#elif defined(KEYBOARD_ogurec_right_pm)
# include "right_pm.h"
#endif
27 changes: 27 additions & 0 deletions keyboards/ogurec/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# ogurec

![ogurec](https://i.imgur.com/OJ5UnXT.png)

ogurec is a reversible 12u x 3u ortholinear keyboard that offers left-sided and right-sided PM placement.

The default ogurec keymap is for left-sided PM placement.

When flashing ogurec with the PM soldered onto the right side, follow the second example below and use: make ogure/right_pm:default

* Keyboard Maintainer: [H. Bond](https://github.com/drhigsby)
* Hardware Supported: ogurec (https://github.com/drhigsby/ogurec)
* Hardware Availability: open source 3DP case available here https://github.com/drhigsby (case creator: https://github.com/dpalka15)

Make example for this keyboard (after setting up your build environment):
drhigsby marked this conversation as resolved.
Show resolved Hide resolved

make ogurec:default
make ogurec/right_pm:default

To place the keyboard into bootloader mode, solder a reset switch onto the PCB and press it OR short the GND and RST pins on the pro micro.

Flashing example for this keyboard:

make ogurec:default:flash
make ogurec/right_pm: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).
13 changes: 13 additions & 0 deletions keyboards/ogurec/right_pm/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# ogurec keymap for right-sided PM placement

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

make ogurec/right_pm:default

Flashing example for this keyboard:

make ogurec/right_pm:default:flash

To place the keyboard into bootloader mode, solder a reset switch onto the PCB and press it OR short the GND and RST pins on the pro micro.

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).
Loading