forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Oceanographer to QMK. (qmk#20324)
- Loading branch information
Showing
13 changed files
with
685 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 changes: 89 additions & 0 deletions
89
keyboards/prototypist/oceanographer/keymaps/default/keymap.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
ENCODER_MAP_ENABLE = yes | ||
|
Oops, something went wrong.