aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorf00_B34rd <ericduns@gmail.com>2019-01-27 19:05:11 -0700
committerDrashna Jaelre <drashna@live.com>2019-01-27 18:05:11 -0800
commite0e8097162d92d337c0f4c6df50f3f9a7ca8e169 (patch)
treeac6012953ad36c3ec79b410b72af94a6e66b67bf
parent5eba88809e24f371252aaca11c465332d68948fc (diff)
downloadqmk_firmware-e0e8097162d92d337c0f4c6df50f3f9a7ca8e169.tar.gz
qmk_firmware-e0e8097162d92d337c0f4c6df50f3f9a7ca8e169.zip
[Keyboard] Add Southpole keyboard (#4946)
* Added southpole keyboard added southpole keyboard folder and files including keymaps folder. Keymaps have errors and will not compile yet * Add files via upload added manufacturer and product name and description * Update config.h * Add files via upload changed formating added layer * cleaned up files, fixed foobeard keymap, and added maker info * fixed keymap files * Update keyboards/southpole/keymaps/foobeard/keymap.c Co-Authored-By: ericduns <ericduns@gmail.com> * Update keyboards/southpole/keymaps/default/keymap.c Co-Authored-By: ericduns <ericduns@gmail.com> * made changes fixing outdated lines and added readme.md * made requested changes for pr to all files * removed vs code and added new line to southpole.h
-rw-r--r--keyboards/southpole/config.h46
-rw-r--r--keyboards/southpole/keymaps/default/keymap.c26
-rw-r--r--keyboards/southpole/keymaps/foobeard/keymap.c72
-rw-r--r--keyboards/southpole/readme.md13
-rw-r--r--keyboards/southpole/rules.mk56
-rw-r--r--keyboards/southpole/southpole.c1
-rw-r--r--keyboards/southpole/southpole.h18
7 files changed, 232 insertions, 0 deletions
diff --git a/keyboards/southpole/config.h b/keyboards/southpole/config.h
new file mode 100644
index 000000000..5992a360f
--- /dev/null
+++ b/keyboards/southpole/config.h
@@ -0,0 +1,46 @@
1#pragma once
2
3//#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED
7#define PRODUCT_ID 0x6060
8#define DEVICE_VER 0x0001
9#define MANUFACTURER u/waxpoetic
10#define PRODUCT southpole
11#define DESCRIPTION southpaw keyboard, left hand numpad
12
13/* key matrix size */
14#define MATRIX_ROWS 5
15#define MATRIX_COLS 20
16
17/* key matrix pins */
18#define MATRIX_ROW_PINS { D2, D3, C6, C7, D5 }
19#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, D4, E6 }
20#define UNUSED_PINS
21
22/* COL2ROW or ROW2COL */
23#define DIODE_DIRECTION COL2ROW
24
25/* number of backlight levels */
26
27#ifdef BACKLIGHT_PIN
28#define BACKLIGHT_LEVELS 0
29#endif
30
31/* Set 0 if debouncing isn't needed */
32#define DEBOUNCING_DELAY 5
33
34/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
35#define LOCKING_SUPPORT_ENABLE
36
37/* Locking resynchronize hack */
38#define LOCKING_RESYNC_ENABLE
39
40#ifdef RGB_DI_PIN
41#define RGBLIGHT_ANIMATIONS
42#define RGBLED_NUM 0
43#define RGBLIGHT_HUE_STEP 8
44#define RGBLIGHT_SAT_STEP 8
45#define RGBLIGHT_VAL_STEP 8
46#endif \ No newline at end of file
diff --git a/keyboards/southpole/keymaps/default/keymap.c b/keyboards/southpole/keymaps/default/keymap.c
new file mode 100644
index 000000000..78cb81f4b
--- /dev/null
+++ b/keyboards/southpole/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5 LAYOUT(
6 KC_NLCK, KC_SLSH, KC_ASTR, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME, \
7 KC_7, KC_8, KC_9, KC_PLUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, \
8 KC_4, KC_5, KC_6, KC_ENT, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
9 KC_1, KC_2, KC_3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_END, \
10 KC_0, KC_DOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), \
11
12 LAYOUT(
13 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, 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_TRNS, RESET, KC_TRNS, \
14 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
15 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
16 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
17 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
18 )
19
20};
21
22void matrix_init_user(void) {
23}
24
25void matrix_scan_user(void) {
26}
diff --git a/keyboards/southpole/keymaps/foobeard/keymap.c b/keyboards/southpole/keymaps/foobeard/keymap.c
new file mode 100644
index 000000000..ef2710d0a
--- /dev/null
+++ b/keyboards/southpole/keymaps/foobeard/keymap.c
@@ -0,0 +1,72 @@
1/*
2Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
3Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12You should have received a copy of the GNU General Public LicensezZZ
13along with this program. If not, see <http://www.gnu.org/licenses/>.
14*/
15
16#include QMK_KEYBOARD_H
17
18enum layers {
19 _QWERTY,
20 _RAISE
21};
22
23enum custom_keycodes {
24 QWERTY = SAFE_RANGE,
25};
26
27#define RAISE MO(_RAISE)
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 /* Layer 0, default layer
31 * ,--------------------------------------------------------------------------------------------------------------------------------------------.
32 * |NumLck| / | * | - | | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Delete| Ins |
33 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
34 * | 7 | 8 | 9 | + | | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | BkSpc | Vol+ |
35 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
36 * | 4 | 5 | 6 | + | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | Vol- |
37 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
38 * | 1 | 2 | 3 | En | | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | Up | Mute |
39 * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
40 * | 0 | . | En | | Ctrl | Win | Alt | Space | Fn | | Left | Down | Right|
41 * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
42 */
43 [_QWERTY] = LAYOUT(
44 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DELETE, KC_INS, \
45 KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU, \
46 KC_P4, KC_P5, KC_P6, KC_PENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, \
47 KC_P1, KC_P2, KC_P3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE, \
48 KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT \
49 ),
50
51 /*layer 1, function layer
52 * ,--------------------------------------------------------------------------------------------------------------------------------------------.
53 * |Reset | | | | | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |Calc |
54 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
55 * | | | | | | | | | | | | | | | | | | | | |
56 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
57 * | | | | | | | | | | | | | | | | | | | |
58 * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
59 * | | | | | | | | | | | | | | | | | | | |
60 * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
61 * | | | | | | | | | | | | | |
62 * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
63 */
64
65 [_RAISE] = LAYOUT(
66 RESET, _______, _______, _______, KC_GRV, 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_CALC, \
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
71 )
72}; \ No newline at end of file
diff --git a/keyboards/southpole/readme.md b/keyboards/southpole/readme.md
new file mode 100644
index 000000000..4ea99ad34
--- /dev/null
+++ b/keyboards/southpole/readme.md
@@ -0,0 +1,13 @@
1# Southpole
2[Southpole](https://imgur.com/a/MZ2wdYt)
3
4PCB designed by u/waxpoetic for a southpaw style board with an hhkb style layout.
5
6Keyboard Maintainer: ericduns
7Hardware Supported: Teensy 2.0
8
9Make example for this keyboard (after setting up your build environment):
10
11 make southpole:default
12
13See 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). \ No newline at end of file
diff --git a/keyboards/southpole/rules.mk b/keyboards/southpole/rules.mk
new file mode 100644
index 000000000..356b75bb6
--- /dev/null
+++ b/keyboards/southpole/rules.mk
@@ -0,0 +1,56 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency.
5# This will define a symbol, F_CPU, in all source code files equal to the
6# processor frequency in Hz. You can then use this symbol in your source code to
7# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
8# automatically to create a 32-bit value in your source code.
9#
10# This will be an integer division of F_USB below, as it is sourced by
11# F_USB after it has run through any CPU prescalers. Note that this value
12# does not *change* the processor frequency - it should merely be updated to
13# reflect the processor speed set externally so that the code can use accurate
14# software delays.
15F_CPU = 16000000
16
17#
18# LUFA specific
19#
20# Target architecture (see library "Board Types" documentation).
21ARCH = AVR8
22
23# Input clock frequency.
24# This will define a symbol, F_USB, in all source code files equal to the
25# input clock frequency (before any prescaling is performed) in Hz. This value may
26# differ from F_CPU if prescaling is used on the latter, and is required as the
27# raw input clock is fed directly to the PLL sections of the AVR for high speed
28# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
29# at the end, this will be done automatically to create a 32-bit value in your
30# source code.
31#
32# If no clock division is performed on the input clock inside the AVR (via the
33# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
34F_USB = $(F_CPU)
35
36# Interrupt driven control endpoint task(+60)
37OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
38
39
40# Boot Section Size in *bytes*
41OPT_DEFS += -DBOOTLOADER_SIZE=4096
42
43
44# Build Options
45# comment out to disable the options.
46#
47BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
48MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
49EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
50CONSOLE_ENABLE = no # Console for debug(+400)
51COMMAND_ENABLE = no # Commands for debug and configuration
52SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
53NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
54BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
55#AUDIO_ENABLE = no
56RGBLIGHT_ENABLE = no \ No newline at end of file
diff --git a/keyboards/southpole/southpole.c b/keyboards/southpole/southpole.c
new file mode 100644
index 000000000..f345893fb
--- /dev/null
+++ b/keyboards/southpole/southpole.c
@@ -0,0 +1 @@
#include "southpole.h"
diff --git a/keyboards/southpole/southpole.h b/keyboards/southpole/southpole.h
new file mode 100644
index 000000000..99cf2ce7b
--- /dev/null
+++ b/keyboards/southpole/southpole.h
@@ -0,0 +1,18 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT( \
6 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
7 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K119, \
8 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K219, \
9 K300, K301, K302, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K319, \
10 K401, K402, K404, K405, K406, K409, K413, K415, K416, K419 \
11) \
12 { \
13 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
14 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, KC_NO, K119 }, \
15 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, KC_NO, KC_NO, K219 }, \
16 { K300, K301, K302, KC_NO, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, KC_NO, KC_NO, K319 }, \
17 { KC_NO, K401, K402, KC_NO, K404, K405, K406, KC_NO, KC_NO, K409, KC_NO, KC_NO, KC_NO, K413, KC_NO, K415, K416, KC_NO, KC_NO, K419 } \
18}