@ -0,0 +1,25 @@ | |||
/* Copyright 2020 QMK | |||
* | |||
* 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 2 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 | |||
#define CH_CFG_ST_FREQUENCY 10000 | |||
#define CH_CFG_OPTIMIZE_SPEED FALSE | |||
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE | |||
#include_next <chconf.h> | |||
@ -0,0 +1,88 @@ | |||
/* | |||
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 2 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 | |||
#define MATRIX_COL_PINS { A2, A1, B14, B4, B5, B6, B7} | |||
#define MATRIX_ROW_PINS { A7, B0, B1, B2, B10, B11 } | |||
#define DIODE_DIRECTION ROW2COL | |||
#define LED_NUM_LOCK_PIN B15 | |||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | |||
#define LOCKING_SUPPORT_ENABLE | |||
/* Locking resynchronize hack */ | |||
#define LOCKING_RESYNC_ENABLE | |||
// enable NKRO_ENABLE | |||
#define FORCE_NKRO | |||
// The pin connected to the data pin of the LEDs | |||
#define RGB_DI_PIN C15 | |||
// The number of LEDs connected | |||
#define RGB_MATRIX_LED_COUNT 34 | |||
#ifdef RGB_MATRIX_ENABLE | |||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 | |||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS | |||
# define RGB_MATRIX_KEYPRESSES | |||
# define ENABLE_RGB_MATRIX_ALPHAS_MODS | |||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | |||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | |||
# define ENABLE_RGB_MATRIX_BREATHING | |||
# define ENABLE_RGB_MATRIX_BAND_SAT | |||
# define ENABLE_RGB_MATRIX_BAND_VAL | |||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | |||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | |||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | |||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | |||
# define ENABLE_RGB_MATRIX_CYCLE_ALL | |||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | |||
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | |||
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | |||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | |||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | |||
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | |||
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | |||
# define ENABLE_RGB_MATRIX_DUAL_BEACON | |||
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON | |||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | |||
# define ENABLE_RGB_MATRIX_RAINDROPS | |||
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | |||
# define ENABLE_RGB_MATRIX_HUE_BREATHING | |||
# define ENABLE_RGB_MATRIX_HUE_PENDULUM | |||
# define ENABLE_RGB_MATRIX_HUE_WAVE | |||
# define ENABLE_RGB_MATRIX_PIXEL_RAIN | |||
# define ENABLE_RGB_MATRIX_PIXEL_FLOW | |||
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | |||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | |||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP | |||
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN | |||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | |||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | |||
# define ENABLE_RGB_MATRIX_SPLASH | |||
# define ENABLE_RGB_MATRIX_MULTISPLASH | |||
# define ENABLE_RGB_MATRIX_SOLID_SPLASH | |||
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | |||
#endif | |||
// rgb EFFCET --end |
@ -0,0 +1,192 @@ | |||
{ | |||
"keyboard_name": "Pocket", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"manufacturer": "gezhaoyou", | |||
"usb": { | |||
"vid": "0x1A53", | |||
"pid": "0x4F51", | |||
"device_version": "1.0.2" | |||
}, | |||
"processor": "STM32F072", | |||
"bootloader": "stm32-dfu", | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{ | |||
"label": "PrtSc", | |||
"x": 0, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "Scroll Lock", | |||
"x": 1, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "Pause", | |||
"x": 2, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "Num Lock", | |||
"x": 3.25, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "/", | |||
"x": 4.25, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "*", | |||
"x": 5.25, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "-", | |||
"x": 6.25, | |||
"y": 0.25 | |||
}, | |||
{ | |||
"label": "Insert", | |||
"x": 0, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "Home", | |||
"x": 1, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "PgUp", | |||
"x": 2, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "Num Lock", | |||
"x": 3.25, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "/", | |||
"x": 4.25, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "*", | |||
"x": 5.25, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "-", | |||
"x": 6.25, | |||
"y": 1.5 | |||
}, | |||
{ | |||
"label": "Delete", | |||
"x": 0, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "End", | |||
"x": 1, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "PgDn", | |||
"x": 2, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "7", | |||
"x": 3.25, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "8", | |||
"x": 4.25, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "9", | |||
"x": 5.25, | |||
"y": 2.5 | |||
}, | |||
{ | |||
"label": "+", | |||
"x": 6.25, | |||
"y": 2.5, | |||
"h": 2 | |||
}, | |||
{ | |||
"label": "4", | |||
"x": 3.25, | |||
"y": 3.5 | |||
}, | |||
{ | |||
"label": "5", | |||
"x": 4.25, | |||
"y": 3.5 | |||
}, | |||
{ | |||
"label": "6", | |||
"x": 5.25, | |||
"y": 3.5 | |||
}, | |||
{ | |||
"label": "\u2191", | |||
"x": 1, | |||
"y": 4.5 | |||
}, | |||
{ | |||
"label": "1", | |||
"x": 3.25, | |||
"y": 4.5 | |||
}, | |||
{ | |||
"label": "2", | |||
"x": 4.25, | |||
"y": 4.5 | |||
}, | |||
{ | |||
"label": "3", | |||
"x": 5.25, | |||
"y": 4.5 | |||
}, | |||
{ | |||
"label": "Enter", | |||
"x": 6.25, | |||
"y": 4.5, | |||
"h": 2 | |||
}, | |||
{ | |||
"label": "\u2190", | |||
"x": 0, | |||
"y": 5.5 | |||
}, | |||
{ | |||
"label": "\u2193", | |||
"x": 1, | |||
"y": 5.5 | |||
}, | |||
{ | |||
"label": "\u2192", | |||
"x": 2, | |||
"y": 5.5 | |||
}, | |||
{ | |||
"label": "0", | |||
"x": 3.25, | |||
"y": 5.5, | |||
"w": 2 | |||
}, | |||
{ | |||
"label": ".", | |||
"x": 5.25, | |||
"y": 5.5 | |||
} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,39 @@ | |||
/* | |||
Copyright 2012,2013 gezhaoyou <gezhaoyou@126.com> | |||
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 2 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 | |||
enum layer_names { | |||
_BASE, | |||
_FN | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_BASE] = LAYOUT( | |||
KC_ESC, MO(1), KC_EQL, KC_LPRN, KC_RPRN, KC_CALCULATOR, KC_BSPC, | |||
KC_INSERT, KC_HOME, KC_PGUP, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, | |||
KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, | |||
KC_P4, KC_P5, KC_P6, KC_PPLS, | |||
KC_UP, KC_P1, KC_P2, KC_P3, | |||
KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), | |||
[_FN] = LAYOUT( | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOTLOADER, | |||
RGB_TOG, RGB_HUI, RGB_MODE_FORWARD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, RGB_HUD, RGB_MODE_REVERSE, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, | |||
RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), | |||
}; | |||
@ -0,0 +1,39 @@ | |||
/* | |||
Copyright 2012,2013 gezhaoyou <gezhaoyou@126.com> | |||
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 2 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 | |||
enum layer_names { | |||
_BASE, | |||
_FN | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_BASE] = LAYOUT( | |||
KC_ESC, MO(1), KC_EQL, KC_LPRN, KC_RPRN, KC_CALCULATOR, KC_BSPC, | |||
KC_INSERT, KC_HOME, KC_PGUP, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, | |||
KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, | |||
KC_P4, KC_P5, KC_P6, KC_PPLS, | |||
KC_UP, KC_P1, KC_P2, KC_P3, | |||
KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), | |||
[_FN] = LAYOUT( | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOTLOADER, | |||
RGB_TOG, RGB_HUI, RGB_MODE_FORWARD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, RGB_HUD, RGB_MODE_REVERSE, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, | |||
RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), | |||
}; | |||
@ -0,0 +1 @@ | |||
VIA_ENABLE = yes |
@ -0,0 +1,23 @@ | |||
/* Copyright 2020 QMK | |||
* | |||
* 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 2 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_next <mcuconf.h> | |||
#undef STM32_I2C_USE_DMA | |||
#define STM32_I2C_USE_DMA FALSE | |||
@ -0,0 +1,48 @@ | |||
/* | |||
Copyright 2015 Álvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com> | |||
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 2 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 "pocket.h" | |||
#ifdef RGB_MATRIX_ENABLE | |||
// RGB Matrix | |||
led_config_t g_led_config = { | |||
{ | |||
// Key Matrix to LED Index | |||
{ 0, 1, 2, 3 , 4, 5, 6}, | |||
{ 7, 8, 9, 10, 11, 12, 13 }, | |||
{ 14, 15, 16, 17, 18, 19, NO_LED }, | |||
{ NO_LED, NO_LED, NO_LED, 20, 21, 22, 23 }, | |||
{ NO_LED, 24, NO_LED, 25, 26, 27, NO_LED }, | |||
{ 28, 29, 30, NO_LED, 31, 32, 33 } | |||
}, { | |||
{0, 0}, {37, 0}, {74, 0}, {112, 0}, {149, 0}, {186, 0}, {224, 0}, | |||
{0, 12}, {37, 12}, {74, 12}, {112, 12}, {149, 12}, {186, 12}, {224, 12}, | |||
{0, 24}, {37, 24}, {74, 24}, {112, 17}, {149, 17}, {186, 17}, | |||
{112, 38}, {149, 38}, {186, 38}, {224, 38}, | |||
{37, 51}, {112, 51}, {149, 51}, {186, 51}, | |||
{0, 64}, {37, 64}, {74, 64}, {149, 64}, {186, 64}, {224, 64} | |||
}, { | |||
4, 4, 4, 4, 4, 4, 4, | |||
4, 4, 4, 4, 4, 4, 4, | |||
4, 4, 4, 4, 4, 4, | |||
4, 4, 4, 4, | |||
4, 4, 4, 4, | |||
4, 4, 4, 4, 4, 4 | |||
} | |||
}; | |||
#endif |
@ -0,0 +1,39 @@ | |||
/* | |||
Copyright 2015 Álvaro "Gondolindrim" Volpato <gondolindrim@acheronproject.com> | |||
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 2 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 ___ KC_NO | |||
#define LAYOUT( \ | |||
K00, K01, K02, K03, K04, K05, K06, \ | |||
K10, K11, K12, K13, K14, K15, K16, \ | |||
K20, K21, K22, K23, K24, K25, \ | |||
K33, K34, K35, K36, \ | |||
K41, K43, K44, K45, \ | |||
K50, K51, K52, K54, K55, K56 \ | |||
) { \ | |||
{ K00, K01, K02, K03, K04, K05, K06 }, \ | |||
{ K10, K11, K12, K13, K14, K15, K16 }, \ | |||
{ K20, K21, K22, K23, K24, K25, KC_NO}, \ | |||
{ KC_NO, KC_NO, KC_NO, K33, K34, K35, K36 }, \ | |||
{ KC_NO, K41, KC_NO, K43, K44, K45, KC_NO}, \ | |||
{ K50, K51, K52, KC_NO, K54, K55, K56 } \ | |||
} | |||
@ -0,0 +1,23 @@ | |||
# Pocket-34 | |||
A customizable 34 keyboard, support both HOTSWAP and SOLDER. | |||
* Keyboard Maintainer: [gezhaoyou](https://github.com/gezhaoyou) | |||
* Hardware Supported: [gezhaoyou](https://github.com/gezhaoyou) | |||
Make example for this keyboard (after setting up your build environment): | |||
make soda/pocket:default | |||
Flashing example for this keyboard: | |||
make soda/pocket:default:flash | |||
## Bootloader | |||
Enter the bootloader in 2 ways: | |||
* **Physical reset button**: Briefly press the button: [boot] first, then press button: [reset] on the back of the PCB | |||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available | |||
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). |
@ -0,0 +1,14 @@ | |||
RGB_MATRIX_ENABLE = yes | |||
RGB_MATRIX_DRIVER = WS2812 | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = yes # Console for debug | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no # Audio output | |||
# Enter lower-power sleep mode when on the ChibiOS idle thread | |||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE |