adds planck light keyboard
This commit is contained in:
parent
7ff96877d2
commit
b669d115c2
|
@ -1,68 +1,30 @@
|
||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
it under the terms of the GNU General Public License as published by
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
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,
|
/* enable basic MIDI features:
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
- MIDI notes can be sent when in Music mode is on
|
||||||
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/>.
|
|
||||||
*/
|
*/
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
/* enable advanced MIDI features:
|
||||||
#define CONFIG_H
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
#define TAPPING_TERM 200
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define MANUFACTURER Ortholinear Keyboards
|
|
||||||
#define PRODUCT The Planck Keyboard
|
|
||||||
#define DESCRIPTION A compact ortholinear keyboard
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define AUDIO_VOICES
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B7
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
#define MOUSEKEY_INTERVAL 20
|
#define MOUSEKEY_INTERVAL 20
|
||||||
#define MOUSEKEY_DELAY 0
|
#define MOUSEKEY_DELAY 0
|
||||||
|
@ -70,29 +32,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define MOUSEKEY_MAX_SPEED 7
|
#define MOUSEKEY_MAX_SPEED 7
|
||||||
#define MOUSEKEY_WHEEL_DELAY 0
|
#define MOUSEKEY_WHEEL_DELAY 0
|
||||||
|
|
||||||
/*
|
|
||||||
* Feature disable options
|
|
||||||
* These options are also useful to firmware size reduction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* disable debug print */
|
|
||||||
//#define NO_DEBUG
|
|
||||||
|
|
||||||
/* disable print */
|
|
||||||
//#define NO_PRINT
|
|
||||||
|
|
||||||
/* disable action features */
|
|
||||||
//#define NO_ACTION_LAYER
|
|
||||||
//#define NO_ACTION_TAPPING
|
|
||||||
//#define NO_ACTION_ONESHOT
|
|
||||||
//#define NO_ACTION_MACRO
|
|
||||||
//#define NO_ACTION_FUNCTION
|
|
||||||
|
|
||||||
#ifdef SUBPROJECT_rev3
|
|
||||||
#include "rev3/config.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SUBPROJECT_rev4
|
|
||||||
#include "rev4/config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,91 +1,29 @@
|
||||||
/*
|
#ifndef CONFIG_USER_H
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
#include "../../config.h"
|
||||||
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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* Tap-dance interval definition */
|
|
||||||
#define TAPPING_TERM 200
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define MANUFACTURER Ortholinear Keyboards
|
|
||||||
#define PRODUCT The Planck Keyboard
|
|
||||||
#define DESCRIPTION A compact ortholinear keyboard
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B7
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Feature disable options
|
* MIDI options
|
||||||
* These options are also useful to firmware size reduction.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* disable debug print */
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
//#define NO_DEBUG
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
/* disable print */
|
/* enable basic MIDI features:
|
||||||
//#define NO_PRINT
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
/* disable action features */
|
/* enable advanced MIDI features:
|
||||||
//#define NO_ACTION_LAYER
|
- MIDI notes can be added to the keymap
|
||||||
//#define NO_ACTION_TAPPING
|
- Octave shift and transpose
|
||||||
//#define NO_ACTION_ONESHOT
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
//#define NO_ACTION_MACRO
|
- etc.
|
||||||
//#define NO_ACTION_FUNCTION
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
#ifdef SUBPROJECT_rev3
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
#include "rev3/config.h"
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
#endif
|
|
||||||
#ifdef SUBPROJECT_rev4
|
|
||||||
#include "rev4/config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -163,9 +163,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* `-----------------------------------------------------------------------------------'
|
* `-----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = {
|
[_ADJUST] = {
|
||||||
{_______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL },
|
{_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL },
|
||||||
{_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
|
{_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
|
||||||
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
|
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______},
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,4 +261,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef CONFIG_USER_H
|
#ifndef CONFIG_USER_H
|
||||||
#define CONFIG_USER_H
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
#include "../../config.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#define STARTUP_SONG SONG(SONIC_RING)
|
#define STARTUP_SONG SONG(SONIC_RING)
|
||||||
|
|
|
@ -29,31 +29,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
/*
|
||||||
#define DIODE_DIRECTION COL2ROW
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
//#define MATRIX_HAS_GHOST
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
/* number of backlight levels */
|
/* enable basic MIDI features:
|
||||||
#define BACKLIGHT_LEVELS 3
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
/* enable advanced MIDI features:
|
||||||
#define DEBOUNCING_DELAY 5
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
- etc.
|
||||||
/* Locking resynchronize hack */
|
*/
|
||||||
#define LOCKING_RESYNC_ENABLE
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B7
|
|
||||||
#define BACKLIGHT_BREATHING
|
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
/*
|
/*
|
||||||
* Feature disable options
|
* Feature disable options
|
||||||
* These options are also useful to firmware size reduction.
|
* These options are also useful to firmware size reduction.
|
||||||
|
@ -72,6 +69,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* Only print user print statements */
|
/* Only print user print statements */
|
||||||
#define USER_PRINT
|
#define USER_PRINT
|
||||||
|
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
/* disable action features */
|
/* disable action features */
|
||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
|
@ -79,5 +77,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
//#define NO_ACTION_ONESHOT
|
//#define NO_ACTION_ONESHOT
|
||||||
//#define NO_ACTION_MACRO
|
//#define NO_ACTION_MACRO
|
||||||
//#define NO_ACTION_FUNCTION
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,82 +1,30 @@
|
||||||
/*
|
#ifndef CONFIG_USER_H
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
#include "../../config.h"
|
||||||
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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define MANUFACTURER Ortholinear Keyboards
|
|
||||||
#define PRODUCT The Planck Keyboard
|
|
||||||
#define DESCRIPTION A compact ortholinear keyboard
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B7
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Feature disable options
|
* MIDI options
|
||||||
* These options are also useful to firmware size reduction.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* disable debug print */
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
//#define NO_DEBUG
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
/* disable print */
|
/* enable basic MIDI features:
|
||||||
//#define NO_PRINT
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
/* disable action features */
|
/* enable advanced MIDI features:
|
||||||
//#define NO_ACTION_LAYER
|
- MIDI notes can be added to the keymap
|
||||||
//#define NO_ACTION_TAPPING
|
- Octave shift and transpose
|
||||||
//#define NO_ACTION_ONESHOT
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
//#define NO_ACTION_MACRO
|
- etc.
|
||||||
//#define NO_ACTION_FUNCTION
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
|
|
||||||
/* prevent the modifiers from being stuck, sacrificing some memory */
|
/* prevent the modifiers from being stuck, sacrificing some memory */
|
||||||
#define PREVENT_STUCK_MODIFIERS
|
#define PREVENT_STUCK_MODIFIERS
|
||||||
|
@ -86,11 +34,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#define DYNAMIC_MACRO_SIZE 256
|
#define DYNAMIC_MACRO_SIZE 256
|
||||||
|
|
||||||
#ifdef SUBPROJECT_rev3
|
|
||||||
#include "rev3/config.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SUBPROJECT_rev4
|
|
||||||
#include "rev4/config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,55 +1,30 @@
|
||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
it under the terms of the GNU General Public License as published by
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
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,
|
/* enable basic MIDI features:
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
- MIDI notes can be sent when in Music mode is on
|
||||||
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/>.
|
|
||||||
*/
|
*/
|
||||||
|
#define MIDI_BASIC
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
/* enable advanced MIDI features:
|
||||||
#define CONFIG_H
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
#include "config_common.h"
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define MANUFACTURER Ortholinear Keyboards
|
|
||||||
#define PRODUCT The Planck Keyboard
|
|
||||||
#define DESCRIPTION A compact ortholinear keyboard
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B7
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
//#define BACKLIGHT_BREATHING // LED breathing
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_LEVELS 5
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 5
|
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
//#define LOCKING_SUPPORT_ENABLE
|
//#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -84,11 +59,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
//#define DYNAMIC_MACRO_ENABLE // Enable if you need to use the macro functionality
|
//#define DYNAMIC_MACRO_ENABLE // Enable if you need to use the macro functionality
|
||||||
//#define SPACE_CADET // Parenthesis on L/R shift
|
//#define SPACE_CADET // Parenthesis on L/R shift
|
||||||
|
|
||||||
#ifdef SUBPROJECT_rev3
|
|
||||||
#include "rev3/config.h"
|
|
||||||
#endif
|
|
||||||
#ifdef SUBPROJECT_rev4
|
|
||||||
#include "rev4/config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
|
#define LIGHT_CONFIG_H
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
#undef PRODUCT
|
||||||
|
#define PRODUCT Planck Light
|
||||||
|
#undef PRODUCT_ID
|
||||||
|
#define PRODUCT_ID 0x6065
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
|
||||||
|
#undef MATRIX_ROW_PINS
|
||||||
|
#undef MATRIX_COL_PINS
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { B0, E7, F0, F1 }
|
||||||
|
#define MATRIX_COL_PINS { E6, E3, E4, D3, D4, D5, C0, A7, A6, E1, E0, D7 }
|
||||||
|
|
||||||
|
#define C6_AUDIO
|
||||||
|
#define B5_AUDIO
|
||||||
|
|
||||||
|
#undef BACKLIGHT_PIN
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN A5
|
||||||
|
|
||||||
|
#define NO_USB_STARTUP_CHECK
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "Planck Light",
|
||||||
|
"keyboard_folder": "planck/light",
|
||||||
|
"identifier": "FEED:6065:0001",
|
||||||
|
"processor": "at90usb1286",
|
||||||
|
"bootloader": "qmk-dfu",
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* Copyright 2017 Jason Williams
|
||||||
|
* Copyright 2017 Jack Humbert
|
||||||
|
*
|
||||||
|
* 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 "light.h"
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
|
||||||
|
// Turn status LED on
|
||||||
|
DDRD |= (1<<6);
|
||||||
|
PORTD |= (1<<6);
|
||||||
|
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_kb(uint16_t keycode, keyrecord_t *record)
|
||||||
|
{
|
||||||
|
return process_record_user(keycode, record);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t backlight_task_counter = 0;
|
||||||
|
|
||||||
|
void matrix_scan_kb(void)
|
||||||
|
{
|
||||||
|
matrix_scan_user();
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
/* Copyright 2017 Jason Williams
|
||||||
|
* Copyright 2017 Jack Humbert
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIGHT_H
|
||||||
|
#define LIGHT_H
|
||||||
|
|
||||||
|
#include "planck.h"
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,9 @@
|
||||||
|
MIDI_ENABLE = yes
|
||||||
|
AUDIO_ENABLE = yes # Audio output on port C6
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
|
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
|
||||||
|
OPT_DEFS += -DBOOTLOADER_SIZE=8192
|
||||||
|
|
||||||
|
MCU = at90usb1286
|
|
@ -10,6 +10,7 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
// Turn status LED on
|
// Turn status LED on
|
||||||
DDRE |= (1<<6);
|
DDRE |= (1<<6);
|
||||||
|
|
|
@ -1 +1,10 @@
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
|
||||||
|
# Boot Section Size in *bytes*
|
||||||
|
# Teensy halfKay 512
|
||||||
|
# Teensy++ halfKay 1024
|
||||||
|
# Atmel DFU loader 4096
|
||||||
|
# LUFA bootloader 4096
|
||||||
|
# USBaspLoader 2048
|
||||||
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||||
|
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
|
|
@ -1 +1,9 @@
|
||||||
AUDIO_ENABLE = yes # Audio output on port C6
|
# Boot Section Size in *bytes*
|
||||||
|
# Teensy halfKay 512
|
||||||
|
# Teensy++ halfKay 1024
|
||||||
|
# Atmel DFU loader 4096
|
||||||
|
# LUFA bootloader 4096
|
||||||
|
# USBaspLoader 2048
|
||||||
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||||
|
|
||||||
|
AUDIO_ENABLE = yes # Audio output on port C6
|
||||||
|
|
|
@ -1 +1,9 @@
|
||||||
|
# Boot Section Size in *bytes*
|
||||||
|
# Teensy halfKay 512
|
||||||
|
# Teensy++ halfKay 1024
|
||||||
|
# Atmel DFU loader 4096
|
||||||
|
# LUFA bootloader 4096
|
||||||
|
# USBaspLoader 2048
|
||||||
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||||
|
|
||||||
AUDIO_ENABLE = yes # Audio output on port C6
|
AUDIO_ENABLE = yes # Audio output on port C6
|
|
@ -37,15 +37,6 @@ F_USB = $(F_CPU)
|
||||||
# Interrupt driven control endpoint task(+60)
|
# Interrupt driven control endpoint task(+60)
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||||
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
# Teensy halfKay 512
|
|
||||||
# Teensy++ halfKay 1024
|
|
||||||
# Atmel DFU loader 4096
|
|
||||||
# LUFA bootloader 4096
|
|
||||||
# USBaspLoader 2048
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change to "no" to disable the options, or define them in the Makefile in
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
# the appropriate keymap folder that will get included automatically
|
# the appropriate keymap folder that will get included automatically
|
||||||
|
|
|
@ -184,6 +184,9 @@ void audio_init()
|
||||||
#ifdef B5_AUDIO
|
#ifdef B5_AUDIO
|
||||||
TCCR1A = (0 << COM1A1) | (0 << COM1A0) | (1 << WGM11) | (0 << WGM10);
|
TCCR1A = (0 << COM1A1) | (0 << COM1A0) | (1 << WGM11) | (0 << WGM10);
|
||||||
TCCR1B = (1 << WGM13) | (1 << WGM12) | (0 << CS12) | (1 << CS11) | (0 << CS10);
|
TCCR1B = (1 << WGM13) | (1 << WGM12) | (0 << CS12) | (1 << CS11) | (0 << CS10);
|
||||||
|
|
||||||
|
TIMER_1_PERIOD = (uint16_t)(((float)F_CPU) / (440 * CPU_PRESCALER));
|
||||||
|
TIMER_1_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (440 * CPU_PRESCALER)) * note_timbre);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
audio_initialized = true;
|
audio_initialized = true;
|
||||||
|
@ -192,7 +195,7 @@ void audio_init()
|
||||||
if (audio_config.enable) {
|
if (audio_config.enable) {
|
||||||
PLAY_SONG(startup_song);
|
PLAY_SONG(startup_song);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void stop_all_notes()
|
void stop_all_notes()
|
||||||
|
|
|
@ -1105,8 +1105,6 @@ ISR(TIMER1_COMPA_vect)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // breathing
|
#endif // breathing
|
||||||
|
|
||||||
#else // backlight
|
#else // backlight
|
||||||
|
@ -1168,6 +1166,7 @@ void send_nibble(uint8_t number) {
|
||||||
__attribute__((weak))
|
__attribute__((weak))
|
||||||
uint16_t hex_to_keycode(uint8_t hex)
|
uint16_t hex_to_keycode(uint8_t hex)
|
||||||
{
|
{
|
||||||
|
hex = hex & 0xF;
|
||||||
if (hex == 0x0) {
|
if (hex == 0x0) {
|
||||||
return KC_0;
|
return KC_0;
|
||||||
} else if (hex < 0xA) {
|
} else if (hex < 0xA) {
|
||||||
|
|
|
@ -1,36 +1,47 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# test force push
|
||||||
|
#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d"
|
||||||
|
|
||||||
TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
|
TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
|
||||||
TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
|
TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
|
||||||
|
MAKE_ALL="make all:default AUTOGEN=\"true\""
|
||||||
|
|
||||||
if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
|
if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
|
||||||
exit_code=0
|
exit_code=0
|
||||||
NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l)
|
git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
|
||||||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
if [ $? -eq 128 ]; then
|
||||||
if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
|
echo "Making default keymaps for all keyboards"
|
||||||
echo "Making all keymaps for all keyboards"
|
eval $MAKE_ALL
|
||||||
make all:default AUTOGEN="true"
|
|
||||||
: $((exit_code = $exit_code + $?))
|
: $((exit_code = $exit_code + $?))
|
||||||
else
|
else
|
||||||
MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
|
NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l)
|
||||||
for KB in $MKB ; do
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||||
if [[ $KB == *keymaps* ]]; then
|
if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
|
||||||
continue
|
echo "Making default keymaps for all keyboards"
|
||||||
fi
|
eval $MAKE_ALL
|
||||||
KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
|
: $((exit_code = $exit_code + $?))
|
||||||
if [[ $KEYMAP_ONLY -gt 0 ]]; then
|
else
|
||||||
echo "Making all keymaps for $KB"
|
MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
|
||||||
make ${KB}:all AUTOGEN=true
|
for KB in $MKB ; do
|
||||||
: $((exit_code = $exit_code + $?))
|
if [[ $KB == *keymaps* ]]; then
|
||||||
else
|
continue
|
||||||
MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
|
fi
|
||||||
for KM in $MKM ; do
|
KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
|
||||||
echo "Making $KM for $KB"
|
if [[ $KEYMAP_ONLY -gt 0 ]]; then
|
||||||
make ${KB}:${KM} AUTOGEN=true
|
echo "Making all keymaps for $KB"
|
||||||
|
make ${KB}:all AUTOGEN=true
|
||||||
: $((exit_code = $exit_code + $?))
|
: $((exit_code = $exit_code + $?))
|
||||||
done
|
else
|
||||||
fi
|
MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
|
||||||
done
|
for KM in $MKM ; do
|
||||||
|
echo "Making $KM for $KB"
|
||||||
|
make ${KB}:${KM} AUTOGEN=true
|
||||||
|
: $((exit_code = $exit_code + $?))
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit $exit_code
|
exit $exit_code
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue