-
-
Notifications
You must be signed in to change notification settings - Fork 40.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] New Keyboard - Sugar Glider (#19933)
Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Less/Rikki <[email protected]> Co-authored-by: jack <[email protected]>
- Loading branch information
1 parent
e62fc86
commit 915d7a1
Showing
20 changed files
with
1,165 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,41 @@ | ||
// Copyright 2023 Kyle McCreery | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#define DYNAMIC_KEYMAP_LAYER_COUNT 5 | ||
|
||
/* Matrix COL and ROW definitions */ | ||
#define MATRIX_ROWS 9 | ||
#define MATRIX_COLS 6 | ||
|
||
/* Cirque Touchpad Settings */ | ||
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE | ||
#define CIRQUE_PINNACLE_ATTENUATION EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_2X | ||
|
||
/* Define custom font */ | ||
#define OLED_FONT_H "keyboards/mechwild/sugarglider/glcdfont.c" | ||
|
||
/* allows the "key" button on the blackpill to toggle caps lock for user testing before soldering */ | ||
#define DIP_SWITCH_PINS { A0 } | ||
|
||
/* TAPPING_TERM value is used for the CIRQUE_PINNACLE_TAPPING_TERM as well by default | ||
* defining it this way allows us to easily modify it with DYNAMIC_TAPPING_TERM_ENABLE | ||
*/ | ||
#define TAPPING_TERM 0 | ||
#define CIRQUE_PINNACLE_TAP_ENABLE | ||
#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE | ||
|
||
/* spi config */ | ||
#define SPI_DRIVER SPID1 | ||
#define SPI_SCK_PIN A5 | ||
#define SPI_SCK_PAL_MODE 5 | ||
#define SPI_MOSI_PIN A7 | ||
#define SPI_MOSI_PAL_MODE 5 | ||
#define SPI_MISO_PIN A6 | ||
#define SPI_MISO_PAL_MODE 5 | ||
#define CIRQUE_PINNACLE_SPI_DIVISOR 8 | ||
#define CIRQUE_PINNACLE_SPI_CS_PIN A3 | ||
|
||
/* Force NKRO */ | ||
#define FORCE_NKRO |
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,3 @@ | ||
# MCU name | ||
MCU = STM32F401 | ||
BOARD = BLACKPILL_STM32_F401 |
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,3 @@ | ||
# MCU name | ||
MCU = STM32F411 | ||
BOARD = BLACKPILL_STM32_F411 |
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,231 @@ | ||
// Copyright 2023 Kyle McCreery | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include "progmem.h" | ||
|
||
const unsigned char font[] PROGMEM = { | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, | ||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, | ||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, | ||
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, | ||
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, | ||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, | ||
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, | ||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, | ||
0x00, 0x18, 0x24, 0x18, 0x00, 0x00, | ||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, | ||
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, | ||
0x26, 0x29, 0x79, 0x29, 0x26, 0x00, | ||
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, | ||
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, | ||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, | ||
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, | ||
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, | ||
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, | ||
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, | ||
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, | ||
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, | ||
0x60, 0x60, 0x60, 0x60, 0x60, 0x00, | ||
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, | ||
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, | ||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, | ||
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, | ||
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, | ||
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, | ||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, | ||
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, | ||
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, | ||
0x00, 0x07, 0x00, 0x07, 0x00, 0x00, | ||
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, | ||
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, | ||
0x23, 0x13, 0x08, 0x64, 0x62, 0x00, | ||
0x36, 0x49, 0x56, 0x20, 0x50, 0x00, | ||
0x00, 0x08, 0x07, 0x03, 0x00, 0x00, | ||
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, | ||
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, | ||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, | ||
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, | ||
0x00, 0x80, 0x70, 0x30, 0x00, 0x00, | ||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00, | ||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00, | ||
0x20, 0x10, 0x08, 0x04, 0x02, 0x00, | ||
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, | ||
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, | ||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00, | ||
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, | ||
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, | ||
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, | ||
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, | ||
0x41, 0x21, 0x11, 0x09, 0x07, 0x00, | ||
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, | ||
0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
0x00, 0x40, 0x34, 0x00, 0x00, 0x00, | ||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
0x14, 0x14, 0x14, 0x14, 0x14, 0x00, | ||
0x00, 0x41, 0x22, 0x14, 0x08, 0x00, | ||
0x02, 0x01, 0x59, 0x09, 0x06, 0x00, | ||
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, | ||
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, | ||
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, | ||
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, | ||
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, | ||
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, | ||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, | ||
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, | ||
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, | ||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, | ||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, | ||
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, | ||
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, | ||
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, | ||
0x26, 0x49, 0x49, 0x49, 0x32, 0x00, | ||
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, | ||
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, | ||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, | ||
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, | ||
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, | ||
0x03, 0x04, 0x78, 0x04, 0x03, 0x00, | ||
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, | ||
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, | ||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00, | ||
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, | ||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00, | ||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
0x00, 0x03, 0x07, 0x08, 0x00, 0x00, | ||
0x20, 0x54, 0x54, 0x78, 0x40, 0x00, | ||
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, | ||
0x38, 0x44, 0x44, 0x44, 0x28, 0x00, | ||
0x38, 0x44, 0x44, 0x28, 0x7E, 0x00, | ||
0x38, 0x54, 0x54, 0x54, 0x18, 0x00, | ||
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, | ||
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, | ||
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, | ||
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, | ||
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, | ||
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, | ||
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, | ||
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
0x38, 0x44, 0x44, 0x44, 0x38, 0x00, | ||
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, | ||
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, | ||
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, | ||
0x48, 0x54, 0x54, 0x54, 0x24, 0x00, | ||
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, | ||
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, | ||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, | ||
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, | ||
0x44, 0x28, 0x10, 0x28, 0x44, 0x00, | ||
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, | ||
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, | ||
0x00, 0x08, 0x36, 0x41, 0x00, 0x00, | ||
0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | ||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, | ||
0x02, 0x01, 0x02, 0x04, 0x02, 0x00, | ||
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, | ||
0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, | ||
0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, | ||
0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x01, 0x3E, | ||
0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00, | ||
0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0, | ||
0x80, 0x78, 0x07, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F, | ||
0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, | ||
0xF8, 0xFF, 0xF7, 0x07, 0x07, 0x7F, | ||
0xFF, 0xFF, 0xF8, 0x00, 0xC0, 0x38, | ||
0x0C, 0x18, 0x60, 0x80, 0x00, 0x00, | ||
0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C, | ||
0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00, | ||
0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F, | ||
0x0F, 0x01, 0x03, 0x06, 0xF8, 0x00, | ||
0x07, 0x7F, 0x3F, 0x0E, 0xC1, 0x38, | ||
0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60, | ||
0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00, | ||
0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1, | ||
0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80, | ||
0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0, | ||
0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F, | ||
0x00, 0x80, 0x40, 0x40, 0xC0, 0xC0, | ||
0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xF8, 0x86, 0xC1, 0xC1, | ||
0x41, 0x41, 0x81, 0x01, 0x01, 0x01, | ||
0x02, 0x06, 0x18, 0x60, 0x80, 0x00, | ||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, | ||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x0E, 0xF1, 0x00, 0x00, 0x00, 0x00, | ||
0x81, 0xC7, 0xCF, 0xFF, 0xB1, 0x01, | ||
0x1F, 0x7F, 0x7F, 0x1F, 0x01, 0xB1, | ||
0xFF, 0xDF, 0xC7, 0x83, 0x01, 0x00, | ||
0x00, 0x00, 0xE0, 0xDF, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x03, 0x1C, | ||
0xE0, 0x00, 0x00, 0x80, 0x80, 0x80, | ||
0x80, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
0x04, 0x0B, 0x15, 0x22, 0x40, 0x41, | ||
0x80, 0x41, 0x7E, 0x0C, 0x0C, 0x1C, | ||
0x1C, 0x3C, 0x3C, 0x3C, 0x7C, 0x7C, | ||
0x7C, 0x78, 0x7B, 0xFE, 0xC6, 0x84, | ||
0x03, 0x0F, 0x0F, 0x0E, 0x0D, 0x07, | ||
0x50, 0x78, 0x78, 0x50, 0x07, 0x0F, | ||
0x0F, 0x0F, 0x0E, 0x07, 0x04, 0xC6, | ||
0xFE, 0x7B, 0x79, 0x7D, 0x7E, 0x7C, | ||
0x3C, 0x3C, 0x3C, 0x1C, 0x1C, 0x0C, | ||
0x3F, 0x46, 0x41, 0x80, 0x41, 0x40, | ||
0x21, 0x15, 0x0B, 0x04, 0x00, 0x00, | ||
0x01, 0x06, 0x38, 0xE0, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | ||
0x03, 0x02, 0x04, 0x08, 0x08, 0x08, | ||
0x10, 0x10, 0x10, 0x10, 0x10, 0x08, | ||
0x08, 0x0C, 0x04, 0x02, 0x01, 0x00, | ||
0xF0, 0x1C, 0x03, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0xC7, 0x78, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, | ||
0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, | ||
0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xFF, 0xF0, 0xE0, 0xC0, | ||
0x80, 0x80, 0x80, 0x00, 0x00, 0x00, | ||
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x80, 0x80, 0xC0, 0xC0, 0xE0, | ||
0xF8, 0xBF, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x1C, 0x3A, | ||
0x51, 0x21, 0x60, 0x40, 0x21, 0x33, | ||
0x1F, 0x07, 0x07, 0x07, 0x0F, 0x37, | ||
0x27, 0x27, 0x46, 0x46, 0x46, 0x46, | ||
0x4E, 0x4F, 0x4F, 0x4F, 0x47, 0x47, | ||
0x43, 0x41, 0x41, 0x23, 0x27, 0x1F, | ||
0x0F, 0x0F, 0x0F, 0x06, 0x06, 0x06, | ||
0x06, 0x06, 0x07, 0x07, 0x07, 0x07, | ||
0x07, 0x07, 0x0F, 0x17, 0x23, 0x41, | ||
0x40, 0x60, 0x21, 0x75, 0x3A, 0x14, | ||
0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF, | ||
0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE, | ||
0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0xF8, 0xFF, 0xF7, 0x07, | ||
0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0, | ||
0xF8, 0x3F, 0x8F, 0x0F, 0x3F, 0xFF, | ||
0xFF, 0xFE, 0x80, 0xF0, 0x0C, 0x04, | ||
0xF4, 0x1C, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x06, | ||
0xF8, 0x00, 0x00, 0x73, 0x3F, 0x0F, | ||
0xC1, 0x38, 0x07, 0x0F, 0x70, 0x83, | ||
0x07, 0x7F, 0x1F, 0x03, 0xC0, 0x3F, | ||
0x01, 0x3E, 0xE0, 0x80, 0x70, 0x0E, | ||
0x01, 0x00, 0x00, 0x00, 0x00, 0x07, | ||
0x3C, 0xE0, 0x80, 0x78, 0x07, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
}; |
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,12 @@ | ||
// Copyright 2023 Kyle McCreery | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#define HAL_USE_I2C TRUE | ||
|
||
#define HAL_USE_SPI TRUE | ||
#define SPI_USE_WAIT TRUE | ||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD | ||
|
||
#include_next <halconf.h> |
Oops, something went wrong.