[Keyboard] add bear_face/v2 (#9642)
* [keyboard] bear_face/v2 initial commit * restructured keyboard dir for multiple versions * fixed .json layouts for ISO * reformatted hard tabs to soft tabs * updated readmes * [keyboard] removed top-level info.json, keymaps * [bear_face/v2] changed matrix height, arrow key labels * fixed height 6 instead of 5 * symbols for arrows now directions (i.e. "Left" etc.) * [bear_face/v2] fixed ISO enter in .json * corrected placement for ISO enter * Update rules.mk * DEFAULT_FOLDER = bear_face/v1 * [bear_face] fixed matrix width in info.json * true matrix width is 15 * updated for v1 and v2 info.json * Update keyboards/bear_face/config.h * Update keyboards/bear_face/v1/info.json * Update keyboards/bear_face/v2/info.json * Update keyboards/bear_face/v2/info.json * Update keyboards/bear_face/rules.mk * Fixed default keymap tabs * changed from tabs to spaces
This commit is contained in:
		
							parent
							
								
									bcfb70a4cb
								
							
						
					
					
						commit
						51dbca2332
					
				| @ -16,19 +16,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #include "bear_face.h" | #include "bear_face.h" | ||||||
| 
 |  | ||||||
| void keyboard_pre_init_kb(void) { |  | ||||||
|     //Sets LED pin as output
 |  | ||||||
|     setPinOutput(F7); |  | ||||||
| 
 |  | ||||||
|     keyboard_pre_init_user(); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| bool led_update_kb(led_t led_state) { |  | ||||||
|     // Caps Lock LED indicator toggling code here
 |  | ||||||
|     bool res = led_update_user(led_state); |  | ||||||
|     if(res) { |  | ||||||
|         writePin(F7, led_state.caps_lock); |  | ||||||
|     } |  | ||||||
|     return res; |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -19,18 +19,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| 
 | 
 | ||||||
| #include "quantum.h" | #include "quantum.h" | ||||||
| 
 | 
 | ||||||
| #define LAYOUT_83_ansi( \ | #if defined(KEYBOARD_bear_face_v1) | ||||||
|     K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | #    include "v1.h" | ||||||
|     K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ | #elif defined(KEYBOARD_bear_face_v2) | ||||||
|     K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ | #    include "v2.h" | ||||||
|     K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, \ | #endif | ||||||
|     K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410,       K412, K413, K414, \ |  | ||||||
|     K500, K501, K502,             K505,                   K509, K510, K511, K512, K513, K514  \ |  | ||||||
| ) { \ |  | ||||||
|     { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014 }, \ |  | ||||||
|     { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \ |  | ||||||
|     { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \ |  | ||||||
|     { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314 }, \ |  | ||||||
|     { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  KC_NO, K412,  K413,  K414 }, \ |  | ||||||
|     { K500,  K501,  K502,  KC_NO, KC_NO, K505,  KC_NO, KC_NO, KC_NO, K509,  K510,  K511,  K512,  K513,  K514 }  \ |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -20,27 +20,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #include "config_common.h" | #include "config_common.h" | ||||||
| 
 | 
 | ||||||
| /* USB Device descriptor parameter */ | /* USB Device descriptor parameter */ | ||||||
| #define VENDOR_ID       0xCEEB | #define VENDOR_ID       0xFEED | ||||||
| #define PRODUCT_ID      0x09f5 | #define PRODUCT_ID      0x09f5 | ||||||
| #define DEVICE_VER      0x0001 |  | ||||||
| #define MANUFACTURER    chemicalwill | #define MANUFACTURER    chemicalwill | ||||||
| #define PRODUCT         bear_face | #define PRODUCT         bear_face | ||||||
| #define DESCRIPTION     Vortex Race 3 programmable PCB replacement |  | ||||||
| 
 | 
 | ||||||
| /* key matrix size */ | /* key matrix size */ | ||||||
| #define MATRIX_ROWS 6 | #define MATRIX_ROWS 6 | ||||||
| #define MATRIX_COLS 15 | #define MATRIX_COLS 15 | ||||||
| 
 | 
 | ||||||
| /*
 | /* bear_face matrix pinout */ | ||||||
|  * 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) |  | ||||||
|  * |  | ||||||
| */ |  | ||||||
| #define MATRIX_ROW_PINS { F5, F6, F4, F1, B0, B6 } | #define MATRIX_ROW_PINS { F5, F6, F4, F1, B0, B6 } | ||||||
| #define MATRIX_COL_PINS { B5, C7, C6, F0, E6, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4 } | #define MATRIX_COL_PINS { B5, C7, C6, F0, E6, B7, D0, D1, D2, D3, D5, D4, D6, D7, B4 } | ||||||
| #define UNUSED_PINS | #define UNUSED_PINS | ||||||
| @ -49,39 +38,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define DIODE_DIRECTION COL2ROW | #define DIODE_DIRECTION COL2ROW | ||||||
| 
 | 
 | ||||||
| #define BACKLIGHT_PIN F7 | #define BACKLIGHT_PIN F7 | ||||||
| //#define BACKLIGHT_BREATHING
 |  | ||||||
| //#define BACKLIGHT_LEVELS 3
 |  | ||||||
| 
 |  | ||||||
| // #define RGB_DI_PIN E2
 |  | ||||||
| // #ifdef RGB_DI_PIN
 |  | ||||||
| //   #define RGBLED_NUM 16
 |  | ||||||
| //   #define RGBLIGHT_HUE_STEP 8
 |  | ||||||
| //   #define RGBLIGHT_SAT_STEP 8
 |  | ||||||
| //   #define RGBLIGHT_VAL_STEP 8
 |  | ||||||
| //   #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
 |  | ||||||
| //   #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 |  | ||||||
| // /*== all animations enable ==*/
 |  | ||||||
| //   #define RGBLIGHT_ANIMATIONS
 |  | ||||||
| // /*== or choose animations ==*/
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_BREATHING
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_SNAKE
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_KNIGHT
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_CHRISTMAS
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_RGB_TEST
 |  | ||||||
| //   #define RGBLIGHT_EFFECT_ALTERNATING
 |  | ||||||
| // #endif
 |  | ||||||
| 
 | 
 | ||||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
| #define DEBOUNCE 6 | #define DEBOUNCE 6 | ||||||
| 
 | 
 | ||||||
| /* define if matrix has ghost (lacks anti-ghosting diodes) */ |  | ||||||
| //#define MATRIX_HAS_GHOST
 |  | ||||||
| 
 |  | ||||||
| /* number of backlight levels */ |  | ||||||
| 
 |  | ||||||
| /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||||
| #define LOCKING_SUPPORT_ENABLE | #define LOCKING_SUPPORT_ENABLE | ||||||
| /* Locking resynchronize hack */ | /* Locking resynchronize hack */ | ||||||
| @ -120,42 +80,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| /* control how magic key switches layers */ |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
 |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
 |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
 |  | ||||||
| 
 |  | ||||||
| /* override magic key keymap */ |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
 |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
 |  | ||||||
| //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
 |  | ||||||
| //#define MAGIC_KEY_HELP1          H
 |  | ||||||
| //#define MAGIC_KEY_HELP2          SLASH
 |  | ||||||
| //#define MAGIC_KEY_DEBUG          D
 |  | ||||||
| //#define MAGIC_KEY_DEBUG_MATRIX   X
 |  | ||||||
| //#define MAGIC_KEY_DEBUG_KBD      K
 |  | ||||||
| //#define MAGIC_KEY_DEBUG_MOUSE    M
 |  | ||||||
| //#define MAGIC_KEY_VERSION        V
 |  | ||||||
| //#define MAGIC_KEY_STATUS         S
 |  | ||||||
| //#define MAGIC_KEY_CONSOLE        C
 |  | ||||||
| //#define MAGIC_KEY_LAYER0_ALT1    ESC
 |  | ||||||
| //#define MAGIC_KEY_LAYER0_ALT2    GRAVE
 |  | ||||||
| //#define MAGIC_KEY_LAYER0         0
 |  | ||||||
| //#define MAGIC_KEY_LAYER1         1
 |  | ||||||
| //#define MAGIC_KEY_LAYER2         2
 |  | ||||||
| //#define MAGIC_KEY_LAYER3         3
 |  | ||||||
| //#define MAGIC_KEY_LAYER4         4
 |  | ||||||
| //#define MAGIC_KEY_LAYER5         5
 |  | ||||||
| //#define MAGIC_KEY_LAYER6         6
 |  | ||||||
| //#define MAGIC_KEY_LAYER7         7
 |  | ||||||
| //#define MAGIC_KEY_LAYER8         8
 |  | ||||||
| //#define MAGIC_KEY_LAYER9         9
 |  | ||||||
| //#define MAGIC_KEY_BOOTLOADER     PAUSE
 |  | ||||||
| //#define MAGIC_KEY_LOCK           CAPS
 |  | ||||||
| //#define MAGIC_KEY_EEPROM         E
 |  | ||||||
| //#define MAGIC_KEY_NKRO           N
 |  | ||||||
| //#define MAGIC_KEY_SLEEP_LED      Z
 |  | ||||||
| 
 |  | ||||||
| /*
 | /*
 | ||||||
|  * Feature disable options |  * Feature disable options | ||||||
|  *  These options are also useful to firmware size reduction. |  *  These options are also useful to firmware size reduction. | ||||||
|  | |||||||
| @ -1,19 +0,0 @@ | |||||||
| { |  | ||||||
|   "keyboard_name": "bear_face",  |  | ||||||
|   "url": "https://github.com/chemicalwill/bear_face_pcb",  |  | ||||||
|   "maintainer": "chemicalwill",  |  | ||||||
|   "width": 16,  |  | ||||||
|   "height": 5,  |  | ||||||
|   "layouts": { |  | ||||||
|       "LAYOUT_83_ansi": { |  | ||||||
|           "layout": [ |  | ||||||
|             {"label":"Esc", "x":0, "y":0, "w":1.5}, {"label":"F1", "x":1.5, "y":0}, {"label":"F2", "x":2.5, "y":0}, {"label":"F3", "x":3.5, "y":0}, {"label":"F4", "x":4.5, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.5, "y":0}, {"label":"F10", "x":10.5, "y":0}, {"label":"F11", "x":11.5, "y":0}, {"label":"F12", "x":12.5, "y":0}, {"label":"Pn", "x":13.5, "y":0}, {"label":"Delete", "x":14.5, "y":0, "w":1.5}, |  | ||||||
|             {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"{", "x":11, "y":1}, {"label":"}", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Home", "x":15, "y":1}, |  | ||||||
|             {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Pg Up", "x":15, "y":2}, |  | ||||||
|             {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Pg Dn", "x":15, "y":3}, |  | ||||||
|             {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"Up", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, |  | ||||||
|             {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"Left", "x":13, "y":5}, {"label":"Down", "x":14, "y":5}, {"label":"Right", "x":15, "y":5} |  | ||||||
|           ] |  | ||||||
|       } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,117 +0,0 @@ | |||||||
| /*
 |  | ||||||
| Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 |  | ||||||
| 
 |  | ||||||
| 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 { |  | ||||||
|     _QWER, |  | ||||||
|     _COLE, |  | ||||||
|     _DVOR, |  | ||||||
|     _FN1, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #define FN1_CAPS LT(_FN1, KC_CAPS) |  | ||||||
| 
 |  | ||||||
| //custom keycode enums
 |  | ||||||
| enum custom_keycodes { |  | ||||||
|   BASE_QWER = SAFE_RANGE, |  | ||||||
|   BASE_COLE, |  | ||||||
|   BASE_DVOR |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |  | ||||||
|   [_QWER] = LAYOUT_83_ansi( |  | ||||||
|     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_NO,   KC_DEL, |  | ||||||
|     KC_GRV,   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_HOME, |  | ||||||
|     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_PGUP, |  | ||||||
|     FN1_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_PGDN, |  | ||||||
|     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_END, |  | ||||||
|     KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   [_COLE] = LAYOUT_83_ansi( |  | ||||||
|     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_NO,   KC_DEL, |  | ||||||
|     KC_GRV,  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_HOME, |  | ||||||
|     KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN,  KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, |  | ||||||
|     KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,     KC_QUOT,          KC_ENT,  KC_PGDN, |  | ||||||
|     KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,           KC_RSFT, KC_UP,   KC_END, |  | ||||||
|     KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   [_DVOR] = LAYOUT_83_ansi( |  | ||||||
|     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_NO,   KC_DEL, |  | ||||||
|     KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,     KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, |  | ||||||
|     KC_TAB,   KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,     KC_SLSH, KC_EQL,  KC_BSLS, KC_PGUP, |  | ||||||
|     FN1_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,     KC_MINS,          KC_ENT,  KC_PGDN, |  | ||||||
|     KC_LSFT,  KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,              KC_RSFT, KC_UP,   KC_END, |  | ||||||
|     KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   [_FN1] = LAYOUT_83_ansi( |  | ||||||
|     _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, |  | ||||||
|     _______, _______, _______, _______, RESET,   _______, _______, _______, _______, RESET,   _______, _______, _______, _______, BASE_COLE, |  | ||||||
|     _______, _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, BASE_DVOR, |  | ||||||
|     _______, KC_APP,  _______, _______, _______, _______, _______, _______, _______, _______, KC_APP,           _______, _______, _______, |  | ||||||
|     _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ |  | ||||||
|   ), |  | ||||||
| 
 |  | ||||||
|   /*
 |  | ||||||
|   [_BLANK] = LAYOUT_83_ansi( |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, |  | ||||||
|     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, |  | ||||||
|     _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ |  | ||||||
|   ), |  | ||||||
|   */ |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| //macros to allow the user to set whatever default layer they want, even after reboot
 |  | ||||||
| 
 |  | ||||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { |  | ||||||
|   switch (keycode) { |  | ||||||
|     case BASE_QWER: |  | ||||||
|       if (record->event.pressed) { |  | ||||||
|         // when keycode BASE_QWER is pressed
 |  | ||||||
|         set_single_persistent_default_layer(_QWER); |  | ||||||
|       } else { |  | ||||||
|         // when keycode BASE_QWER is released
 |  | ||||||
|       } |  | ||||||
|       break; |  | ||||||
| 
 |  | ||||||
|     case BASE_COLE: |  | ||||||
|       if (record->event.pressed) { |  | ||||||
|         // when keycode BASE_COLE is pressed
 |  | ||||||
|         set_single_persistent_default_layer(_COLE); |  | ||||||
|       } else { |  | ||||||
|         // when keycode BASE_COLE is released
 |  | ||||||
|       } |  | ||||||
|       break; |  | ||||||
| 
 |  | ||||||
|     case BASE_DVOR: |  | ||||||
|       if (record->event.pressed) { |  | ||||||
|         // when keycode BASE_DVOR is pressed
 |  | ||||||
|         set_single_persistent_default_layer(_DVOR); |  | ||||||
|       } else { |  | ||||||
|         // when keycode BASE_DVOR is released
 |  | ||||||
|       } |  | ||||||
|       break; |  | ||||||
|   } |  | ||||||
|   return true; |  | ||||||
| }; |  | ||||||
| @ -1,15 +1,16 @@ | |||||||
| # bear_face | # bear_face | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| 
 | 
 | ||||||
| Vortex Race 3 with replacement QMK-compatible PCB designed by [chemicalwill](https://github.com/chemicalwill) | QMK-compatible replacement PCB for the Vortex Race 3 designed by [chemicalwill](https://github.com/chemicalwill) | ||||||
| 
 | 
 | ||||||
| * Keyboard Maintainer: [Will Hedges](https://github.com/chemicalwill) | * Keyboard Maintainer: [chemicalwill](https://github.com/chemicalwill) | ||||||
| * Hardware Supported: bear_face v1.0, atmega32u4 | * Hardware Supported: bear_face v1, v2; atmega32u4 | ||||||
| * Hardware Availability: [PCB files](https://github.com/chemicalwill/bear_face) | * Hardware Availability: [currently by request](https://www.reddit.com/message/compose?to=chemicalwill&subject=bear_face%20v2) | ||||||
| 
 | 
 | ||||||
| Make example for this keyboard (after setting up your build environment): | Make example for this keyboard (after setting up your build environment): | ||||||
| 
 | 
 | ||||||
|     make bear_face:default |     make bear_face/v1:default | ||||||
|  |     make bear_face/v2:default | ||||||
| 
 | 
 | ||||||
| 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). | 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). | ||||||
|  | |||||||
| @ -2,20 +2,12 @@ | |||||||
| MCU = atmega32u4 | MCU = atmega32u4 | ||||||
| 
 | 
 | ||||||
| # Bootloader selection
 | # Bootloader selection
 | ||||||
| #   Teensy       halfkay
 |  | ||||||
| #   Pro Micro    caterina
 |  | ||||||
| #   Atmel DFU    atmel-dfu
 |  | ||||||
| #   LUFA DFU     lufa-dfu
 |  | ||||||
| #   QMK DFU      qmk-dfu
 |  | ||||||
| #   ATmega32A    bootloadHID
 |  | ||||||
| #   ATmega328P   USBasp
 |  | ||||||
| BOOTLOADER = atmel-dfu | BOOTLOADER = atmel-dfu | ||||||
| 
 | 
 | ||||||
| # Build Options
 | # Build Options
 | ||||||
| #   change yes to no to disable
 | #   change yes to no to disable
 | ||||||
| #
 |  | ||||||
| BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration | BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration | ||||||
| MOUSEKEY_ENABLE = yes       # Mouse keys | MOUSEKEY_ENABLE = no        # Mouse keys | ||||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control | EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||||
| CONSOLE_ENABLE = no         # Console for debug | CONSOLE_ENABLE = no         # Console for debug | ||||||
| COMMAND_ENABLE = no         # Commands for debug and configuration | COMMAND_ENABLE = no         # Commands for debug and configuration | ||||||
| @ -26,6 +18,7 @@ NKRO_ENABLE = yes           # USB Nkey Rollover | |||||||
| BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | ||||||
| RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
| MIDI_ENABLE = no            # MIDI controls | MIDI_ENABLE = no            # MIDI controls | ||||||
| UNICODE_ENABLE = no         # Unicode | BLUETOOTH_ENABLE = no       # Enable Bluetooth | ||||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | AUDIO_ENABLE = no           # Audio output6 | ||||||
| AUDIO_ENABLE = no           # Audio output on port C6 | 
 | ||||||
|  | DEFAULT_FOLDER = bear_face/v1 | ||||||
|  | |||||||
							
								
								
									
										19
									
								
								keyboards/bear_face/v1/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/bear_face/v1/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define DEVICE_VER      0x0100 | ||||||
							
								
								
									
										101
									
								
								keyboards/bear_face/v1/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								keyboards/bear_face/v1/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,101 @@ | |||||||
|  | { | ||||||
|  |     "keyboard_name": "bear_face", | ||||||
|  |     "url": "https://github.com/chemicalwill/bear_face_pcb", | ||||||
|  |     "maintainer": "chemicalwill", | ||||||
|  |     "width": 15, | ||||||
|  |     "height": 6, | ||||||
|  |     "layouts": { | ||||||
|  |         "LAYOUT_83_ansi": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"label":"Esc", "x":0, "y":0, "w":1.5}, | ||||||
|  |                 {"label":"F1", "x":1.5, "y":0}, | ||||||
|  |                 {"label":"F2", "x":2.5, "y":0}, | ||||||
|  |                 {"label":"F3", "x":3.5, "y":0}, | ||||||
|  |                 {"label":"F4", "x":4.5, "y":0}, | ||||||
|  |                 {"label":"F5", "x":5.5, "y":0}, | ||||||
|  |                 {"label":"F6", "x":6.5, "y":0}, | ||||||
|  |                 {"label":"F7", "x":7.5, "y":0}, | ||||||
|  |                 {"label":"F8", "x":8.5, "y":0}, | ||||||
|  |                 {"label":"F9", "x":9.5, "y":0}, | ||||||
|  |                 {"label":"F10", "x":10.5, "y":0}, | ||||||
|  |                 {"label":"F11", "x":11.5, "y":0}, | ||||||
|  |                 {"label":"F12", "x":12.5, "y":0}, | ||||||
|  |                 {"label":"Pn", "x":13.5, "y":0}, | ||||||
|  |                 {"label":"Delete", "x":14.5, "y":0, "w":1.5}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"~", "x":0, "y":1}, | ||||||
|  |                 {"label":"!", "x":1, "y":1}, | ||||||
|  |                 {"label":"@", "x":2, "y":1}, | ||||||
|  |                 {"label":"#", "x":3, "y":1}, | ||||||
|  |                 {"label":"$", "x":4, "y":1}, | ||||||
|  |                 {"label":"%", "x":5, "y":1}, | ||||||
|  |                 {"label":"^", "x":6, "y":1}, | ||||||
|  |                 {"label":"&", "x":7, "y":1}, | ||||||
|  |                 {"label":"*", "x":8, "y":1}, | ||||||
|  |                 {"label":"(", "x":9, "y":1}, | ||||||
|  |                 {"label":")", "x":10, "y":1}, | ||||||
|  |                 {"label":"_", "x":11, "y":1}, | ||||||
|  |                 {"label":"+", "x":12, "y":1}, | ||||||
|  |                 {"label":"Backspace", "x":13, "y":1, "w":2}, | ||||||
|  |                 {"label":"Home", "x":15, "y":1}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Tab", "x":0, "y":2, "w":1.5}, | ||||||
|  |                 {"label":"Q", "x":1.5, "y":2}, | ||||||
|  |                 {"label":"W", "x":2.5, "y":2}, | ||||||
|  |                 {"label":"E", "x":3.5, "y":2}, | ||||||
|  |                 {"label":"R", "x":4.5, "y":2}, | ||||||
|  |                 {"label":"T", "x":5.5, "y":2}, | ||||||
|  |                 {"label":"Y", "x":6.5, "y":2}, | ||||||
|  |                 {"label":"U", "x":7.5, "y":2}, | ||||||
|  |                 {"label":"I", "x":8.5, "y":2}, | ||||||
|  |                 {"label":"O", "x":9.5, "y":2}, | ||||||
|  |                 {"label":"P", "x":10.5, "y":2}, | ||||||
|  |                 {"label":"{", "x":11.5, "y":2}, | ||||||
|  |                 {"label":"}", "x":12.5, "y":2}, | ||||||
|  |                 {"label":"|", "x":13.5, "y":2, "w":1.5}, | ||||||
|  |                 {"label":"Pg Up", "x":15, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, | ||||||
|  |                 {"label":"A", "x":1.75, "y":3}, | ||||||
|  |                 {"label":"S", "x":2.75, "y":3}, | ||||||
|  |                 {"label":"D", "x":3.75, "y":3}, | ||||||
|  |                 {"label":"F", "x":4.75, "y":3}, | ||||||
|  |                 {"label":"G", "x":5.75, "y":3}, | ||||||
|  |                 {"label":"H", "x":6.75, "y":3}, | ||||||
|  |                 {"label":"J", "x":7.75, "y":3}, | ||||||
|  |                 {"label":"K", "x":8.75, "y":3}, | ||||||
|  |                 {"label":"L", "x":9.75, "y":3}, | ||||||
|  |                 {"label":":", "x":10.75, "y":3}, | ||||||
|  |                 {"label":"\"", "x":11.75, "y":3}, | ||||||
|  |                 {"label":"Enter", "x":12.75, "y":3, "w":2.25}, | ||||||
|  |                 {"label":"Pg Dn", "x":15, "y":3}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Shift", "x":0, "y":4, "w":2.25}, | ||||||
|  |                 {"label":"Z", "x":2.25, "y":4}, | ||||||
|  |                 {"label":"X", "x":3.25, "y":4}, | ||||||
|  |                 {"label":"C", "x":4.25, "y":4}, | ||||||
|  |                 {"label":"V", "x":5.25, "y":4}, | ||||||
|  |                 {"label":"B", "x":6.25, "y":4}, | ||||||
|  |                 {"label":"N", "x":7.25, "y":4}, | ||||||
|  |                 {"label":"M", "x":8.25, "y":4}, | ||||||
|  |                 {"label":"<", "x":9.25, "y":4}, | ||||||
|  |                 {"label":">", "x":10.25, "y":4}, | ||||||
|  |                 {"label":"?", "x":11.25, "y":4}, | ||||||
|  |                 {"label":"Shift", "x":12.25, "y":4, "w":1.75}, | ||||||
|  |                 {"label":"Up", "x":14, "y":4}, | ||||||
|  |                 {"label":"End", "x":15, "y":4}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Ctrl", "x":0, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Win", "x":1.25, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Alt", "x":2.5, "y":5, "w":1.25}, | ||||||
|  |                 {"x":3.75, "y":5, "w":6.25}, | ||||||
|  |                 {"label":"Alt", "x":10, "y":5}, | ||||||
|  |                 {"label":"Fn", "x":11, "y":5}, | ||||||
|  |                 {"label":"Ctrl", "x":12, "y":5}, | ||||||
|  |                 {"label":"Left", "x":13, "y":5}, | ||||||
|  |                 {"label":"Down", "x":14, "y":5}, | ||||||
|  |                 {"label":"Right", "x":15, "y":5} | ||||||
|  |             ] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										117
									
								
								keyboards/bear_face/v1/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								keyboards/bear_face/v1/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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 { | ||||||
|  |     _QWER, | ||||||
|  |     _COLE, | ||||||
|  |     _DVOR, | ||||||
|  |     _FN1, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define FN1_CAPS LT(_FN1, KC_CAPS) | ||||||
|  | 
 | ||||||
|  | //custom keycode enums
 | ||||||
|  | enum custom_keycodes { | ||||||
|  |     BASE_QWER = SAFE_RANGE, | ||||||
|  |     BASE_COLE, | ||||||
|  |     BASE_DVOR | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [_QWER] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   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_HOME, | ||||||
|  |         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_PGUP, | ||||||
|  |         FN1_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_PGDN, | ||||||
|  |         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_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_COLE] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,  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_HOME, | ||||||
|  |         KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN,  KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, | ||||||
|  |         KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,     KC_QUOT,          KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,           KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_DVOR] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,     KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, | ||||||
|  |         KC_TAB,   KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,     KC_SLSH, KC_EQL,  KC_BSLS, KC_PGUP, | ||||||
|  |         FN1_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,     KC_MINS,          KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT,  KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,              KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_FN1] = LAYOUT_83_ansi( | ||||||
|  |         _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, | ||||||
|  |         _______, _______, _______, _______, RESET,   _______, _______, _______, _______, RESET,   _______, _______, _______, _______, BASE_COLE, | ||||||
|  |         _______, _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, BASE_DVOR, | ||||||
|  |         _______, KC_APP,  _______, _______, _______, _______, _______, _______, _______, _______, KC_APP,           _______, _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |     [_BLANK] = LAYOUT_83_ansi( | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | */ | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //macros to allow the user to set whatever default layer they want, even after reboot
 | ||||||
|  | 
 | ||||||
|  | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |     switch (keycode) { | ||||||
|  |         case BASE_QWER: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_QWER is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_QWER); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_QWER is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_COLE: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_COLE is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_COLE); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_COLE is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_DVOR: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_DVOR is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_DVOR); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_DVOR is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |     return true; | ||||||
|  | }; | ||||||
| @ -5,10 +5,11 @@ This layout replaces the stock layout on the Vortex Race 3. | |||||||
| - Caps Lock indicator LED is enabled by default | - Caps Lock indicator LED is enabled by default | ||||||
| - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) | - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) | ||||||
| - FORCE_NKRO enabled by default | - FORCE_NKRO enabled by default | ||||||
|  | 
 | ||||||
| - Pn key is set to 'KC_NO' by default | - Pn key is set to 'KC_NO' by default | ||||||
|     * might be a good place for a macro, or to put your PC to sleep, etc. |     * Might be a good place for a macro, or to put your PC to sleep, etc. | ||||||
| - a combined function layer that mimics the sublegends on the stock caps (regardless of layout) | 
 | ||||||
|  | - A combined function layer that mimics the sublegends on the stock caps (regardless of layout) | ||||||
|     * 'Reset' will put the keyboard into DFU mode |     * 'Reset' will put the keyboard into DFU mode | ||||||
|     * 'APP' sends 'KC_APP' |     * 'APP' sends 'KC_APP' | ||||||
|     * set base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) |     * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) | ||||||
|      |  | ||||||
							
								
								
									
										0
									
								
								keyboards/bear_face/v1/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								keyboards/bear_face/v1/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										34
									
								
								keyboards/bear_face/v1/v1.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/bear_face/v1/v1.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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 "bear_face.h" | ||||||
