mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-03 23:02:34 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						d0c095eec2
					
				
							
								
								
									
										57
									
								
								keyboards/waterfowl/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keyboards/waterfowl/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					/* Copyright 2022  CyanDuck
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* 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 3 of the License, or
 | 
				
			||||||
 | 
					* (at your option) any later version.
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					* but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					* GNU General Public License for more details.
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* USB Device properties */
 | 
				
			||||||
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
 | 
					#define PRODUCT_ID      0x9CE3
 | 
				
			||||||
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
 | 
					#define MANUFACTURER    CyanDuck
 | 
				
			||||||
 | 
					#define PRODUCT         Waterfowl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Key matrix size */
 | 
				
			||||||
 | 
					/* Rows are doubled up */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 8
 | 
				
			||||||
 | 
					#define MATRIX_COLS 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Wiring
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS { F4, F5, F6, F7, B1 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// COL2ROW, ROW2COL
 | 
				
			||||||
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed
 | 
				
			||||||
 | 
					#define DEBOUNCE 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SOFT_SERIAL_PIN D2
 | 
				
			||||||
 | 
					#define OLED_DISPLAY_128X64
 | 
				
			||||||
 | 
					#define SPLIT_MODS_ENABLE
 | 
				
			||||||
 | 
					#define SPLIT_WPM_ENABLE
 | 
				
			||||||
 | 
					#define SPLIT_USB_DETECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Encoders
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_A { B4, B3 }
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_B { B5, B2 }
 | 
				
			||||||
 | 
					#define ENCODER_RESOLUTIONS { 4, 2 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tapping term
 | 
				
			||||||
 | 
					#define TAPPING_TERM 200
 | 
				
			||||||
							
								
								
									
										54
									
								
								keyboards/waterfowl/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								keyboards/waterfowl/info.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "keyboard_name": "Waterfowl",
 | 
				
			||||||
 | 
					    "url": "",
 | 
				
			||||||
 | 
					    "maintainer": "JW2586",
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                {"x":0, "y":1},
 | 
				
			||||||
 | 
					                {"x":1, "y":0.25},
 | 
				
			||||||
 | 
					                {"x":2, "y":0},
 | 
				
			||||||
 | 
					                {"x":3, "y":0.375},
 | 
				
			||||||
 | 
					                {"x":4, "y":0.5},
 | 
				
			||||||
 | 
					                {"x":9, "y":0.5},
 | 
				
			||||||
 | 
					                {"x":10, "y":0.375},
 | 
				
			||||||
 | 
					                {"x":11, "y":0},
 | 
				
			||||||
 | 
					                {"x":12, "y":0.25},
 | 
				
			||||||
 | 
					                {"x":13, "y":1},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"x":0, "y":2},
 | 
				
			||||||
 | 
					                {"x":1, "y":1.25},
 | 
				
			||||||
 | 
					                {"x":2, "y":1},
 | 
				
			||||||
 | 
					                {"x":3, "y":1.375},
 | 
				
			||||||
 | 
					                {"x":4, "y":1.5},
 | 
				
			||||||
 | 
					                {"x":9, "y":1.5},
 | 
				
			||||||
 | 
					                {"x":10, "y":1.375},
 | 
				
			||||||
 | 
					                {"x":11, "y":1},
 | 
				
			||||||
 | 
					                {"x":12, "y":1.25},
 | 
				
			||||||
 | 
					                {"x":13, "y":2},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"x":0, "y":3},
 | 
				
			||||||
 | 
					                {"x":1, "y":2.25},
 | 
				
			||||||
 | 
					                {"x":2, "y":2},
 | 
				
			||||||
 | 
					                {"x":3, "y":2.375},
 | 
				
			||||||
 | 
					                {"x":4, "y":2.5},
 | 
				
			||||||
 | 
					                {"x":9, "y":2.5},
 | 
				
			||||||
 | 
					                {"x":10, "y":2.375},
 | 
				
			||||||
 | 
					                {"x":11, "y":2},
 | 
				
			||||||
 | 
					                {"x":12, "y":2.25},
 | 
				
			||||||
 | 
					                {"x":13, "y":3},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"x":2, "y":3.5},
 | 
				
			||||||
 | 
					                {"x":3.5, "y":3.5},
 | 
				
			||||||
 | 
					                {"x":4.5, "y":3.7},
 | 
				
			||||||
 | 
					                {"x":5.5, "y":4.1},
 | 
				
			||||||
 | 
					                {"x":5.5, "y":2.5},
 | 
				
			||||||
 | 
					                {"x":7.5, "y":2.5},
 | 
				
			||||||
 | 
					                {"x":7.5, "y":4.1},
 | 
				
			||||||
 | 
					                {"x":8.5, "y":3.7},
 | 
				
			||||||
 | 
					                {"x":9.5, "y":3.5},
 | 
				
			||||||
 | 
					                {"x":11, "y":3.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										129
									
								
								keyboards/waterfowl/keymaps/cyanduck/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								keyboards/waterfowl/keymaps/cyanduck/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,129 @@
 | 
				
			|||||||
 | 
					/* Copyright 2022  CyanDuck
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* 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 3 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Defines names for use in layer keycodes and the keymap
 | 
				
			||||||
 | 
					enum layer_names {
 | 
				
			||||||
 | 
					    _COLEMAKDH,
 | 
				
			||||||
 | 
					    _NAVNUM,
 | 
				
			||||||
 | 
					    _SYM,
 | 
				
			||||||
 | 
					    _FUNC,
 | 
				
			||||||
 | 
					    _GAME
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Colemak-DH
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |   Q  |   W  |   F  |   P  |   B  |                      |   J  |   L  |   U  |   Y  |   ;  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   A  |   R  |   S  |   T  |   G  |                      |   M  |   N  |   E  |   I  |   O  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   Z  |   X  |   C  |   D  |   V  |  |  2  |    |  3  |  |   K  |   H  |   ,  |   .  |   /  |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            | TO(0) | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_COLEMAKDH] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_Q,    KC_W,    KC_F,    KC_P,    KC_B,         KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN,
 | 
				
			||||||
 | 
					  KC_A,    MT(MOD_LALT, KC_R),    MT(MOD_LCTL, KC_S),    MT(MOD_LSFT, KC_T),    KC_G,         KC_M,    MT(MOD_LSFT, KC_N),    MT(MOD_LCTL, KC_E),    MT(MOD_LALT, KC_I),    KC_O,
 | 
				
			||||||
 | 
					  KC_Z,    KC_X,    KC_C,    MT(MOD_LGUI, KC_D),    KC_V,         KC_K,    MT(MOD_LGUI, KC_H),    KC_COMM, KC_DOT,  KC_SLSH,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* NAVNUM
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |  ESC | PgUp |  UP  | PgDn | TO(4)|                      |   /  |   7  |   8  |   9  |   -  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * | Home | Left | Down | Right| End  |                      |   =  |   4  |   5  |   6  |   +  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |      |      |  INS | TO(2)|      |  |  2  |    |  3  |  |   0  |   1  |   2  |   3  |   *  |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | MO(3)|            | TO(0) | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_NAVNUM] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_ESC,    KC_PGUP,    KC_UP,    KC_PGDN,   TO(4),    KC_SLSH,    KC_7,    KC_8,    KC_9,    KC_MINS,
 | 
				
			||||||
 | 
					  KC_HOME,   KC_LEFT,    KC_DOWN,  KC_RGHT,   KC_END,  KC_EQL,     KC_4,    KC_5,    KC_6,    KC_PLUS,
 | 
				
			||||||
 | 
					  KC_NO,    KC_NO,      KC_INS,   TO(2),     KC_NO,    KC_0,       KC_1,    KC_2,    KC_3,    KC_ASTR,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_ESC, KC_2,         KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* SYM
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |   %  |   @  |   [  |   ]  |   \  |                      |   ¦  |   ¬  |   ^  |      |      |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   #  |   !  |   (  |   )  |   |  |                      |   _  |   '  |   "  |   ~  |   `  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   $  |   £  |   {  |   }  |   &  |  |  2  |    |  3  |  | TO(1)|      |      |      |      |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            | TO(0) | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_SYM] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_PERC, S(KC_QUOT),   KC_LBRC, KC_RBRC,  KC_NUBS,     RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO,   KC_NO,
 | 
				
			||||||
 | 
					  KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS),      KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
 | 
				
			||||||
 | 
					  KC_DLR, S(KC_3),  KC_LCBR, KC_RCBR, KC_AMPR,      TO(1), KC_NO,   KC_NO,   KC_NO,   KC_NO,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* FUNC
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |      |      |      |      |      |                      |      |  F7  |  F8  |  F9  |  F11 |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |      |      |      |      |      |                      |      |  F4  |  F5  |  F6  |  F12 |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * | Reset|      |      |      |      |  |  2  |    |  3  |  |  F10 |  F1  |  F2  |  F3  |  F13 |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            | TO(0) | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_FUNC] =  LAYOUT(
 | 
				
			||||||
 | 
					  KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_F7,   KC_F8,   KC_F9,   KC_F11,
 | 
				
			||||||
 | 
					  KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_F4,   KC_F5,   KC_F6,   KC_F12,
 | 
				
			||||||
 | 
					  RESET,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_F10,  KC_F1,   KC_F2,   KC_F3,   KC_F13,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* GAME
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |  ESC |   Q  |   W  |   E  |   R  |                      |      |      |      |      |      |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |Shift |   A  |   S  |   D  |   F  |                      |      |      |      |      |      |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * | Ctrl |   Z  |   X  |   C  |   V  |  |  2  |    |  3  |  |      |      |      |      |      |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   |  T  | SPACE | TAB  |            | TO(0) | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_GAME] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_ESC,    KC_Q,    KC_W,    KC_E,    KC_R,         KC_NO,    KC_NO,    KC_NO,    KC_NO,    KC_NO,
 | 
				
			||||||
 | 
					  KC_LSFT,    KC_A,    KC_S,    KC_D,    KC_F,         KC_NO,    KC_NO,    KC_NO,    KC_NO,    KC_NO,
 | 
				
			||||||
 | 
					  KC_LCTL,    KC_Z,    KC_X,    KC_C,    KC_V,         KC_NO,    KC_NO,    KC_NO, KC_NO,  KC_NO,
 | 
				
			||||||
 | 
					  KC_1, KC_T, KC_SPC, KC_TAB, KC_2,         KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										108
									
								
								keyboards/waterfowl/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/waterfowl/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,108 @@
 | 
				
			|||||||
 | 
					/* Copyright 2022  CyanDuck
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* 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 3 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Defines names for use in layer keycodes and the keymap
 | 
				
			||||||
 | 
					enum layer_names {
 | 
				
			||||||
 | 
					    _QWERTY,
 | 
				
			||||||
 | 
					    _NAVNUM,
 | 
				
			||||||
 | 
					    _SYM,
 | 
				
			||||||
 | 
					    _FUNC,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* QWERTY
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |   Q  |   W  |   E  |   R  |   T  |                      |   Y  |   U  |   I  |   O  |   P  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   A  |   S  |   D  |   F  |   G  |                      |   H  |   J  |   K  |   L  |   ;  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   Z  |   X  |   C  |   V  |   B  |  |  2  |    |  3  |  |   N  |   M  |   ,  |   .  |   /  |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_QWERTY] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,
 | 
				
			||||||
 | 
					  MT(MOD_LGUI, KC_A),    MT(MOD_LALT, KC_S),    MT(MOD_LCTL, KC_D),    MT(MOD_LSFT, KC_F),    KC_G,         KC_H,    MT(MOD_LSFT, KC_J),    MT(MOD_LCTL, KC_K),    MT(MOD_LALT, KC_L),    MT(MOD_LGUI, KC_SCLN),
 | 
				
			||||||
 | 
					  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,         KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* NAVNUM
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |      | PgUp |  UP  | PgDn |      |                      |   /  |   7  |   8  |   9  |   -  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * | Home | Left | Down | Right| End  |                      |   =  |   4  |   5  |   6  |   +  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |      |      |  INS |      |      |  |  2  |    |  3  |  |   0  |   1  |   2  |   3  |   *  |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | MO(3)|            |  ESC  | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_NAVNUM] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_NO,    KC_PGUP,    KC_UP,    KC_PGDN,   KC_NO,    KC_SLSH,    KC_7,    KC_8,    KC_9,    KC_MINS,
 | 
				
			||||||
 | 
					  KC_HOME,   KC_LEFT,    KC_DOWN,  KC_RGHT,   KC_END,  KC_EQL,     KC_4,    KC_5,    KC_6,    KC_PLUS,
 | 
				
			||||||
 | 
					  KC_NO,    KC_NO,      KC_INS,   KC_NO,     KC_NO,    KC_0,       KC_1,    KC_2,    KC_3,    KC_ASTR,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* SYM
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |   %  |   @  |   [  |   ]  |   \  |                      |   ¦  |   ¬  |   ^  |      |      |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   #  |   !  |   (  |   )  |   |  |                      |   _  |   '  |   "  |   ~  |   `  |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |   $  |   £  |   {  |   }  |   &  |  |  2  |    |  3  |  |      |      |      |      |      |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_SYM] = LAYOUT(
 | 
				
			||||||
 | 
					  KC_PERC, S(KC_QUOT),   KC_LBRC, KC_RBRC,  KC_NUBS,     RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO,   KC_NO,
 | 
				
			||||||
 | 
					  KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS),      KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
 | 
				
			||||||
 | 
					  KC_DLR, S(KC_3),  KC_LCBR, KC_RCBR, KC_AMPR,      KC_NO, KC_NO,   KC_NO,   KC_NO,   KC_NO,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* FUNC
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * ,----------------------------------.                      ,----------------------------------.
 | 
				
			||||||
 | 
					 * |      |      |      |      |      |                      |      |  F7  |  F8  |  F9  |  F11 |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|                      |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * |      |      |      |      |      |                      |      |  F4  |  F5  |  F6  |  F12 |
 | 
				
			||||||
 | 
					 * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
 | 
				
			||||||
 | 
					 * | Reset|      |      |      |      |  |  2  |    |  3  |  |  F10 |  F1  |  F2  |  F3  |  F13 |
 | 
				
			||||||
 | 
					 * `----------------------------------'  `-----'    `-----'  `----------------------------------'
 | 
				
			||||||
 | 
					 *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
 | 
				
			||||||
 | 
					 *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
 | 
				
			||||||
 | 
					 *          `-----'   `--------------------'            `--------------------'   `-----'
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_FUNC] =  LAYOUT(
 | 
				
			||||||
 | 
					  KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_F7,   KC_F8,   KC_F9,   KC_F11,
 | 
				
			||||||
 | 
					  KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_F4,   KC_F5,   KC_F6,   KC_F12,
 | 
				
			||||||
 | 
					  RESET,   KC_NO,   KC_NO,   KC_NO,   KC_NO,        KC_F10,  KC_F1,   KC_F2,   KC_F3,   KC_F13,
 | 
				
			||||||
 | 
					  KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2,         KC_3, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
 | 
				
			||||||
 | 
					),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										21
									
								
								keyboards/waterfowl/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/waterfowl/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# Waterfowl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The Waterfowl is a 36-key split keyboard inspired by the Kyria and Arch-36.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [CyanDuck](https://github.com/JW2586)
 | 
				
			||||||
 | 
					* Hardware Supported: Pro Micro 5V/16MHz and compatible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make waterfowl:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example of flashing this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make waterfowl:default:flash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enter the bootloader by:
 | 
				
			||||||
 | 
					- Press the key mapped to reset (bottom left key in FUNC layer/layer 3)
 | 
				
			||||||
 | 
					- Press the reset button on the PCB
 | 
				
			||||||
 | 
					- Connect GND and RST pins on pro micro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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).
 | 
				
			||||||
							
								
								
									
										23
									
								
								keyboards/waterfowl/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/waterfowl/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					# MCU name
 | 
				
			||||||
 | 
					MCU = atmega32u4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bootloader selection
 | 
				
			||||||
 | 
					BOOTLOADER = atmel-dfu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = no         # Console for debug
 | 
				
			||||||
 | 
					COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OLED_ENABLE = yes        # Enables the use of OLED displays
 | 
				
			||||||
 | 
					OLED_DRIVER = SSD1306    # Specifies the type of OLED
 | 
				
			||||||
 | 
					SPLIT_KEYBOARD = yes     # Enables split functionality
 | 
				
			||||||
 | 
					ENCODER_ENABLE = yes	 # Enables the encoders
 | 
				
			||||||
							
								
								
									
										161
									
								
								keyboards/waterfowl/waterfowl.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								keyboards/waterfowl/waterfowl.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
				
			|||||||
 | 
					/* Copyright 2022  CyanDuck
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* 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 3 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 "waterfowl.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef ENCODER_ENABLE
 | 
				
			||||||
 | 
					bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    if (!encoder_update_user(index, clockwise)) {
 | 
				
			||||||
 | 
					        return false; 
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (index == 0) { // Left roller
 | 
				
			||||||
 | 
					        if (clockwise) {
 | 
				
			||||||
 | 
					            tap_code(KC_MS_WH_DOWN);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            tap_code(KC_MS_WH_UP);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } else if (index == 1) { // Left encoder
 | 
				
			||||||
 | 
					        if (clockwise) {
 | 
				
			||||||
 | 
					            tap_code16(S(KC_TAB));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            tap_code(KC_TAB);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } else if (index == 2) { // Right roller
 | 
				
			||||||
 | 
					        if (clockwise) {
 | 
				
			||||||
 | 
					            tap_code16(S(KC_MS_WH_DOWN));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            tap_code16(S(KC_MS_WH_UP));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } else if (index == 3) { // Right encoder
 | 
				
			||||||
 | 
					        if (clockwise) {
 | 
				
			||||||
 | 
					            tap_code(KC_RIGHT);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            tap_code(KC_LEFT);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef OLED_ENABLE
 | 
				
			||||||
 | 
					oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
 | 
				
			||||||
 | 
					    if (is_keyboard_master() && is_keyboard_left()) {
 | 
				
			||||||
 | 
					        return OLED_ROTATION_90;
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        return OLED_ROTATION_270;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					bool oled_task_kb(void) {
 | 
				
			||||||
 | 
					   if (!oled_task_user()) {
 | 
				
			||||||
 | 
					       return false;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					   if (is_keyboard_master()) {
 | 
				
			||||||
 | 
					       // Host Keyboard Layer Status
 | 
				
			||||||
 | 
					       oled_write_P(PSTR("LAYER:\n"), false);
 | 
				
			||||||
 | 
					       oled_write_P(PSTR("\n"), false);
 | 
				
			||||||
 | 
						   
 | 
				
			||||||
 | 
					       switch (get_highest_layer(layer_state)) {
 | 
				
			||||||
 | 
					           case 0:
 | 
				
			||||||
 | 
					               oled_write_P(PSTR("DEFAULT\n\n\n\n"), false);
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					           case 3:
 | 
				
			||||||
 | 
					               oled_write_P(PSTR("FUNCTION\n\n\n\n"), false);
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					           case 2:
 | 
				
			||||||
 | 
					               oled_write_P(PSTR("SYMBOLS\n\n\n\n"), false);
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					           case 1:
 | 
				
			||||||
 | 
					               oled_write_P(PSTR("NAVIGATIONAND\nNUMBERS\n"), false);
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					           default:
 | 
				
			||||||
 | 
					               oled_write_ln_P(PSTR("Undefined"), false);
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					  static const char PROGMEM my_logo[] = {
 | 
				
			||||||
 | 
					    // Paste the code from the previous step below this line!
 | 
				
			||||||
 | 
					    // 'waterfowl for OLED', 64x128px
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x80, 0xc0, 0x40, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x80, 0xc0, 0x40, 0x20, 0x10, 0x10, 0x08, 0x0c, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 
 | 
				
			||||||
 | 
					0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1a, 0x26, 0x40, 
 | 
				
			||||||
 | 
					0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 
 | 
				
			||||||
 | 
					0x1c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1e, 0x16, 0x1c, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x03, 0x0c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xfc, 0xff, 
 | 
				
			||||||
 | 
					0x78, 0xf8, 0xfc, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfc, 
 | 
				
			||||||
 | 
					0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x1e, 0x1c, 0x1c, 0x14, 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, 
 | 
				
			||||||
 | 
					0x10, 0x10, 0x10, 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x38, 0x7c, 0x7e, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x03, 
 | 
				
			||||||
 | 
					0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0xc0, 0x38, 0x0e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x38, 
 | 
				
			||||||
 | 
					0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3c, 0x03, 0x80, 
 | 
				
			||||||
 | 
					0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x80, 0x80, 0xc0, 0x40, 0x7f, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0c, 0x0c, 0x0c, 0x04, 0x07, 0x02, 0x03, 0x01, 
 | 
				
			||||||
 | 
					0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x02, 0x06, 0x06, 0x06, 
 | 
				
			||||||
 | 
					0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        oled_write_raw_P(my_logo, sizeof(my_logo));
 | 
				
			||||||
 | 
					    }    
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										44
									
								
								keyboards/waterfowl/waterfowl.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								keyboards/waterfowl/waterfowl.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					/* Copyright 2022  CyanDuck
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* 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 3 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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* This a shortcut to help you visually see your layout.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The first section contains all of the arguments representing the physical
 | 
				
			||||||
 | 
					 * layout of the board and position of the keys.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The second converts the arguments into a two-dimensional array which
 | 
				
			||||||
 | 
					 * represents the switch matrix.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define LAYOUT( \
 | 
				
			||||||
 | 
					    L00, L01, L02, L03, L04,    R04, R03, R02, R01, R00, \
 | 
				
			||||||
 | 
					    L05, L06, L07, L08, L09,    R09, R08, R07, R06, R05, \
 | 
				
			||||||
 | 
					    L10, L11, L12, L13, L14,    R14, R13, R12, R11, R10, \
 | 
				
			||||||
 | 
					    L15, L16, L17, L18, L19,    R19, R18, R17, R16, R15 \
 | 
				
			||||||
 | 
					) \
 | 
				
			||||||
 | 
					{ \
 | 
				
			||||||
 | 
					    { L00,   L01,   L02,   L03,   L04 }, \
 | 
				
			||||||
 | 
					    { L05,   L06,   L07,   L08,   L09 }, \
 | 
				
			||||||
 | 
					    { L10,   L11,   L12,   L13,   L14 }, \
 | 
				
			||||||
 | 
					    { L15,   L16,   L17,   L18,   L19 }, \
 | 
				
			||||||
 | 
					    { R00,   R01,   R02,   R03,   R04 }, \
 | 
				
			||||||
 | 
					    { R05,   R06,   R07,   R08,   R09 }, \
 | 
				
			||||||
 | 
					    { R10,   R11,   R12,   R13,   R14 }, \
 | 
				
			||||||
 | 
					    { R15,   R16,   R17,   R18,   R19}, \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user