Co-authored-by: Drashna Jaelre <drashna@live.com>pull/13307/head
@ -1,20 +1,17 @@ | |||
# pistachio | |||
![pistachio](https://ratelog.net/wp-content/uploads/2020/08/Pistachio4-scaled.jpg) | |||
![pistachio](https://ratelog.net/wp-content/uploads/2021/05/s-IMG_1835.jpg) | |||
This is a 92-key split keyboard with JIS layout and spare keys. | |||
* Keyboard Maintainer: [rate](https://github.com/7-rate) | |||
* Hardware Supported: pistachio PCB, Pro Micro | |||
* Keyboard Maintainer: [rate](https://github.com/7-rate) [@7_rate](https://twitter.com/7_rate) | |||
* Hardware Supported: pistachio PCB Rev1 Rev2, Pro Micro | |||
* Hardware Availability: [PCB & Case Data](https://github.com/7-rate/Pistachio), [Booth Shop](https://rates.booth.pm/items/2237334) | |||
Make example for this keyboard (after setting up your build environment): | |||
make pistachio:default | |||
Flashing example for this keyboard: | |||
make pistachio:default:flash | |||
make pistachio/rev1:default | |||
make pistachio/rev2:default | |||
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,67 @@ | |||
/* | |||
Copyright 2020 rate | |||
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 | |||
/* | |||
* Keyboard Matrix Assignments | |||
* | |||
* Change this to how you wired your keyboard | |||
* COLS: AVR pins used for columns, left to right | |||
* ROWS: AVR pins used for rows, top to bottom | |||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | |||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | |||
* | |||
*/ | |||
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } | |||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, D3} | |||
#define UNUSED_PINS | |||
#define USE_I2C | |||
/* COL2ROW, ROW2COL */ | |||
#define DIODE_DIRECTION COL2ROW | |||
/* ws2812 RGB LED */ | |||
#define RGB_DI_PIN D2 | |||
#define RGBLIGHT_SPLIT | |||
#define RGBLED_SPLIT { 1, 1 } | |||
#define RGBLED_NUM 2 | |||
#define RGBLIGHT_LAYERS | |||
#define RGBLIGHT_HUE_STEP 10 | |||
#define RGBLIGHT_SAT_STEP 17 | |||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) | |||
#define USB_MAX_POWER_CONSUMPTION 400 | |||
#else | |||
#define USB_MAX_POWER_CONSUMPTION 100 | |||
#endif | |||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | |||
#define DEBOUNCE 5 | |||
/* 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 | |||
/* nKey Rollover */ | |||
#define FORCE_NKRO | |||
/* disable these deprecated features by default */ | |||
#define NO_ACTION_MACRO | |||
#define NO_ACTION_FUNCTION |
@ -0,0 +1,17 @@ | |||
# pistachio Rev1 | |||
![pistachio](https://ratelog.net/wp-content/uploads/2020/08/Pistachio4-scaled.jpg) | |||
This is a 92-key split keyboard with JIS layout and spare keys. | |||
* Keyboard Maintainer: [rate](https://github.com/7-rate) [@7_rate](https://twitter.com/7_rate) | |||
* Hardware Supported: pistachio PCB Rev1, Pro Micro | |||
* Hardware Availability: [PCB & Case Data](https://github.com/7-rate/Pistachio), [Booth Shop](https://rates.booth.pm/items/2237334) | |||
Make example for this keyboard (after setting up your build environment): | |||
make pistachio/rev1:default | |||
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). | |||
[Build guide](https://ratelog.net/pistachio-build-guide/) |
@ -0,0 +1,18 @@ | |||
/* | |||
Copyright 2020 rate | |||
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 "rev1.h" |
@ -0,0 +1,58 @@ | |||
/* | |||
Copyright 2020 rate | |||
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" | |||
/* | |||
* ,------------------------------------------------- ---------------------------------------------------------. | |||
* | | L00 | | L01 | L02 | L03 | L04 | | L05 | | R00 | R01 | R02 | R03 | | R04 | R05 | R06 | R07 | | | |||
* |-------------------------------------- ---------- ---------------------------------------------------------+ | |||
* | L10 || L11 | L12 | L13 | L14 | L15 | L16 | L17 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R17 || R18 | | |||
* |------------------------------------------------- ---------------------------------------------------------+ | |||
* | L20 || L21 | L22 | L23 | L24 | L25 | L26 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 | R27 || R28 | | |||
* |--------------------------------------------- ------------------------------------------- ------+ | |||
* | L30 || L31 | L32 | L33 | L34 | L35 | L36 | | R30 | R31 | R32 | R33 | R34 | R35 | R36 | || R37 | | |||
* |---------------------------------------------- -------------------------------------------------------+ | |||
* | L40 || L41 | L42 | L43 | L44 | L45 | L46 | | R40 | R41 | R42 | R43 | R44 | R45 | R46 || R47 | | |||
* |----------------------------------------------- -----------------------------------------------------+ | |||
* | L50 || L51 | L52 | L53 | L54 | L55 | L56 | | R50 | R51 | R52 | R53 | R54 | R55 | R56 || R57 | | |||
* |----------------------------------------------- ---------------------------------------------------- | |||
*/ | |||
#define LAYOUT( \ | |||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, R06, R07, \ | |||
L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, R18, \ | |||
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, R28, \ | |||
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R27, R37, \ | |||
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, R47, \ | |||
L50, L51, L52, L53, L54, L55, L56, R50, R51, R52, R53, R54, R55, R56, R57 \ | |||
) \ | |||
{ \ | |||
{ L00, L01, L02, L03, L04, L05, KC_NO, KC_NO, KC_NO }, \ | |||
{ L10, L11, L12, L13, L14, L15, L16, L17, KC_NO }, \ | |||
{ L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \ | |||
{ L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \ | |||
{ L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO }, \ | |||
{ L50, L51, L52, L53, L54, L55, L56, KC_NO, KC_NO }, \ | |||
{ R00, R01, R02, R03, R04, R05, R06, R07, KC_NO }, \ | |||
{ R10, R11, R12, R13, R14, R15, R16, R17, R18 }, \ | |||
{ R20, R21, R22, R23, R24, R25, R26, R27, R28 }, \ | |||
{ R30, R31, R32, R33, R34, R35, R36, R37, KC_NO }, \ | |||
{ R40, R41, R42, R43, R44, R45, R46, R47, KC_NO }, \ | |||
{ R50, R51, R52, R53, R54, R55, R56, R57, KC_NO } \ | |||
} |
@ -0,0 +1,23 @@ | |||
# MCU name | |||
MCU = atmega32u4 | |||
# Bootloader selection | |||
BOOTLOADER = caterina | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
NKRO_ENABLE = yes # USB Nkey Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||
AUDIO_ENABLE = no # Audio output | |||
SPLIT_KEYBOARD = yes # Enable split keyboard |
@ -0,0 +1,71 @@ | |||
/* | |||
Copyright 2020 rate | |||
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 | |||
/* | |||
* Keyboard Matrix Assignments | |||
* | |||
* Change this to how you wired your keyboard | |||
* COLS: AVR pins used for columns, left to right | |||
* ROWS: AVR pins used for rows, top to bottom | |||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | |||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | |||
* | |||
*/ | |||
#define MATRIX_ROW_PINS { B5, B4, E6, D7, C6, D4 } | |||
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, D3} | |||
#define UNUSED_PINS | |||
#define USE_I2C | |||
/* COL2ROW, ROW2COL */ | |||
#define DIODE_DIRECTION COL2ROW | |||
/* Split hand configration */ | |||
#define SPLIT_HAND_MATRIX_GRID D4,D3 | |||
/* ws2812 RGB LED */ | |||
#define RGB_DI_PIN D2 | |||
#define RGBLIGHT_SPLIT | |||
#define RGBLED_SPLIT { 38, 46 } | |||
#define RGBLED_NUM 84 | |||
#define RGBLIGHT_LIMIT_VAL 195 | |||
#define RGBLIGHT_LAYERS | |||
#define RGBLIGHT_HUE_STEP 10 | |||
#define RGBLIGHT_SAT_STEP 17 | |||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) | |||
#define USB_MAX_POWER_CONSUMPTION 400 | |||
#else | |||
#define USB_MAX_POWER_CONSUMPTION 100 | |||
#endif | |||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | |||
#define DEBOUNCE 5 | |||
/* 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 | |||
/* nKey Rollover */ | |||
#define FORCE_NKRO | |||
/* disable these deprecated features by default */ | |||
#define NO_ACTION_MACRO | |||
#define NO_ACTION_FUNCTION |
@ -0,0 +1,17 @@ | |||
# pistachio Rev2 | |||
![pistachio](https://ratelog.net/wp-content/uploads/2021/05/s-IMG_1835.jpg) | |||
This is a 92-key split keyboard with JIS layout and spare keys. | |||
* Keyboard Maintainer: [rate](https://github.com/7-rate) [@7_rate](https://twitter.com/7_rate) | |||
* Hardware Supported: pistachio PCB Rev2, Pro Micro, Backlight | |||
* Hardware Availability: [PCB & Case Data](https://github.com/7-rate/Pistachio), [Booth Shop](https://rates.booth.pm/items/2237334) | |||
Make example for this keyboard (after setting up your build environment): | |||
make pistachio/rev2:default | |||
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). | |||
[Build guide](https://ratelog.net/pistachio-build-guide/) |
@ -0,0 +1,19 @@ | |||
/* | |||
Copyright 2020 rate | |||
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 "rev2.h" |
@ -0,0 +1,58 @@ | |||
/* | |||
Copyright 2020 rate | |||
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" | |||
/* | |||
* ,------------------------------------------------- ---------------------------------------------------------. | |||
* | | L00 | | L01 | L02 | L03 | L04 | | L05 | | R00 | R01 | R02 | R03 | | R04 | R05 | R06 | R07 | | | |||
* |-------------------------------------- ---------- ---------------------------------------------------------+ | |||
* | L10 || L11 | L12 | L13 | L14 | L15 | L16 | L17 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R17 || R18 | | |||
* |------------------------------------------------- ---------------------------------------------------------+ | |||
* | L20 || L21 | L22 | L23 | L24 | L25 | L26 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 | R27 || R28 | | |||
* |--------------------------------------------- ------------------------------------------- ------+ | |||
* | L30 || L31 | L32 | L33 | L34 | L35 | L36 | | R30 | R31 | R32 | R33 | R34 | R35 | R36 | || R37 | | |||
* |---------------------------------------------- -------------------------------------------------------+ | |||
* | L40 || L41 | L42 | L43 | L44 | L45 | L46 | | R40 | R41 | R42 | R43 | R44 | R45 | R46 || R47 | | |||
* |----------------------------------------------- -----------------------------------------------------+ | |||
* | L50 || L51 | L52 | L53 | L54 | L55 | L56 | | R50 | R51 | R52 | R53 | R54 | R55 | R56 || R57 | | |||
* |----------------------------------------------- ---------------------------------------------------- | |||
*/ | |||
#define LAYOUT( \ | |||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, R06, R07, \ | |||
L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, R18, \ | |||
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, R28, \ | |||
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R27, R37, \ | |||
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, R47, \ | |||
L50, L51, L52, L53, L54, L55, L56, R50, R51, R52, R53, R54, R55, R56, R57 \ | |||
) \ | |||
{ \ | |||
{ L00, L01, L02, L03, L04, L05, KC_NO, KC_NO, KC_NO }, \ | |||
{ L10, L11, L12, L13, L14, L15, L16, L17, KC_NO }, \ | |||
{ L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \ | |||
{ L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \ | |||
{ L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO }, \ | |||
{ L50, L51, L52, L53, L54, L55, L56, KC_NO, KC_NO }, \ | |||
{ R00, R01, R02, R03, R04, R05, R06, R07, KC_NO }, \ | |||
{ R10, R11, R12, R13, R14, R15, R16, R17, R18 }, \ | |||
{ R20, R21, R22, R23, R24, R25, R26, R28, KC_NO }, \ | |||
{ R30, R31, R32, R33, R34, R35, R36, R27, R37 }, \ | |||
{ R40, R41, R42, R43, R44, R45, R46, R47, KC_NO }, \ | |||
{ R50, R51, R52, R53, R54, R55, R56, R57, KC_NO } \ | |||
} |
@ -0,0 +1,23 @@ | |||
# MCU name | |||
MCU = atmega32u4 | |||
# Bootloader selection | |||
BOOTLOADER = caterina | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
NKRO_ENABLE = yes # USB Nkey Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||
AUDIO_ENABLE = no # Audio output | |||
SPLIT_KEYBOARD = yes # Enable split keyboard |
@ -1,23 +1 @@ | |||
# MCU name | |||
MCU = atmega32u4 | |||
# Bootloader selection | |||
BOOTLOADER = caterina | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
NKRO_ENABLE = yes # USB Nkey Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||
AUDIO_ENABLE = no # Audio output | |||
SPLIT_KEYBOARD = yes # Enable split keyboard | |||
DEFAULT_FOLDER = pistachio/rev2 |