* Added BareDev keyboard * Updated readme.md to reflect handwired directory * Simplified keycodes for basic GUI + [KEY]pull/15605/head
@ -0,0 +1,25 @@ | |||
/* | |||
Copyright 2021 Fernando "ManoShu" Rodrigues | |||
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" | |||
/* disable these deprecated features by default */ | |||
#define NO_ACTION_MACRO | |||
#define NO_ACTION_FUNCTION | |||
@ -0,0 +1,706 @@ | |||
{ | |||
"manufacturer": "Fernando \"ManoShu\" Rodrigues", | |||
"keyboard_name": "BareDev (rev1)", | |||
"url": "https://github.com/ManoShu/BareDev", | |||
"maintainer": "ManoShu", | |||
"debounce": 5, | |||
"diode_direction": "COL2ROW", | |||
"tapping": { | |||
"term": 175 | |||
}, | |||
"matrix_pins": { | |||
"unused": [ | |||
"F1", | |||
"F4", | |||
"F5", | |||
"F6", | |||
"F7" | |||
], | |||
"cols": [ | |||
"B6", | |||
"B7", | |||
"C6", | |||
"C7", | |||
"D0", | |||
"D1", | |||
"D2", | |||
"D3", | |||
"D4", | |||
"D5", | |||
"D6", | |||
"D7", | |||
"E6", | |||
"F0" | |||
], | |||
"rows": [ | |||
"B0", | |||
"B1", | |||
"B2", | |||
"B3", | |||
"B4", | |||
"B5" | |||
] | |||
}, | |||
"usb": { | |||
"vid": "0xFEED", | |||
"pid": "0x4126", | |||
"device_ver": "0x0001", | |||
"polling_interval": 1, | |||
"shared_endpoint": { | |||
"keyboard": true | |||
} | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "atmel-dfu", | |||
"features": { | |||
"audio": false, | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"midi": false, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": false, | |||
"unicode": false, | |||
"bluetooth": false, | |||
"backlight": false, | |||
"sleep_led": false | |||
}, | |||
"layout_aliases": { | |||
"LAYOUT": "LAYOUT_abnt2" | |||
}, | |||
"layouts": { | |||
"LAYOUT_abnt2": { | |||
"layout": [ | |||
{ | |||
"matrix": [ | |||
0, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
2 | |||
], | |||
"x": 2, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
3 | |||
], | |||
"x": 3, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
4 | |||
], | |||
"x": 4, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
5 | |||
], | |||
"x": 5, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
6 | |||
], | |||
"x": 6.5, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
7 | |||
], | |||
"x": 7.5, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
8 | |||
], | |||
"x": 8.5, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
9 | |||
], | |||
"x": 9.5, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
10 | |||
], | |||
"x": 11, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
11 | |||
], | |||
"x": 12, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
12 | |||
], | |||
"x": 13, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
0, | |||
13 | |||
], | |||
"x": 14, | |||
"y": 0 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
1 | |||
], | |||
"x": 1, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
2 | |||
], | |||
"x": 2, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
3 | |||
], | |||
"x": 3, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
4 | |||
], | |||
"x": 4, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
5 | |||
], | |||
"x": 5, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
6 | |||
], | |||
"x": 6, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
7 | |||
], | |||
"x": 7, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
8 | |||
], | |||
"x": 8, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
9 | |||
], | |||
"x": 9, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
10 | |||
], | |||
"x": 10, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
11 | |||
], | |||
"x": 11, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
12 | |||
], | |||
"x": 12, | |||
"y": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
1, | |||
13 | |||
], | |||
"x": 13, | |||
"y": 1.25, | |||
"w": 2 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 2.25, | |||
"w": 1.5 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
1 | |||
], | |||
"x": 1.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
2 | |||
], | |||
"x": 2.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
3 | |||
], | |||
"x": 3.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
4 | |||
], | |||
"x": 4.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
5 | |||
], | |||
"x": 5.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
6 | |||
], | |||
"x": 6.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
7 | |||
], | |||
"x": 7.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
8 | |||
], | |||
"x": 8.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
9 | |||
], | |||
"x": 9.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
10 | |||
], | |||
"x": 10.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
11 | |||
], | |||
"x": 11.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
12 | |||
], | |||
"x": 12.5, | |||
"y": 2.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
2, | |||
13 | |||
], | |||
"x": 13.75, | |||
"y": 2.25, | |||
"w": 1.25, | |||
"h": 2 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 3.25, | |||
"w": 1.75 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
1 | |||
], | |||
"x": 1.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
2 | |||
], | |||
"x": 2.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
3 | |||
], | |||
"x": 3.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
4 | |||
], | |||
"x": 4.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
5 | |||
], | |||
"x": 5.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
6 | |||
], | |||
"x": 6.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
7 | |||
], | |||
"x": 7.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
8 | |||
], | |||
"x": 8.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
9 | |||
], | |||
"x": 9.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
10 | |||
], | |||
"x": 10.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
11 | |||
], | |||
"x": 11.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
3, | |||
12 | |||
], | |||
"x": 12.75, | |||
"y": 3.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 4.25, | |||
"w": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
1 | |||
], | |||
"x": 1.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
2 | |||
], | |||
"x": 2.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
3 | |||
], | |||
"x": 3.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
4 | |||
], | |||
"x": 4.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
5 | |||
], | |||
"x": 5.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
6 | |||
], | |||
"x": 6.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
7 | |||
], | |||
"x": 7.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
8 | |||
], | |||
"x": 8.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
9 | |||
], | |||
"x": 9.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
10 | |||
], | |||
"x": 10.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
11 | |||
], | |||
"x": 11.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
12 | |||
], | |||
"x": 12.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
4, | |||
13 | |||
], | |||
"x": 13.25, | |||
"y": 4.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
0 | |||
], | |||
"x": 0, | |||
"y": 5.25, | |||
"w": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
1 | |||
], | |||
"x": 1.25, | |||
"y": 5.25, | |||
"w": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
2 | |||
], | |||
"x": 2.5, | |||
"y": 5.25, | |||
"w": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
6 | |||
], | |||
"x": 3.75, | |||
"y": 5.25, | |||
"w": 6.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
9 | |||
], | |||
"x": 10, | |||
"y": 5.25, | |||
"w": 1.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
10 | |||
], | |||
"x": 11.25, | |||
"y": 5.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
11 | |||
], | |||
"x": 12.25, | |||
"y": 5.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
12 | |||
], | |||
"x": 13.25, | |||
"y": 5.25 | |||
}, | |||
{ | |||
"matrix": [ | |||
5, | |||
13 | |||
], | |||
"x": 14.25, | |||
"y": 5.25 | |||
} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,56 @@ | |||
/* Copyright 2021 Fernando "ManoShu" Rodrigues | |||
* | |||
* 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 | |||
#include "keymap_br_abnt2.h" | |||
enum { | |||
LAYER_BASE, | |||
LAYER_FUNCTIONS | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[LAYER_BASE] = LAYOUT( | |||
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ | |||
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, | |||
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ | |||
BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC, | |||
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ | |||
KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT, | |||
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */ | |||
KC_CAPS, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC, | |||
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */ | |||
KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP, | |||
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */ | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT | |||
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ | |||
), | |||
[LAYER_FUNCTIONS] = LAYOUT( | |||
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ | |||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, | |||
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ | |||
_______, KC_MPLY, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */ | |||
_______, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */ | |||
_______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | |||
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */ | |||
_______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGDN, KC_END | |||
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ | |||
) | |||
}; |
@ -0,0 +1,7 @@ | |||
![BareDev Layout Image](https://i.imgur.com/uP8Jzvi.png) | |||
# Default BareDev layout | |||
Has all the functions of a ABNT TKL keyboard, sans right shift. | |||
Basic media functions also included. |
@ -0,0 +1,99 @@ | |||
/* Copyright 2021 Fernando "ManoShu" Rodrigues | |||
* | |||
* 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 | |||
#include "keymap_br_abnt2.h" | |||
#include "sendstring_br_abnt2.h" | |||
enum { | |||
LAYER_BASE, | |||
LAYER_FUNCTIONS | |||
}; | |||
#define L_FUNCT MO(LAYER_FUNCTIONS) | |||
#define W_CHOLD LGUI_T(KC_CAPS) | |||
//Combination keycodes | |||
#define KC_PSBR C(KC_PAUSE) // Ctrl+Pause/Break | |||
#define KC_SNIP SGUI(BR_S) // Screen Snip (GUI + Shift + S) | |||
#define KC_WRUN G(BR_R) // Run (GUI + R) | |||
#define KC_WLCK G(BR_L) // Lock (GUI + L) | |||
#define KC_WDSK G(BR_D) // Desktop (GUI + D) | |||
#define KC_WEXP G(BR_E) // Explorer (GUI + E) | |||
#define KC_WPSE G(KC_PAUSE) // System Properties (GUI + Pause) | |||
#define KC_WMGP G(BR_EQL) // Magnify (+) | |||
#define KC_WMGM G(BR_MINS) // Magnify (-) | |||
enum custom_keycodes { | |||
KC_WPRN = SAFE_RANGE, // Project (P) | |||
KC_WSPC // Input Select (Space) | |||
}; | |||
layer_state_t layer_state_set_user(layer_state_t state) { | |||
if (get_highest_layer(state) == LAYER_BASE) { | |||
unregister_mods(MOD_MASK_GUI); | |||
} | |||
return state; | |||
} | |||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
if(keycode == KC_WPRN || keycode == KC_WSPC) { | |||
if (record->event.pressed) { | |||
register_code(KC_LGUI); | |||
if(keycode == KC_WPRN) { | |||
tap_code(KC_P); | |||
} else if (keycode == KC_WSPC) { | |||
tap_code(KC_SPACE); | |||
} | |||
} | |||
} | |||
return true; | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[LAYER_BASE] = LAYOUT( | |||
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ | |||
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, | |||
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ | |||
BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC, | |||
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ | |||
KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT, | |||
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */ | |||
W_CHOLD, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC, | |||
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */ | |||
KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP, | |||
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */ | |||
KC_LCTL, L_FUNCT, KC_LALT, KC_SPC, KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT | |||
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ | |||
), | |||
[LAYER_FUNCTIONS] = LAYOUT( | |||
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ | |||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP, | |||
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */ | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WMGM, KC_WMGP, _______, | |||
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */ | |||
_______, KC_MPLY, KC_MUTE, KC_WEXP, KC_WRUN, _______, _______, _______, _______, _______, KC_WPRN, _______, _______, _______, | |||
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */ | |||
_______, KC_MPRV, KC_MNXT, KC_WDSK, _______, _______, _______, _______, _______, KC_WLCK, _______, _______, _______, | |||
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */ | |||
_______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, | |||
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */ | |||
_______, _______, _______, KC_WSPC, _______, KC_INS, KC_HOME, KC_PGDN, KC_END | |||
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ | |||
) | |||
}; |
@ -0,0 +1,16 @@ | |||
![BareDev Layout Image](https://i.imgur.com/FXye4Hn.png) | |||
# ManoShu's custom layout | |||
Has all the functions of a ABNT TKL keyboard, sans right shift. | |||
Basic media functions also included. | |||
Trying to emulate where notebooks/smaller OEM keyboard put the function key, for this reason the GUI key was moved and it can be used by holding the Caps Lock key. | |||
To not use the new GUI position very often, commonly used GUI + [X] commands are sent using `SEND_STRING()`, `(un)register_code()` and `tap_code()`. | |||
## Why you didn't used `LT(FUNCTIONS, KC_LGUI)` on the GUI/FN key? | |||
Because I don't want rely on the tapping term to determine I will send either KC_HOME or snap the active window to the left. | |||
If there is a better way to solve this, please let me know. |
@ -0,0 +1,29 @@ | |||
# BareDev (rev1) | |||
![PCB](https://i.imgur.com/byquO5u.png) | |||
![Prototype Build](https://i.imgur.com/fkizunN.png) | |||
An open-source, ABNT2-based 70% keyboard, focusing in a smaller footprint while retaining all the functions found on a TKL (Del and arrow keys doubling as the navigational cluster) | |||
* Keyboard Maintainer: [Fernando "ManoShu" Rodrigues](https://github.com/ManoShu) | |||
* Hardware Supported: BareDev rev1 PCB | |||
* Hardware Availability: Files available on [GitHub](https://github.com/ManoShu/BareDev) | |||
Make example for this keyboard (after setting up your build environment): | |||
make handwired/baredev/rev1:default | |||
Flashing example for this keyboard: | |||
make handwired/baredev/rev1: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). | |||
## Bootloader | |||
Enter the bootloader in 3 ways: | |||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard | |||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead | |||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available |
@ -0,0 +1,17 @@ | |||
/* Copyright 2021 Fernando "ManoShu" Rodrigues | |||
* | |||
* 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 "rev1.h" |
@ -0,0 +1,19 @@ | |||
/* Copyright 2021 Fernando "ManoShu" Rodrigues | |||
* | |||
* 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" |