mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-28 11:59:21 +00:00
post @waffle87 recommendations
This commit is contained in:
parent
84aedd1872
commit
b45d849da8
@ -23,12 +23,11 @@ void housekeeping_task_kb(void) {
|
||||
oled_repaint_requested = true;
|
||||
}
|
||||
}
|
||||
housekeeping_task_user();
|
||||
}
|
||||
|
||||
void suspend_wakeup_init_kb(void) {
|
||||
suspend_wakeup_init_user();
|
||||
oled_on();
|
||||
suspend_wakeup_init_user();
|
||||
}
|
||||
|
||||
#endif // OLED_ENABLE
|
||||
|
@ -4,13 +4,7 @@
|
||||
// work on the Satisfaction75
|
||||
|
||||
#include "candypad.h"
|
||||
#include "oled_driver.h"
|
||||
#include "keymap_introspection.h"
|
||||
#include <stdio.h> // needed for `snprintf`
|
||||
#ifdef CONSOLE_ENABLE
|
||||
# include "print.h"
|
||||
# include "debug.h"
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
|
@ -14,18 +14,15 @@
|
||||
# define I2C_DRIVER I2CD1
|
||||
|
||||
/* Configure oled driver for the 128x32 oled */
|
||||
# define OLED_DISPLAY_128X32
|
||||
# define OLED_TIMEOUT (15 * 60 * 1000) // 15 minutes
|
||||
# define OLED_BRIGHTNESS 128
|
||||
# define OLED_UPDATE_INTERVAL 33 // ~30fps
|
||||
|
||||
/* Font */
|
||||
# define OLED_FONT_H "glcdfont.c"
|
||||
# define OLED_FONT_WIDTH 6
|
||||
# define OLED_FONT_HEIGHT 8
|
||||
# define OLED_FONT_H "keyboards/binepad/candypad/glcdfont.c"
|
||||
# define OLED_FONT_END 127
|
||||
#endif // OLED_ENABLE
|
||||
|
||||
/* ---- Direct pins, for use in `matrix.c` (please read that file) ----- */
|
||||
/* ---- Direct pins, for use in (custom) `matrix.c` (please read that file) ----- */
|
||||
// *NB*: DIRECT_PINS_CUSTOM must match the MATRIX_ROWS / MATRIX_COLS matrix structure
|
||||
// clang-format off
|
||||
#define DIRECT_PINS_CUSTOM \
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "progmem.h"
|
||||
|
||||
/* based on https://lexus2k.github.io/ssd1306/ssd1306__fonts_8c_source.html, chars 32 - 127 */
|
||||
/* generated and tested on https://joric.github.io/qle/ */
|
||||
// clang-format off
|
||||
static const unsigned char PROGMEM font[] = {
|
||||
0xFF, 0x81, 0x81, 0x81, 0x81, 0xFF,
|
||||
@ -38,7 +39,7 @@ static const unsigned char PROGMEM font[] = {
|
||||
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, 0x00, 0x00, 0x00, 0x00, // by @lexus2k form here down
|
||||
0x00, 0x00, 0x00, 0x2F, 0x00, 0x00,
|
||||
0x00, 0x00, 0x07, 0x00, 0x07, 0x00,
|
||||
0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14,
|
||||
|
@ -15,46 +15,215 @@
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"encoder": true
|
||||
"encoder": true,
|
||||
"oled": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP15", "GP14", "GP13", "GP10"],
|
||||
"rows": ["GP12", "GP9", "GP7", "GP6", "GP5", null]
|
||||
"cols": [
|
||||
"GP15",
|
||||
"GP14",
|
||||
"GP13",
|
||||
"GP10"
|
||||
],
|
||||
"rows": [
|
||||
"GP12",
|
||||
"GP9",
|
||||
"GP7",
|
||||
"GP6",
|
||||
"GP5",
|
||||
null
|
||||
]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP28", "pin_b": "GP27"},
|
||||
{"pin_a": "GP1", "pin_b": "GP2"}
|
||||
{
|
||||
"pin_a": "GP28",
|
||||
"pin_b": "GP27"
|
||||
},
|
||||
{
|
||||
"pin_a": "GP1",
|
||||
"pin_b": "GP2"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "label": "Num Lock", "x": 0, "y": 1},
|
||||
{ "matrix": [0, 1], "label": "/", "x": 1, "y": 1},
|
||||
{ "matrix": [0, 2], "label": "*", "x": 2, "y": 1},
|
||||
{ "matrix": [0, 3], "label": "-", "x": 3, "y": 1},
|
||||
|
||||
{ "matrix": [1, 0], "label": "7", "x": 0, "y": 2},
|
||||
{ "matrix": [1, 1], "label": "8", "x": 1, "y": 2},
|
||||
{ "matrix": [1, 2], "label": "9", "x": 2, "y": 2},
|
||||
{ "matrix": [1, 3], "label": "+", "x": 3, "y": 2, "h": 2},
|
||||
|
||||
{ "matrix": [2, 0], "label": "4", "x": 0, "y": 3},
|
||||
{ "matrix": [2, 1], "label": "5", "x": 1, "y": 3},
|
||||
{ "matrix": [2, 2], "label": "6", "x": 2, "y": 3},
|
||||
|
||||
{ "matrix": [3, 0], "label": "1", "x": 0, "y": 4},
|
||||
{ "matrix": [3, 1], "label": "2", "x": 1, "y": 4},
|
||||
{ "matrix": [3, 2], "label": "3", "x": 2, "y": 4},
|
||||
{ "matrix": [3, 3], "label": "Enter", "x": 3, "y": 4, "h": 2},
|
||||
|
||||
{ "matrix": [4, 0], "label": "0", "x": 0, "y": 5, "w": 2},
|
||||
{ "matrix": [4, 2], "label": ".", "x": 2, "y": 5},
|
||||
|
||||
{ "matrix": [5, 0], "label": "", "x": 2, "y": 0},
|
||||
{ "matrix": [5, 1], "label": "", "x": 3, "y": 0}
|
||||
{
|
||||
"matrix": [
|
||||
5,
|
||||
0
|
||||
],
|
||||
"label": "",
|
||||
"x": 2,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
5,
|
||||
1
|
||||
],
|
||||
"label": "",
|
||||
"x": 3,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"label": "Num Lock",
|
||||
"x": 0,
|
||||
"y": 1
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"label": "/",
|
||||
"x": 1,
|
||||
"y": 1
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"label": "*",
|
||||
"x": 2,
|
||||
"y": 1
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
0,
|
||||
3
|
||||
],
|
||||
"label": "-",
|
||||
"x": 3,
|
||||
"y": 1
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"label": "7",
|
||||
"x": 0,
|
||||
"y": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"label": "8",
|
||||
"x": 1,
|
||||
"y": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"label": "9",
|
||||
"x": 2,
|
||||
"y": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
1,
|
||||
3
|
||||
],
|
||||
"label": "+",
|
||||
"x": 3,
|
||||
"y": 2,
|
||||
"h": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"label": "4",
|
||||
"x": 0,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
2,
|
||||
1
|
||||
],
|
||||
"label": "5",
|
||||
"x": 1,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
2,
|
||||
2
|
||||
],
|
||||
"label": "6",
|
||||
"x": 2,
|
||||
"y": 3
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
3,
|
||||
0
|
||||
],
|
||||
"label": "1",
|
||||
"x": 0,
|
||||
"y": 4
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"label": "2",
|
||||
"x": 1,
|
||||
"y": 4
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
3,
|
||||
2
|
||||
],
|
||||
"label": "3",
|
||||
"x": 2,
|
||||
"y": 4
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
3,
|
||||
3
|
||||
],
|
||||
"label": "Enter",
|
||||
"x": 3,
|
||||
"y": 4,
|
||||
"h": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
4,
|
||||
0
|
||||
],
|
||||
"label": "0",
|
||||
"x": 0,
|
||||
"y": 5,
|
||||
"w": 2
|
||||
},
|
||||
{
|
||||
"matrix": [
|
||||
4,
|
||||
2
|
||||
],
|
||||
"label": ".",
|
||||
"x": 2,
|
||||
"y": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -26,4 +26,4 @@ Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0:0) in the matrix (the top left key) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the PCB button located on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` or `RESET` if it is available
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
@ -3,10 +3,6 @@
|
||||
|
||||
CUSTOM_MATRIX = yes
|
||||
|
||||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = ssd1306
|
||||
OLED_TRANSPORT = i2c
|
||||
|
||||
SRC += matrix.c \
|
||||
candypad_oled.c
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user