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 all 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
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": {
"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/dack/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 IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_TERM 230
#define TAPPING_TERM_PER_KEY
97 changes: 97 additions & 0 deletions keyboards/ogurec/keymaps/dack/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
/* 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 custom_layers {
_BASE,
_CLOSE,
_FAR,
_FUNKY,
};
#define CLS_SPC LT(_CLOSE, KC_SPC)
#define FAR_F LT(_FAR, KC_F)
#define FNK_D LT(_FUNKY, KC_D)
#define SFT_Z LSFT_T(KC_Z)
#define SFT_ENT RSFT_T(KC_ENT)
#define CTL_X LCTL_T(KC_X)
#define CTL_DOT RCTL_T(KC_DOT)
#define WIN_C LWIN_T(KC_C)
#define WIN_COMM RWIN_T(KC_COMM)
#define ALT_V LALT_T(KC_V)
#define ALT_M LALT_T(KC_M)
#define COPY LCTL(KC_C)
#define PASTE LCTL(KC_V)
#define CUT LCTL(KC_X)
#define UNDO LCTL(KC_Z)
#define RUS_TGL RALT(KC_LSFT)
#define LOCK LWIN(KC_L)
#define vvv KC_TRNS

enum custom_keycodes {
TYPEDON = SAFE_RANGE
};

bool process_record_user(uint16_t keycode, keyrecord_t* record) {
if (record->event.pressed) {
switch (keycode) {
case TYPEDON:
SEND_STRING("[typed on an ogurec]");
return false;
}
}
return true;
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ortho_3x12(
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, FNK_D, FAR_F, KC_G, KC_GRAVE, KC_SCOLON, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
SFT_Z, CTL_X, WIN_C, ALT_V, KC_B, KC_BSPC, CLS_SPC, KC_N, ALT_M, WIN_COMM, CTL_DOT, SFT_ENT
),

[_CLOSE] = LAYOUT_ortho_3x12(
KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
KC_MINUS, KC_UNDS, KC_EQL, KC_PLUS, _______, _______, vvv, _______, KC_SCOLON, KC_COLON, KC_SLSH, KC_QUES
),

[_FAR] = LAYOUT_ortho_3x12(
KC_ESC, TYPEDON, KC_BSLS, RUS_TGL,_______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS,
KC_CAPS, KC_TAB, KC_PIPE, vvv, LOCK, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL,
UNDO, CUT, COPY, PASTE, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, _______, _______, _______
),
[_FUNKY] = LAYOUT_ortho_3x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, vvv, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______
)

};

uint16_t get_tapping_term(uint16_t keycode, keyrecord_t* record) {
switch (keycode) {
case FAR_F:
return TAPPING_TERM - 50;
case CLS_SPC:
return TAPPING_TERM - 50;
case SFT_Z:
return TAPPING_TERM - 80;
case SFT_ENT:
return TAPPING_TERM - 75;
default:
return TAPPING_TERM;
}
}
3 changes: 3 additions & 0 deletions keyboards/ogurec/keymaps/dack/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Dack's Ogurec Keymap

This is Dack's personal ogurec keymap and it is for left-sided PM placement
Copy link
Member

Choose a reason for hiding this comment

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

Just by the way, if you want to make this keymap unavailable to build for right_pm you can move it to another keymaps/ folder under left_pm.

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(
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(
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(
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
Loading