Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						49ac29fa09
					
				
							
								
								
									
										20
									
								
								keyboards/prototypist/oceanographer/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								keyboards/prototypist/oceanographer/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| // RGB Light settings
 | ||||
| #define RGBLIGHT_LAYERS | ||||
| 
 | ||||
| #define RGBLIGHT_MAX_LAYERS 4 | ||||
| #define RGBLIGHT_LIMIT_VAL 155 | ||||
| #define RGBLIGHT_DEFAULT_VAL 155 | ||||
| 
 | ||||
| // Audio Settings
 | ||||
| #ifdef AUDIO_ENABLE | ||||
| 
 | ||||
| #define AUDIO_PIN C6 | ||||
| 
 | ||||
| #define AUDIO_INIT_DELAY | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										212
									
								
								keyboards/prototypist/oceanographer/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								keyboards/prototypist/oceanographer/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,212 @@ | ||||
| { | ||||
|     "manufacturer": "Proto[Typist]", | ||||
|     "keyboard_name": "Oceanographer", | ||||
|     "maintainer": "Anjheos", | ||||
|     "bootloader": "atmel-dfu", | ||||
|     "diode_direction": "COL2ROW", | ||||
|     "features": { | ||||
|         "bootmagic": true, | ||||
|         "command": false, | ||||
|         "console": false, | ||||
|         "extrakey": true, | ||||
|         "mousekey": false, | ||||
|         "nkro": true  | ||||
|     }, | ||||
| 
 | ||||
|     "encoder":{ | ||||
|         "rotary": [ | ||||
|             {"pin_a": "B2", "pin_b": "B1", "resolution": 2} | ||||
|         ] | ||||
|     }, | ||||
| 
 | ||||
|     "rgblight" : { | ||||
|         "led_count": 3, | ||||
|         "pin": "B3", | ||||
|         "sleep": true, | ||||
|         "hue_steps": 10, | ||||
|         "saturation_steps": 17, | ||||
|         "brightness_steps": 17, | ||||
|         "animations" : { | ||||
|             "alternating": true, | ||||
|             "breathing": true | ||||
|         } | ||||
|     }, | ||||
| 
 | ||||
|     "matrix_pins": { | ||||
|         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4"], | ||||
|         "rows": ["B0", "D5", "D3", "D2"] | ||||
|     }, | ||||
| 
 | ||||
|     "processor": "atmega32u4", | ||||
|     "url": "", | ||||
|     "usb": { | ||||
|         "device_version": "1.0.0", | ||||
|         "pid": "0x0002", | ||||
|         "vid": "0x4A46" | ||||
|     }, | ||||
|     "layouts": { | ||||
|         "LAYOUT_225_1": { | ||||
|             "layout": [ | ||||
|                 { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 }, | ||||
|                 { "matrix": [0, 1], "label": "Q", "x": 1, "y": 0 }, | ||||
|                 { "matrix": [0, 2], "label": "W", "x": 2, "y": 0 }, | ||||
|                 { "matrix": [0, 3], "label": "E", "x": 3, "y": 0 }, | ||||
|                 { "matrix": [0, 4], "label": "R", "x": 4, "y": 0 }, | ||||
|                 { "matrix": [0, 5], "label": "T", "x": 5, "y": 0 }, | ||||
|                 { "matrix": [0, 6], "label": "Y", "x": 6, "y": 0 }, | ||||
|                 { "matrix": [0, 7], "label": "U", "x": 7, "y": 0 }, | ||||
|                 { "matrix": [0, 8], "label": "I", "x": 8, "y": 0 }, | ||||
|                 { "matrix": [0, 9], "label": "O", "x": 9, "y": 0 }, | ||||
|                 { "matrix": [0, 10], "label": "P", "x": 10, "y": 0 }, | ||||
|                 { "matrix": [0, 11], "label": "Backspace", "w": 1.75, "x": 11, "y": 0 }, | ||||
| 
 | ||||
|                 { "matrix": [1, 0], "label": "Tab", "w": 1.25, "x": 0, "y": 1 }, | ||||
|                 { "matrix": [1, 1], "label": "A", "x": 1.25, "y": 1 }, | ||||
|                 { "matrix": [1, 2], "label": "S", "x": 2.25, "y": 1 }, | ||||
|                 { "matrix": [1, 3], "label": "D", "x": 3.25, "y": 1 }, | ||||
|                 { "matrix": [1, 4], "label": "F", "x": 4.25, "y": 1 }, | ||||
|                 { "matrix": [1, 5], "label": "G", "x": 5.25, "y": 1 }, | ||||
|                 { "matrix": [1, 6], "label": "H", "x": 6.25, "y": 1 }, | ||||
|                 { "matrix": [1, 7], "label": "J", "x": 7.25, "y": 1 }, | ||||
|                 { "matrix": [1, 8], "label": "K", "x": 8.25, "y": 1 }, | ||||
|                 { "matrix": [1, 9], "label": "L", "x": 9.25, "y": 1 }, | ||||
|                 { "matrix": [1, 10], "label": ":", "x": 10.25, "y": 1 }, | ||||
|                 { "matrix": [1, 11], "label": "Enter", "w": 1.5, "x": 11.25, "y": 1 }, | ||||
| 
 | ||||
|                 { "matrix": [2, 0], "label": "Shift", "w": 1.75, "x": 0, "y": 2 }, | ||||
|                 { "matrix": [2, 1], "label": "Z", "x": 1.75, "y": 2 }, | ||||
|                 { "matrix": [2, 2], "label": "X", "x": 2.75, "y": 2 }, | ||||
|                 { "matrix": [2, 3], "label": "C", "x": 3.75, "y": 2 }, | ||||
|                 { "matrix": [2, 4], "label": "V", "x": 4.75, "y": 2 }, | ||||
|                 { "matrix": [2, 5], "label": "B", "x": 5.75, "y": 2 }, | ||||
|                 { "matrix": [2, 6], "label": "N", "x": 6.75, "y": 2 }, | ||||
|                 { "matrix": [2, 7], "label": "M", "x": 7.75, "y": 2 }, | ||||
|                 { "matrix": [2, 8], "label": "<", "x": 8.75, "y": 2 }, | ||||
|                 { "matrix": [2, 9], "label": ">", "x": 9.75, "y": 2 }, | ||||
|                 { "matrix": [2, 10], "label": "?", "x": 10.75, "y": 2 }, | ||||
|                 { "matrix": [2, 11], "label": "\u2191", "x": 11.75, "y": 2 }, | ||||
|                 { "matrix": [2, 12], "label": "\u2191", "x": 12.75, "y": 2 }, | ||||
| 
 | ||||
|                 { "matrix": [3, 0], "label": "Ctrl", "x": 0, "y": 3 }, | ||||
|                 { "matrix": [3, 1], "label": "Win", "x": 1, "y": 3 }, | ||||
|                 { "matrix": [3, 2], "label": "Alt", "x": 2, "y": 3 }, | ||||
|                 { "matrix": [3, 3], "label": "Fn", "x": 3, "y": 3 }, | ||||
|                 { "matrix": [3, 5], "w": 2.25, "x": 4, "y": 3 }, | ||||
|                 { "matrix": [3, 6], "w": 2, "x": 6.25, "y": 3 }, | ||||
|                 { "matrix": [3, 7], "label": "Alt", "x": 8.25, "y": 3 }, | ||||
|                 { "matrix": [3, 8], "label": "Ctrl", "x": 9.25, "y": 3 }, | ||||
|                 { "matrix": [3, 10], "label": "\u2190", "x": 10.75, "y": 3 }, | ||||
|                 { "matrix": [3, 11], "label": "\u2193", "x": 11.75, "y": 3 }, | ||||
|                 { "matrix": [3, 12], "label": "\u2192", "x": 12.75, "y": 3 } | ||||
|             ] | ||||
|         }, | ||||
| 
 | ||||
|         "LAYOUT_225_2": { | ||||
|             "layout": [ | ||||
|                 { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 }, | ||||
|                 { "matrix": [0, 1], "label": "Q", "x": 1, "y": 0 }, | ||||
|                 { "matrix": [0, 2], "label": "W", "x": 2, "y": 0 }, | ||||
|                 { "matrix": [0, 3], "label": "E", "x": 3, "y": 0 }, | ||||
|                 { "matrix": [0, 4], "label": "R", "x": 4, "y": 0 }, | ||||
|                 { "matrix": [0, 5], "label": "T", "x": 5, "y": 0 }, | ||||
|                 { "matrix": [0, 6], "label": "Y", "x": 6, "y": 0 }, | ||||
|                 { "matrix": [0, 7], "label": "U", "x": 7, "y": 0 }, | ||||
|                 { "matrix": [0, 8], "label": "I", "x": 8, "y": 0 }, | ||||
|                 { "matrix": [0, 9], "label": "O", "x": 9, "y": 0 }, | ||||
|                 { "matrix": [0, 10], "label": "P", "x": 10, "y": 0 }, | ||||
|                 { "matrix": [0, 11], "label": "Backspace", "w": 1.75, "x": 11, "y": 0 }, | ||||
| 
 | ||||
|                 { "matrix": [1, 0], "label": "Tab", "w": 1.25, "x": 0, "y": 1 }, | ||||
|                 { "matrix": [1, 1], "label": "A", "x": 1.25, "y": 1 }, | ||||
|                 { "matrix": [1, 2], "label": "S", "x": 2.25, "y": 1 }, | ||||
|                 { "matrix": [1, 3], "label": "D", "x": 3.25, "y": 1 }, | ||||
|                 { "matrix": [1, 4], "label": "F", "x": 4.25, "y": 1 }, | ||||
|                 { "matrix": [1, 5], "label": "G", "x": 5.25, "y": 1 }, | ||||
|                 { "matrix": [1, 6], "label": "H", "x": 6.25, "y": 1 }, | ||||
|                 { "matrix": [1, 7], "label": "J", "x": 7.25, "y": 1 }, | ||||
|                 { "matrix": [1, 8], "label": "K", "x": 8.25, "y": 1 }, | ||||
|                 { "matrix": [1, 9], "label": "L", "x": 9.25, "y": 1 }, | ||||
|                 { "matrix": [1, 10], "label": ":", "x": 10.25, "y": 1 }, | ||||
|                 { "matrix": [1, 11], "label": "Enter", "w": 1.5, "x": 11.25, "y": 1 }, | ||||
| 
 | ||||
|                 { "matrix": [2, 0], "label": "Shift", "w": 1.75, "x": 0, "y": 2 }, | ||||
|                 { "matrix": [2, 1], "label": "Z", "x": 1.75, "y": 2 }, | ||||
|                 { "matrix": [2, 2], "label": "X", "x": 2.75, "y": 2 }, | ||||
|                 { "matrix": [2, 3], "label": "C", "x": 3.75, "y": 2 }, | ||||
|                 { "matrix": [2, 4], "label": "V", "x": 4.75, "y": 2 }, | ||||
|                 { "matrix": [2, 5], "label": "B", "x": 5.75, "y": 2 }, | ||||
|                 { "matrix": [2, 6], "label": "N", "x": 6.75, "y": 2 }, | ||||
|                 { "matrix": [2, 7], "label": "M", "x": 7.75, "y": 2 }, | ||||
|                 { "matrix": [2, 8], "label": "<", "x": 8.75, "y": 2 }, | ||||
|                 { "matrix": [2, 9], "label": ">", "x": 9.75, "y": 2 }, | ||||
|                 { "matrix": [2, 10], "label": "?", "x": 10.75, "y": 2 }, | ||||
|                 { "matrix": [2, 11], "label": "\u2191", "x": 11.75, "y": 2 }, | ||||
|                 { "matrix": [2, 12], "label": "\u2191", "x": 12.75, "y": 2 }, | ||||
| 
 | ||||
|                 { "matrix": [3, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 3 }, | ||||
|                 { "matrix": [3, 1], "label": "Win", "x": 1.25, "y": 3 }, | ||||
|                 { "matrix": [3, 2], "label": "Alt", "w": 1.25, "x": 2.25, "y": 3 }, | ||||
|                 { "matrix": [3, 5], "w": 2.25, "x": 3.5, "y": 3 }, | ||||
|                 { "matrix": [3, 6], "w": 2, "x": 5.75, "y": 3 }, | ||||
|                 { "matrix": [3, 7], "label": "Alt", "w": 1.5, "x": 7.75, "y": 3 }, | ||||
|                 { "matrix": [3, 8], "label": "Ctrl", "x": 9.25, "y": 3 }, | ||||
|                 { "matrix": [3, 10], "label": "\u2190", "x": 10.75, "y": 3 }, | ||||
|                 { "matrix": [3, 11], "label": "\u2193", "x": 11.75, "y": 3 }, | ||||
|                 { "matrix": [3, 12], "label": "\u2192", "x": 12.75, "y": 3 } | ||||
|             ] | ||||
|         }, | ||||
| 
 | ||||
|         "LAYOUT_625": { | ||||
|             "layout": [ | ||||
|                 { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 }, | ||||
|                 { "matrix": [0, 1], "label": "Q", "x": 1, "y": 0 }, | ||||
|                 { "matrix": [0, 2], "label": "W", "x": 2, "y": 0 }, | ||||
|                 { "matrix": [0, 3], "label": "E", "x": 3, "y": 0 }, | ||||
|                 { "matrix": [0, 4], "label": "R", "x": 4, "y": 0 }, | ||||
|                 { "matrix": [0, 5], "label": "T", "x": 5, "y": 0 }, | ||||
|                 { "matrix": [0, 6], "label": "Y", "x": 6, "y": 0 }, | ||||
|                 { "matrix": [0, 7], "label": "U", "x": 7, "y": 0 }, | ||||
|                 { "matrix": [0, 8], "label": "I", "x": 8, "y": 0 }, | ||||
|                 { "matrix": [0, 9], "label": "O", "x": 9, "y": 0 }, | ||||
|                 { "matrix": [0, 10], "label": "P", "x": 10, "y": 0 }, | ||||
|                 { "matrix": [0, 11], "label": "Backspace", "w": 1.75, "x": 11, "y": 0 }, | ||||
| 
 | ||||
|                 { "matrix": [1, 0], "label": "Tab", "w": 1.25, "x": 0, "y": 1 }, | ||||
|                 { "matrix": [1, 1], "label": "A", "x": 1.25, "y": 1 }, | ||||
|                 { "matrix": [1, 2], "label": "S", "x": 2.25, "y": 1 }, | ||||
|                 { "matrix": [1, 3], "label": "D", "x": 3.25, "y": 1 }, | ||||
|                 { "matrix": [1, 4], "label": "F", "x": 4.25, "y": 1 }, | ||||
|                 { "matrix": [1, 5], "label": "G", "x": 5.25, "y": 1 }, | ||||
|                 { "matrix": [1, 6], "label": "H", "x": 6.25, "y": 1 }, | ||||
|                 { "matrix": [1, 7], "label": "J", "x": 7.25, "y": 1 }, | ||||
|                 { "matrix": [1, 8], "label": "K", "x": 8.25, "y": 1 }, | ||||
|                 { "matrix": [1, 9], "label": "L", "x": 9.25, "y": 1 }, | ||||
|                 { "matrix": [1, 10], "label": ":", "x": 10.25, "y": 1 }, | ||||
|                 { "matrix": [1, 11], "label": "Enter", "w": 1.5, "x": 11.25, "y": 1 }, | ||||
| 
 | ||||
|                 { "matrix": [2, 0], "label": "Shift", "w": 1.75, "x": 0, "y": 2 }, | ||||
|                 { "matrix": [2, 1], "label": "Z", "x": 1.75, "y": 2 }, | ||||
|                 { "matrix": [2, 2], "label": "X", "x": 2.75, "y": 2 }, | ||||
|                 { "matrix": [2, 3], "label": "C", "x": 3.75, "y": 2 }, | ||||
|                 { "matrix": [2, 4], "label": "V", "x": 4.75, "y": 2 }, | ||||
|                 { "matrix": [2, 5], "label": "B", "x": 5.75, "y": 2 }, | ||||
|                 { "matrix": [2, 6], "label": "N", "x": 6.75, "y": 2 }, | ||||
|                 { "matrix": [2, 7], "label": "M", "x": 7.75, "y": 2 }, | ||||
|                 { "matrix": [2, 8], "label": "<", "x": 8.75, "y": 2 }, | ||||
|                 { "matrix": [2, 9], "label": ">", "x": 9.75, "y": 2 }, | ||||
|                 { "matrix": [2, 10], "label": "?", "x": 10.75, "y": 2 }, | ||||
|                 { "matrix": [2, 11], "label": "\u2191", "x": 11.75, "y": 2 }, | ||||
|                 { "matrix": [2, 12], "label": "\u2191", "x": 12.75, "y": 2 }, | ||||
| 
 | ||||
|                 { "matrix": [3, 0], "label": "Ctrl", "x": 0, "y": 3 }, | ||||
|                 { "matrix": [3, 1], "label": "Win", "x": 1, "y": 3 }, | ||||
|                 { "matrix": [3, 2], "label": "Alt", "x": 2, "y": 3 }, | ||||
|                 { "matrix": [3, 5], "w":6.25, "x": 3, "y": 3 }, | ||||
|                 { "matrix": [3, 8], "label": "Ctrl", "x": 9.25, "y": 3 }, | ||||
|                 { "matrix": [3, 10], "label": "\u2190", "x": 10.75, "y": 3 }, | ||||
|                 { "matrix": [3, 11], "label": "\u2193", "x": 11.75, "y": 3 }, | ||||
|                 { "matrix": [3, 12], "label": "\u2192", "x": 12.75, "y": 3 } | ||||
|             ] | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										89
									
								
								keyboards/prototypist/oceanographer/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								keyboards/prototypist/oceanographer/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| enum layer_names { | ||||
|     _QWERTY, | ||||
|     _FN1, | ||||
|     _FN2, | ||||
|     _FN3 | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   [0] = LAYOUT_225_1( | ||||
|     QK_GESC,   KC_Q,     KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_BSPC, | ||||
|     KC_TAB,    KC_A,     KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,   KC_ENT, | ||||
|     KC_LSFT,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    KC_SLSH,   KC_UP,     RGB_MOD, | ||||
|     KC_LCTL,   KC_LALT,  KC_LGUI,   MO(_FN1),             KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,             KC_LEFT,   KC_DOWN,   KC_RIGHT | ||||
|   ), | ||||
|   [1] = LAYOUT_225_1( | ||||
|     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_CAPS,   KC_1,     KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_ENT, | ||||
|     KC_SCRL,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    CK_TOGG,   RGB_SAI,   RGB_TOG, | ||||
|     KC_NUM,    KC_LALT,  MO(_FN2),  _______,              KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,             RGB_HUD,   RGB_SAD,   RGB_HUI | ||||
|   ), | ||||
|   [2] = LAYOUT_225_1( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   MO(_FN3), _______,   _______,              _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ), | ||||
|   [3] = LAYOUT_225_1( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,              _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ) | ||||
| }; | ||||
| 
 | ||||
| #if defined(ENCODER_MAP_ENABLE) | ||||
| const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { | ||||
|     [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, | ||||
|     [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, | ||||
|     [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, | ||||
|     [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0, 3, HSV_CYAN} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn1_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0,1, HSV_RED} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn2_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {1, 1, HSV_PURPLE} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn3_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {2, 1, HSV_YELLOW} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||||
|     _caps_layer, | ||||
|     _fn1_layer, | ||||
|     _fn2_layer, | ||||
|     _fn3_layer | ||||
| ); | ||||
| 
 | ||||
| void keyboard_post_init_user (void) { | ||||
|     rgblight_layers = _rgb_layers; | ||||
|     rgblight_sethsv_noeeprom(HSV_BLACK); | ||||
| } | ||||
| 
 | ||||
| bool led_update_user(led_t led_state) { | ||||
|     rgblight_set_layer_state(0, led_state.caps_lock); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| layer_state_t layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(1, layer_state_cmp(state, _FN1)); | ||||
|     rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); | ||||
|     rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); | ||||
|     return state; | ||||
| } | ||||
| @ -0,0 +1,2 @@ | ||||
| ENCODER_MAP_ENABLE = yes | ||||
| 
 | ||||
| @ -0,0 +1,89 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| enum layer_names { | ||||
|     _QWERTY, | ||||
|     _FN1, | ||||
|     _FN2, | ||||
|     _FN3 | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   [0] = LAYOUT_625( | ||||
|     QK_GESC,   KC_Q,     KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_BSPC, | ||||
|     KC_TAB,    KC_A,     KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,   KC_ENT, | ||||
|     KC_LSFT,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    KC_SLSH,   KC_UP,     RGB_MOD, | ||||
|     KC_LCTL,   KC_LALT,  MO(_FN1),                        KC_SPC,                          KC_RCTL,              KC_LEFT,   KC_DOWN,   KC_RIGHT | ||||
|   ), | ||||
|   [1] = LAYOUT_625( | ||||
|     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_CAPS,   KC_1,     KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_ENT, | ||||
|     KC_SCRL,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    CK_TOGG,   RGB_SAI,   RGB_TOG, | ||||
|     KC_NUM,    MO(_FN2), _______,                        KC_SPC,                          KC_RCTL,              RGB_HUD,   RGB_SAD,   RGB_HUI | ||||
|   ), | ||||
|   [2] = LAYOUT_625( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     MO(_FN3),  _______,  _______,                         _______,                         _______,              _______,   _______,   _______ | ||||
|   ), | ||||
|   [3] = LAYOUT_625( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,                         _______,                         _______,              _______,   _______,   _______ | ||||
|   )                    | ||||
| }; | ||||
| 
 | ||||
| #if defined(ENCODER_MAP_ENABLE) | ||||
| const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { | ||||
|     [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, | ||||
|     [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, | ||||
|     [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, | ||||
|     [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0, 3, HSV_CYAN} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn1_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0,1, HSV_RED} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn2_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {1, 1, HSV_PURPLE} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn3_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {2, 1, HSV_YELLOW} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||||
|     _caps_layer, | ||||
|     _fn1_layer, | ||||
|     _fn2_layer, | ||||
|     _fn3_layer | ||||
| ); | ||||
| 
 | ||||
| void keyboard_post_init_user (void) { | ||||
|     rgblight_layers = _rgb_layers; | ||||
|     rgblight_sethsv_noeeprom(HSV_BLACK); | ||||
| } | ||||
| 
 | ||||
| bool led_update_user(led_t led_state) { | ||||
|     rgblight_set_layer_state(0, led_state.caps_lock); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| layer_state_t layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(1, layer_state_cmp(state, _FN1)); | ||||
|     rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); | ||||
|     rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); | ||||
|     return state; | ||||
| } | ||||
| @ -0,0 +1,2 @@ | ||||
| ENCODER_MAP_ENABLE = yes | ||||
| 
 | ||||
| @ -0,0 +1,89 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| enum layer_names { | ||||
|     _QWERTY, | ||||
|     _FN1, | ||||
|     _FN2, | ||||
|     _FN3 | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   [0] = LAYOUT_225_2( | ||||
|     QK_GESC,   KC_Q,     KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_BSPC, | ||||
|     KC_TAB,    KC_A,     KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,   KC_ENT, | ||||
|     KC_LSFT,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    KC_SLSH,   KC_UP,     RGB_MOD, | ||||
|     KC_LCTL,   KC_LALT,  MO(_FN1),                        KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,              KC_LEFT,   KC_DOWN,   KC_RIGHT | ||||
|   ), | ||||
|   [1] = LAYOUT_225_2( | ||||
|     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_CAPS,   KC_1,     KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_ENT, | ||||
|     KC_SCRL,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    CK_TOGG,   RGB_SAI,   RGB_TOG, | ||||
|     KC_NUM,    MO(_FN2), _______,                         KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,              RGB_HUD,   RGB_SAD,   RGB_HUI | ||||
|   ), | ||||
|   [2] = LAYOUT_225_2( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     MO(_FN3),  _______,  _______,                         _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ), | ||||
|   [3] = LAYOUT_225_2( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,                         _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ) | ||||
| }; | ||||
| 
 | ||||
| #if defined(ENCODER_MAP_ENABLE) | ||||
| const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { | ||||
|     [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, | ||||
|     [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, | ||||
|     [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, | ||||
|     [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0, 3, HSV_CYAN} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn1_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0,1, HSV_RED} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn2_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {1, 1, HSV_PURPLE} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn3_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {2, 1, HSV_YELLOW} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||||
|     _caps_layer, | ||||
|     _fn1_layer, | ||||
|     _fn2_layer, | ||||
|     _fn3_layer | ||||
| ); | ||||
| 
 | ||||
| void keyboard_post_init_user (void) { | ||||
|     rgblight_layers = _rgb_layers; | ||||
|     rgblight_sethsv_noeeprom(HSV_BLACK); | ||||
| } | ||||
| 
 | ||||
| bool led_update_user(led_t led_state) { | ||||
|     rgblight_set_layer_state(0, led_state.caps_lock); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| layer_state_t layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(1, layer_state_cmp(state, _FN1)); | ||||
|     rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); | ||||
|     rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); | ||||
|     return state; | ||||
| } | ||||
| @ -0,0 +1,2 @@ | ||||
| ENCODER_MAP_ENABLE = yes | ||||
| 
 | ||||
							
								
								
									
										89
									
								
								keyboards/prototypist/oceanographer/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								keyboards/prototypist/oceanographer/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| enum layer_names { | ||||
|     _QWERTY, | ||||
|     _FN1, | ||||
|     _FN2, | ||||
|     _FN3 | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   [0] = LAYOUT_225_1( | ||||
|     QK_GESC,   KC_Q,     KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_BSPC, | ||||
|     KC_TAB,    KC_A,     KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,   KC_ENT, | ||||
|     KC_LSFT,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    KC_SLSH,   KC_UP,     RGB_MOD, | ||||
|     KC_LCTL,   KC_LALT,  KC_LGUI,   MO(_FN1),             KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,              KC_LEFT,   KC_DOWN,   KC_RIGHT | ||||
|   ), | ||||
|   [1] = LAYOUT_225_1( | ||||
|     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_CAPS,   KC_1,     KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_ENT, | ||||
|     KC_SCRL,   KC_Z,     KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMMA,  KC_DOT,    CK_TOGG,   RGB_SAI,   RGB_TOG, | ||||
|     KC_NUM,    KC_LALT,  MO(_FN2),  _______,              KC_SPC,    KC_SPC,    KC_RALT,   KC_RCTL,              RGB_HUD,   RGB_SAD,   RGB_HUI | ||||
|   ), | ||||
|   [2] = LAYOUT_225_1( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   MO(_FN3), _______,   _______,              _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ), | ||||
|   [3] = LAYOUT_225_1( | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______, | ||||
|     _______,   _______,  _______,   _______,              _______,   _______,   _______,   _______,              _______,   _______,   _______ | ||||
|   ) | ||||
| }; | ||||
| 
 | ||||
| #if defined(ENCODER_MAP_ENABLE) | ||||
| const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { | ||||
|     [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, | ||||
|     [_FN1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, | ||||
|     [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, | ||||
|     [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0, 3, HSV_CYAN} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn1_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {0,1, HSV_RED} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn2_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {1, 1, HSV_PURPLE} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t PROGMEM _fn3_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {2, 1, HSV_YELLOW} | ||||
| ); | ||||
| 
 | ||||
| const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||||
|     _caps_layer, | ||||
|     _fn1_layer, | ||||
|     _fn2_layer, | ||||
|     _fn3_layer | ||||
| ); | ||||
| 
 | ||||
| void keyboard_post_init_user (void) { | ||||
|     rgblight_layers = _rgb_layers; | ||||
|     rgblight_sethsv_noeeprom(HSV_BLACK); | ||||
| } | ||||
| 
 | ||||
| bool led_update_user(led_t led_state) { | ||||
|     rgblight_set_layer_state(0, led_state.caps_lock); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| layer_state_t layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(1, layer_state_cmp(state, _FN1)); | ||||
|     rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); | ||||
|     rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); | ||||
|     return state; | ||||
| } | ||||
							
								
								
									
										3
									
								
								keyboards/prototypist/oceanographer/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/prototypist/oceanographer/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| VIA_ENABLE = yes | ||||
| ENCODER_MAP_ENABLE = yes | ||||
| 
 | ||||
							
								
								
									
										54
									
								
								keyboards/prototypist/oceanographer/oceanographer.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								keyboards/prototypist/oceanographer/oceanographer.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| // Copyright 2023 Anjheos (@Anjheos)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #include "quantum.h" | ||||
| 
 | ||||
| #ifdef OLED_ENABLE  | ||||
| oled_rotation_t oled_init_kb(oled_rotation_t rotation) { | ||||
|     return OLED_ROTATION_90;   | ||||
| } | ||||
| 
 | ||||
| bool oled_task_kb(void) { | ||||
|     if (!oled_task_user()){ | ||||
|         return false; | ||||
|     } | ||||
|      | ||||
|     oled_write_ln_P(PSTR("LAYER"), false); | ||||
| 
 | ||||
|     switch (get_highest_layer(layer_state)) { | ||||
| 
 | ||||
|         case 0: | ||||
|             oled_write_ln_P(PSTR("L1"), false); | ||||
|             break; | ||||
| 
 | ||||
|         case 1: | ||||
|             oled_write_ln_P(PSTR("L2"), false); | ||||
|             break; | ||||
| 
 | ||||
|         case 2: | ||||
|             oled_write_ln_P(PSTR("L3"), false); | ||||
|             break; | ||||
| 
 | ||||
|         case 3: | ||||
|             oled_write_ln_P(PSTR("L4"), false); | ||||
|             break; | ||||
| 
 | ||||
|         default: | ||||
|             oled_write_ln_P(PSTR(" "), false); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     oled_write_ln_P(PSTR("     "), false); | ||||
| 
 | ||||
|     oled_write_ln_P(PSTR("LOCK:"), false); | ||||
|      | ||||
|     led_t led_state = host_keyboard_led_state(); | ||||
|      | ||||
|     oled_write_P(led_state.caps_lock ? PSTR ("CAPS ") : PSTR("     "), false); | ||||
|     oled_write_P(led_state.scroll_lock ? PSTR ("SCROL") : PSTR("     "), false); | ||||
|     oled_write_ln_P(led_state.num_lock ? PSTR ("NUM ") : PSTR("     "), false); | ||||
| 
 | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										27
									
								
								keyboards/prototypist/oceanographer/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/prototypist/oceanographer/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| # prototypist/oceanographer | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| *PCB for the Oceanographer keyboard designed by Hedgey.* | ||||
| 
 | ||||
| * Keyboard Maintainer: [Josh @ Prototypist](https://github.com/Anjheos) | ||||
| * Hardware Supported: **Oceanographer** | ||||
| * Hardware Availability: *TBD* | ||||
| 
 | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
| 
 | ||||
|     make prototypist/oceanographer:default | ||||
|      | ||||
| Flashing example for this keyboard: | ||||
| 
 | ||||
|     make prototypist/oceanographer: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 and plug in the keyboard. | ||||
| * **Physical reset button**: Briefly press the button on the back of the PCB marked `SWRST1`. | ||||
| * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. | ||||
							
								
								
									
										7
									
								
								keyboards/prototypist/oceanographer/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								keyboards/prototypist/oceanographer/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| OLED_ENABLE = yes | ||||
| OLED_DRIVER = SSD1306 | ||||
| AUDIO_ENABLE = yes | ||||
| LTO_ENABLE = yes | ||||
| RGBLIGHT_ENABLE = yes | ||||
| RGBLIGHT_DRIVER = WS2812 | ||||
| ENCODER_ENABLE = yes | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user