Skip to content

Commit

Permalink
Add M4cs Keymap for dekunukem/duckyPad (qmk#10900)
Browse files Browse the repository at this point in the history
* Add Keymap

* Fix Media Keys

* Add Keymap ASCII and Clean Up

* Add Readme

* Add GPL Headers, Clean Up Code Based on @drashna Suggestions

* Remove unnecessary include

* Add Layout for info.json and Readme.md

* Fix Layout for info.json

* Fix #endif Error

* Remove Tapping Term

* Add Default Keymap

* Add comments, fix readmes, clean up

* Fix README formatting

* Fix Timeout

* Fix I2C Rules

* Fix Comment Formatting, Multiline Breaks

* Add Sleep/Backlight Rules

* Clean Up README

* Clean Up Rules

* Fix Comments

* Add Pragmas

Co-authored-by: M4cs <[email protected]>
Co-authored-by: Max <[email protected]>
  • Loading branch information
3 people authored Nov 24, 2020
1 parent 6e97a4c commit 66b5c5e
Show file tree
Hide file tree
Showing 16 changed files with 2,208 additions and 0 deletions.
714 changes: 714 additions & 0 deletions keyboards/dekunukem/duckypad/chconf.h

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions keyboards/dekunukem/duckypad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
QMK Firmware for dekuNukem/duckyPad
Copyright (C) 2020 Max Bridgland <@M4cs>
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"

#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0B91
#define DEVICE_VER 0x0001
#define MANUFACTURER dekuNukem
#define PRODUCT duckyPad

#define MATRIX_ROWS 1
#define MATRIX_COLS 17

#define DIRECT_PINS {{ B13, B14, B15, A8, A15, B3, B4, B5, B6, B7, C13, C14, C15, F0, F1, A1, A2 }}

#define RGB_DI_PIN A10
#define RGBLED_NUM 15
#define DRIVER_LED_TOTAL 15

#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define RGB_MATRIX_STARTUP_HUE 221

#define I2C1_SCL_BANK GPIOB
#define I2C1_SCL 8
#define I2C1_SDA_BANK GPIOB
#define I2C1_SDA 9

#define I2C1_SCL_PAL_MODE 1
#define I2C1_SDA_PAL_MODE 1

#define I2C1_OPMODE OPMODE_I2C
#define I2C1_CLOCK_SPEED 100000
#define I2C1_DUTY_CYCLE STD_DUTY_CYCLE

#define OLED_DISPLAY_ADDRESS 0x3C
#define OLED_DISPLAY_128X64
#define OLED_COM_PINS 0x12

#define OLED_IC OLED_IC_SH1106
#define OLED_COLUMN_OFFSET 2
53 changes: 53 additions & 0 deletions keyboards/dekunukem/duckypad/duckypad.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
QMK Firmware for dekuNukem/duckyPad
Copyright (C) 2020 Anthony Som
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 "duckypad.h"

led_config_t g_led_config = { {
{ 2, 1, 0, 3, 4, 5, 8, 7, 6, 9, 10, 11, 14, 13, 12, NO_LED, NO_LED }
}, {
{224, 0},
{112, 0},
{0, 0},
{0, 16},
{112, 16},
{224, 16},
{224, 32},
{112, 32},
{0, 32},
{0, 48},
{112, 48},
{224, 48},
{224, 64},
{112, 64},
{0, 64},
}, {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
} };

void keyboard_pre_init_kb(void) {
setPinOutput(A0);
writePinHigh(A0);
writePinLow(A0);
wait_ms(10);
writePinHigh(A0);

keyboard_pre_init_user();
}
32 changes: 32 additions & 0 deletions keyboards/dekunukem/duckypad/duckypad.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
QMK Firmware for dekuNukem/duckyPad
Copyright (C) 2020 Anthony Som
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"

#define LAYOUT( \
k00, k01, k02, \
k10, k11, k12, \
k20, k21, k22, \
k30, k31, k32, \
k40, k41, k42, \
kDown, kUp \
) {{k00, k01, k02, k10, k11, k12, k20, k21, k22, k30, k31, k32, k40, k41, k42, kDown, kUp}}
Loading

0 comments on commit 66b5c5e

Please sign in to comment.