|  | 
 | ||||||
|  | void keyboard_pre_init_kb(void) { | ||||||
|  |     //Sets LED pin as output
 | ||||||
|  |     setPinOutput(F7); | ||||||
|  | 
 | ||||||
|  |     keyboard_pre_init_user(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bool led_update_kb(led_t led_state) { | ||||||
|  |     // Caps Lock LED indicator toggling code here
 | ||||||
|  |     bool res = led_update_user(led_state); | ||||||
|  |     if(res) { | ||||||
|  |         writePin(F7, led_state.caps_lock); | ||||||
|  |     } | ||||||
|  |     return res; | ||||||
|  | } | ||||||
							
								
								
									
										36
									
								
								keyboards/bear_face/v1/v1.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								keyboards/bear_face/v1/v1.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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" | ||||||
|  | 
 | ||||||
|  | #define LAYOUT_83_ansi( \ | ||||||
|  |     K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||||||
|  |     K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ | ||||||
|  |     K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ | ||||||
|  |     K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, \ | ||||||
|  |     K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410,       K412, K413, K414, \ | ||||||
|  |     K500, K501, K502,             K505,                   K509, K510, K511, K512, K513, K514  \ | ||||||
|  | ) { \ | ||||||
|  |     { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014 }, \ | ||||||
|  |     { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \ | ||||||
|  |     { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \ | ||||||
|  |     { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314 }, \ | ||||||
|  |     { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  KC_NO, K412,  K413,  K414 }, \ | ||||||
|  |     { K500,  K501,  K502,  KC_NO, KC_NO, K505,  KC_NO, KC_NO, KC_NO, K509,  K510,  K511,  K512,  K513,  K514 }  \ | ||||||
|  | } | ||||||
							
								
								
									
										19
									
								
								keyboards/bear_face/v2/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/bear_face/v2/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define DEVICE_VER      0x0200 | ||||||
							
								
								
									
										195
									
								
								keyboards/bear_face/v2/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								keyboards/bear_face/v2/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,195 @@ | |||||||
|  | { | ||||||
|  |     "keyboard_name": "bear_face", | ||||||
|  |     "url": "https://github.com/chemicalwill/bear_face_pcb", | ||||||
|  |     "maintainer": "chemicalwill", | ||||||
|  |     "width": 15, | ||||||
|  |     "height": 6, | ||||||
|  |     "layouts": { | ||||||
|  |         "LAYOUT_83_ansi": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"label":"Esc", "x":0, "y":0, "w":1.5}, | ||||||
|  |                 {"label":"F1", "x":1.5, "y":0}, | ||||||
|  |                 {"label":"F2", "x":2.5, "y":0}, | ||||||
|  |                 {"label":"F3", "x":3.5, "y":0}, | ||||||
|  |                 {"label":"F4", "x":4.5, "y":0}, | ||||||
|  |                 {"label":"F5", "x":5.5, "y":0}, | ||||||
|  |                 {"label":"F6", "x":6.5, "y":0}, | ||||||
|  |                 {"label":"F7", "x":7.5, "y":0}, | ||||||
|  |                 {"label":"F8", "x":8.5, "y":0}, | ||||||
|  |                 {"label":"F9", "x":9.5, "y":0}, | ||||||
|  |                 {"label":"F10", "x":10.5, "y":0}, | ||||||
|  |                 {"label":"F11", "x":11.5, "y":0}, | ||||||
|  |                 {"label":"F12", "x":12.5, "y":0}, | ||||||
|  |                 {"label":"Pn", "x":13.5, "y":0}, | ||||||
|  |                 {"label":"Delete", "x":14.5, "y":0, "w":1.5}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"~", "x":0, "y":1}, | ||||||
|  |                 {"label":"!", "x":1, "y":1}, | ||||||
|  |                 {"label":"@", "x":2, "y":1}, | ||||||
|  |                 {"label":"#", "x":3, "y":1}, | ||||||
|  |                 {"label":"$", "x":4, "y":1}, | ||||||
|  |                 {"label":"%", "x":5, "y":1}, | ||||||
|  |                 {"label":"^", "x":6, "y":1}, | ||||||
|  |                 {"label":"&", "x":7, "y":1}, | ||||||
|  |                 {"label":"*", "x":8, "y":1}, | ||||||
|  |                 {"label":"(", "x":9, "y":1}, | ||||||
|  |                 {"label":")", "x":10, "y":1}, | ||||||
|  |                 {"label":"_", "x":11, "y":1}, | ||||||
|  |                 {"label":"+", "x":12, "y":1}, | ||||||
|  |                 {"label":"Backspace", "x":13, "y":1, "w":2}, | ||||||
|  |                 {"label":"Home", "x":15, "y":1}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Tab", "x":0, "y":2, "w":1.5}, | ||||||
|  |                 {"label":"Q", "x":1.5, "y":2}, | ||||||
|  |                 {"label":"W", "x":2.5, "y":2}, | ||||||
|  |                 {"label":"E", "x":3.5, "y":2}, | ||||||
|  |                 {"label":"R", "x":4.5, "y":2}, | ||||||
|  |                 {"label":"T", "x":5.5, "y":2}, | ||||||
|  |                 {"label":"Y", "x":6.5, "y":2}, | ||||||
|  |                 {"label":"U", "x":7.5, "y":2}, | ||||||
|  |                 {"label":"I", "x":8.5, "y":2}, | ||||||
|  |                 {"label":"O", "x":9.5, "y":2}, | ||||||
|  |                 {"label":"P", "x":10.5, "y":2}, | ||||||
|  |                 {"label":"{", "x":11.5, "y":2}, | ||||||
|  |                 {"label":"}", "x":12.5, "y":2}, | ||||||
|  |                 {"label":"|", "x":13.5, "y":2, "w":1.5}, | ||||||
|  |                 {"label":"Pg Up", "x":15, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, | ||||||
|  |                 {"label":"A", "x":1.75, "y":3}, | ||||||
|  |                 {"label":"S", "x":2.75, "y":3}, | ||||||
|  |                 {"label":"D", "x":3.75, "y":3}, | ||||||
|  |                 {"label":"F", "x":4.75, "y":3}, | ||||||
|  |                 {"label":"G", "x":5.75, "y":3}, | ||||||
|  |                 {"label":"H", "x":6.75, "y":3}, | ||||||
|  |                 {"label":"J", "x":7.75, "y":3}, | ||||||
|  |                 {"label":"K", "x":8.75, "y":3}, | ||||||
|  |                 {"label":"L", "x":9.75, "y":3}, | ||||||
|  |                 {"label":":", "x":10.75, "y":3}, | ||||||
|  |                 {"label":"\"", "x":11.75, "y":3}, | ||||||
|  |                 {"label":"Enter", "x":12.75, "y":3, "w":2.25}, | ||||||
|  |                 {"label":"Pg Dn", "x":15, "y":3}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Shift", "x":0, "y":4, "w":2.25}, | ||||||
|  |                 {"label":"Z", "x":2.25, "y":4}, | ||||||
|  |                 {"label":"X", "x":3.25, "y":4}, | ||||||
|  |                 {"label":"C", "x":4.25, "y":4}, | ||||||
|  |                 {"label":"V", "x":5.25, "y":4}, | ||||||
|  |                 {"label":"B", "x":6.25, "y":4}, | ||||||
|  |                 {"label":"N", "x":7.25, "y":4}, | ||||||
|  |                 {"label":"M", "x":8.25, "y":4}, | ||||||
|  |                 {"label":"<", "x":9.25, "y":4}, | ||||||
|  |                 {"label":">", "x":10.25, "y":4}, | ||||||
|  |                 {"label":"?", "x":11.25, "y":4}, | ||||||
|  |                 {"label":"Shift", "x":12.25, "y":4, "w":1.75}, | ||||||
|  |                 {"label":"Up", "x":14, "y":4}, | ||||||
|  |                 {"label":"End", "x":15, "y":4}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Ctrl", "x":0, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Win", "x":1.25, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Alt", "x":2.5, "y":5, "w":1.25}, | ||||||
|  |                 {"x":3.75, "y":5, "w":6.25}, | ||||||
|  |                 {"label":"Alt", "x":10, "y":5}, | ||||||
|  |                 {"label":"Fn", "x":11, "y":5}, | ||||||
|  |                 {"label":"Ctrl", "x":12, "y":5}, | ||||||
|  |                 {"label":"Left", "x":13, "y":5}, | ||||||
|  |                 {"label":"Down", "x":14, "y":5}, | ||||||
|  |                 {"label":"Right", "x":15, "y":5} | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         "LAYOUT_84_iso": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"label":"Esc", "x":0, "y":0, "w":1.5}, | ||||||
|  |                 {"label":"F1", "x":1.5, "y":0}, | ||||||
|  |                 {"label":"F2", "x":2.5, "y":0}, | ||||||
|  |                 {"label":"F3", "x":3.5, "y":0}, | ||||||
|  |                 {"label":"F4", "x":4.5, "y":0}, | ||||||
|  |                 {"label":"F5", "x":5.5, "y":0}, | ||||||
|  |                 {"label":"F6", "x":6.5, "y":0}, | ||||||
|  |                 {"label":"F7", "x":7.5, "y":0}, | ||||||
|  |                 {"label":"F8", "x":8.5, "y":0}, | ||||||
|  |                 {"label":"F9", "x":9.5, "y":0}, | ||||||
|  |                 {"label":"F10", "x":10.5, "y":0}, | ||||||
|  |                 {"label":"F11", "x":11.5, "y":0}, | ||||||
|  |                 {"label":"F12", "x":12.5, "y":0}, | ||||||
|  |                 {"label":"Pn", "x":13.5, "y":0}, | ||||||
|  |                 {"label":"Delete", "x":14.5, "y":0, "w":1.5}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"\u00ac", "x":0, "y":1}, | ||||||
|  |                 {"label":"!", "x":1, "y":1}, | ||||||
|  |                 {"label":"@", "x":2, "y":1}, | ||||||
|  |                 {"label":"\u00a3", "x":3, "y":1}, | ||||||
|  |                 {"label":"$", "x":4, "y":1}, | ||||||
|  |                 {"label":"%", "x":5, "y":1}, | ||||||
|  |                 {"label":"^", "x":6, "y":1}, | ||||||
|  |                 {"label":"&", "x":7, "y":1}, | ||||||
|  |                 {"label":"*", "x":8, "y":1}, | ||||||
|  |                 {"label":"(", "x":9, "y":1}, | ||||||
|  |                 {"label":")", "x":10, "y":1}, | ||||||
|  |                 {"label":"_", "x":11, "y":1}, | ||||||
|  |                 {"label":"+", "x":12, "y":1}, | ||||||
|  |                 {"label":"Backspace", "x":13, "y":1, "w":2}, | ||||||
|  |                 {"label":"Home", "x":15, "y":1}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Tab", "x":0, "y":2, "w":1.5}, | ||||||
|  |                 {"label":"Q", "x":1.5, "y":2}, | ||||||
|  |                 {"label":"W", "x":2.5, "y":2}, | ||||||
|  |                 {"label":"E", "x":3.5, "y":2}, | ||||||
|  |                 {"label":"R", "x":4.5, "y":2}, | ||||||
|  |                 {"label":"T", "x":5.5, "y":2}, | ||||||
|  |                 {"label":"Y", "x":6.5, "y":2}, | ||||||
|  |                 {"label":"U", "x":7.5, "y":2}, | ||||||
|  |                 {"label":"I", "x":8.5, "y":2}, | ||||||
|  |                 {"label":"O", "x":9.5, "y":2}, | ||||||
|  |                 {"label":"P", "x":10.5, "y":2}, | ||||||
|  |                 {"label":"{", "x":11.5, "y":2}, | ||||||
|  |                 {"label":"}", "x":12.5, "y":2}, | ||||||
|  |                 {"label":"Pg Up", "x":15, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, | ||||||
|  |                 {"label":"A", "x":1.75, "y":3}, | ||||||
|  |                 {"label":"S", "x":2.75, "y":3}, | ||||||
|  |                 {"label":"D", "x":3.75, "y":3}, | ||||||
|  |                 {"label":"F", "x":4.75, "y":3}, | ||||||
|  |                 {"label":"G", "x":5.75, "y":3}, | ||||||
|  |                 {"label":"H", "x":6.75, "y":3}, | ||||||
|  |                 {"label":"J", "x":7.75, "y":3}, | ||||||
|  |                 {"label":"K", "x":8.75, "y":3}, | ||||||
|  |                 {"label":"L", "x":9.75, "y":3}, | ||||||
|  |                 {"label":":", "x":10.75, "y":3}, | ||||||
|  |                 {"label":"\"", "x":11.75, "y":3}, | ||||||
|  |                 {"label":"~", "x":12.75, "y":3}, | ||||||
|  |                 {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, | ||||||
|  |                 {"label":"Pg Dn", "x":15, "y":3}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Shift", "x":0, "y":4, "w":1.25}, | ||||||
|  |                 {"label":"|", "x":1.25, "y":4}, | ||||||
|  |                 {"label":"Z", "x":2.25, "y":4}, | ||||||
|  |                 {"label":"X", "x":3.25, "y":4}, | ||||||
|  |                 {"label":"C", "x":4.25, "y":4}, | ||||||
|  |                 {"label":"V", "x":5.25, "y":4}, | ||||||
|  |                 {"label":"B", "x":6.25, "y":4}, | ||||||
|  |                 {"label":"N", "x":7.25, "y":4}, | ||||||
|  |                 {"label":"M", "x":8.25, "y":4}, | ||||||
|  |                 {"label":"<", "x":9.25, "y":4}, | ||||||
|  |                 {"label":">", "x":10.25, "y":4}, | ||||||
|  |                 {"label":"?", "x":11.25, "y":4}, | ||||||
|  |                 {"label":"Shift", "x":12.25, "y":4, "w":1.75}, | ||||||
|  |                 {"label":"Up", "x":14, "y":4}, | ||||||
|  |                 {"label":"End", "x":15, "y":4}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"Ctrl", "x":0, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Win", "x":1.25, "y":5, "w":1.25}, | ||||||
|  |                 {"label":"Alt", "x":2.5, "y":5, "w":1.25}, | ||||||
|  |                 {"x":3.75, "y":5, "w":6.25}, | ||||||
|  |                 {"label":"Alt Gr", "x":10, "y":5}, | ||||||
|  |                 {"label":"Fn", "x":11, "y":5}, | ||||||
|  |                 {"label":"Ctrl", "x":12, "y":5}, | ||||||
|  |                 {"label":"Left", "x":13, "y":5}, | ||||||
|  |                 {"label":"Down", "x":14, "y":5}, | ||||||
|  |                 {"label":"Right", "x":15, "y":5} | ||||||
|  |             ] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										117
									
								
								keyboards/bear_face/v2/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								keyboards/bear_face/v2/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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 { | ||||||
|  |     _QWER, | ||||||
|  |     _COLE, | ||||||
|  |     _DVOR, | ||||||
|  |     _FN1, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define FN1_CAPS LT(_FN1, KC_CAPS) | ||||||
|  | 
 | ||||||
|  | //custom keycode enums
 | ||||||
|  | enum custom_keycodes { | ||||||
|  |     BASE_QWER = SAFE_RANGE, | ||||||
|  |     BASE_COLE, | ||||||
|  |     BASE_DVOR | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [_QWER] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   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_HOME, | ||||||
|  |         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_PGUP, | ||||||
|  |         FN1_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_PGDN, | ||||||
|  |         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_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_COLE] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,  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_HOME, | ||||||
|  |         KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN,  KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, | ||||||
|  |         KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,     KC_QUOT,          KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,           KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_DVOR] = LAYOUT_83_ansi( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,     KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, | ||||||
|  |         KC_TAB,   KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,     KC_SLSH, KC_EQL,  KC_BSLS, KC_PGUP, | ||||||
|  |         FN1_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,     KC_MINS,          KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT,  KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,              KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_FN1] = LAYOUT_83_ansi( | ||||||
|  |         _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, | ||||||
|  |         _______, _______, _______, _______, RESET,   _______, _______, _______, _______, RESET,   _______, _______, _______, _______, BASE_COLE, | ||||||
|  |         _______, _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, BASE_DVOR, | ||||||
|  |         _______, KC_APP,  _______, _______, _______, _______, _______, _______, _______, _______, KC_APP,           _______, _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |     [_BLANK] = LAYOUT_83_ansi( | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | */ | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //macros to allow the user to set whatever default layer they want, even after reboot
 | ||||||
|  | 
 | ||||||
|  | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |     switch (keycode) { | ||||||
|  |         case BASE_QWER: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_QWER is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_QWER); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_QWER is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_COLE: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_COLE is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_COLE); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_COLE is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_DVOR: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_DVOR is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_DVOR); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_DVOR is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |     return true; | ||||||
|  | }; | ||||||
							
								
								
									
										15
									
								
								keyboards/bear_face/v2/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								keyboards/bear_face/v2/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | # default bear_face layout | ||||||
|  | 
 | ||||||
|  | This layout replaces the stock layout on the Vortex Race 3. | ||||||
|  | 
 | ||||||
|  | - Caps Lock indicator LED is enabled by default | ||||||
|  | - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) | ||||||
|  | - FORCE_NKRO enabled by default | ||||||
|  | 
 | ||||||
|  | - Pn key is set to 'KC_NO' by default | ||||||
|  |     * Might be a good place for a macro, or to put your PC to sleep, etc. | ||||||
|  | 
 | ||||||
|  | - A combined function layer that mimics the sublegends on the stock caps (regardless of layout) | ||||||
|  |     * 'Reset' will put the keyboard into DFU mode | ||||||
|  |     * 'APP' sends 'KC_APP' | ||||||
|  |     * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) | ||||||
							
								
								
									
										117
									
								
								keyboards/bear_face/v2/keymaps/default_iso/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								keyboards/bear_face/v2/keymaps/default_iso/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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 { | ||||||
|  |     _QWER, | ||||||
|  |     _COLE, | ||||||
|  |     _DVOR, | ||||||
|  |     _FN1, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define FN1_CAPS LT(_FN1, KC_CAPS) | ||||||
|  | 
 | ||||||
|  | //custom keycode enums
 | ||||||
|  | enum custom_keycodes { | ||||||
|  |     BASE_QWER = SAFE_RANGE, | ||||||
|  |     BASE_COLE, | ||||||
|  |     BASE_DVOR | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [_QWER] = LAYOUT_84_iso( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   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_HOME, | ||||||
|  |         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_PGUP, | ||||||
|  |         FN1_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,  KC_QUOT, KC_NUHS, KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT,  KC_NUBS, 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_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_COLE] = LAYOUT_84_iso( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   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_HOME, | ||||||
|  |         KC_TAB,   KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN,  KC_LBRC, KC_RBRC,          KC_PGUP, | ||||||
|  |         KC_BSPC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,     KC_QUOT, KC_NUHS, KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT,  KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,   KC_SLSH, KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_DVOR] = LAYOUT_84_iso( | ||||||
|  |         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_NO,   KC_DEL, | ||||||
|  |         KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,     KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, | ||||||
|  |         KC_TAB,   KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,     KC_SLSH, KC_EQL,  			KC_PGUP, | ||||||
|  |         FN1_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,     KC_MINS, KC_NUHS, KC_ENT,  KC_PGDN, | ||||||
|  |         KC_LSFT,  KC_NUBS, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,     KC_Z,    KC_RSFT, KC_UP,   KC_END, | ||||||
|  |         KC_LCTL,  KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  |     [_FN1] = LAYOUT_84_iso( | ||||||
|  |         _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, KC_INS, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER, | ||||||
|  |         _______, _______, _______, _______, RESET,   _______, _______, _______, _______, RESET,   _______, _______, _______, 		  BASE_COLE, | ||||||
|  |         _______, _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR, | ||||||
|  |         _______, KC_APP,  _______, _______, _______, _______, _______, _______, _______, _______, KC_APP,  _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |     [_BLANK] = LAYOUT_84_iso( | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | */ | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //macros to allow the user to set whatever default layer they want, even after reboot
 | ||||||
|  | 
 | ||||||
|  | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |     switch (keycode) { | ||||||
|  |         case BASE_QWER: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_QWER is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_QWER); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_QWER is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_COLE: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_COLE is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_COLE); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_COLE is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  | 
 | ||||||
|  |         case BASE_DVOR: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |             // when keycode BASE_DVOR is pressed
 | ||||||
|  |                 set_single_persistent_default_layer(_DVOR); | ||||||
|  |             } else { | ||||||
|  |             // when keycode BASE_DVOR is released
 | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |     return true; | ||||||
|  | }; | ||||||
							
								
								
									
										19
									
								
								keyboards/bear_face/v2/keymaps/default_iso/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/bear_face/v2/keymaps/default_iso/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | # default bear_face layout | ||||||
|  | 
 | ||||||
|  | This layout replaces the stock layout on the Vortex Race 3. | ||||||
|  | 
 | ||||||
|  | - Caps Lock indicator LED is enabled by default | ||||||
|  | - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) | ||||||
|  | - FORCE_NKRO enabled by default | ||||||
|  | 
 | ||||||
|  | - Pn key is set to 'KC_NO' by default | ||||||
|  |     * Might be a good place for a macro, or to put your PC to sleep, etc. | ||||||
|  | 
 | ||||||
|  | - A combined function layer that mimics the sublegends on the stock caps (regardless of layout) | ||||||
|  |     * 'Reset' will put the keyboard into DFU mode | ||||||
|  |     * 'APP' sends 'KC_APP' | ||||||
|  |     * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot) | ||||||
|  | 
 | ||||||
|  | - New things in v2: | ||||||
|  |     * Option of ANSI or ISO layout | ||||||
|  |     * Optional stepped caps (will require compatible plate) | ||||||
							
								
								
									
										0
									
								
								keyboards/bear_face/v2/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								keyboards/bear_face/v2/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										34
									
								
								keyboards/bear_face/v2/v2.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/bear_face/v2/v2.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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 "bear_face.h" | ||||||
|  | 
 | ||||||
|  | void keyboard_pre_init_kb(void) { | ||||||
|  |     //Sets LED pin as output
 | ||||||
|  |     setPinOutput(F7); | ||||||
|  | 
 | ||||||
|  |     keyboard_pre_init_user(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bool led_update_kb(led_t led_state) { | ||||||
|  |     // Caps Lock LED indicator toggling code here
 | ||||||
|  |     bool res = led_update_user(led_state); | ||||||
|  |     if(res) { | ||||||
|  |         writePin(F7, led_state.caps_lock); | ||||||
|  |     } | ||||||
|  |     return res; | ||||||
|  | } | ||||||
							
								
								
									
										52
									
								
								keyboards/bear_face/v2/v2.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								keyboards/bear_face/v2/v2.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2020 chemicalwill <https://github.com/chemicalwill>
 | ||||||
|  | 
 | ||||||
|  | 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" | ||||||
|  | 
 | ||||||
|  | #define LAYOUT_83_ansi( \ | ||||||
|  |     K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||||||
|  |     K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ | ||||||
|  |     K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ | ||||||
|  |     K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, \ | ||||||
|  |     K400,       K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||||||
|  |     K500, K501, K502,             K505,                   K509, K510, K511, K512, K513, K514  \ | ||||||
|  | ) { \ | ||||||
|  |     { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014 }, \ | ||||||
|  |     { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \ | ||||||
|  |     { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214 }, \ | ||||||
|  |     { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314 }, \ | ||||||
|  |     { K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  K414 }, \ | ||||||
|  |     { K500,  K501,  K502,  KC_NO, KC_NO, K505,  KC_NO, KC_NO, KC_NO, K509,  K510,  K511,  K512,  K513,  K514 }  \ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #define LAYOUT_84_iso( \ | ||||||
|  |     K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ | ||||||
|  |     K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ | ||||||
|  |     K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       K214, \ | ||||||
|  |     K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ | ||||||
|  |     K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \ | ||||||
|  |     K500, K501, K502,             K505,                   K509, K510, K511, K512, K513, K514  \ | ||||||
|  | ) { \ | ||||||
|  |     { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014 }, \ | ||||||
|  |     { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \ | ||||||
|  |     { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  KC_NO, K214 }, \ | ||||||
|  |     { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314 }, \ | ||||||
|  |     { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  K414 }, \ | ||||||
|  |     { K500,  K501,  K502,  KC_NO, KC_NO, K505,  KC_NO, KC_NO, KC_NO, K509,  K510,  K511,  K512,  K513,  K514 }  \ | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user