forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Keymap: new planck keymap (qmk#3809)
* Add files via upload * new planck keymap * new planck keymap * readme file updated * deleted files from qmkfirmware folder * re-added readme file to /qmk_firmware * Fix main readme (hopefully)
- Loading branch information
1 parent
0dcd60e
commit 7e5a0de
Showing
4 changed files
with
275 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,37 @@ | ||
#pragma | ||
|
||
|
||
|
||
|
||
/* | ||
* MIDI options | ||
*/ | ||
|
||
/* Prevent use of disabled MIDI features in the keymap */ | ||
//#define MIDI_ENABLE_STRICT 1 | ||
|
||
/* enable basic MIDI features: | ||
- MIDI notes can be sent when in Music mode is on | ||
*/ | ||
#define MOUSEKEY_INTERVAL 16 | ||
#define MOUSEKEY_DELAY 0 | ||
#define MOUSEKEY_TIME_TO_MAX 60 | ||
#define MOUSEKEY_MAX_SPEED 7 | ||
#define MOUSEKEY_WHEEL_DELAY 0 | ||
|
||
|
||
#define MIDI_BASIC | ||
|
||
#define BACKLIGHT_BREATHING | ||
|
||
|
||
/* enable advanced MIDI features: | ||
- MIDI notes can be added to the keymap | ||
- Octave shift and transpose | ||
- Virtual sustain, portamento, and modulation wheel | ||
- etc. | ||
*/ | ||
//#define MIDI_ADVANCED | ||
|
||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
//#define MIDI_TONE_KEYCODE_OCTAVES 2 |
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,150 @@ | ||
#include QMK_KEYBOARD_H | ||
#include "action_layer.h" | ||
|
||
|
||
extern keymap_config_t keymap_config; | ||
|
||
#define EXCEL_HOME LALT(KC_H) | ||
#define EXCEL_COL LCTL(KC_SPC) | ||
#define EXCEL_ROW LSFT(KC_SPC) | ||
#define DESK_LEFT LCTL(LGUI(KC_LEFT)) | ||
#define WIN_LEFT LSFT(KC_TAB) | ||
#define WIN_CLOSE LALT(KC_F4) | ||
#define WIN_RIGHT KC_TAB | ||
#define DESK_RIGHT LCTL(LGUI(KC_RGHT)) | ||
#define DOCS LGUI(KC_E) | ||
#define SNAP_RIGHT LGUI(KC_RGHT) | ||
#define SNAP_UP LGUI(KC_UP) | ||
#define SNAP_LEFT LGUI(KC_LEFT) | ||
#define SNAP_DOWN LGUI(KC_DOWN) | ||
#define COPY LCTL(KC_C) | ||
#define PASTE LCTL(KC_V) | ||
#define CUT LCTL(KC_X) | ||
#define UNDO LCTL(KC_Z) | ||
#define FIND LCTL(KC_F) | ||
|
||
|
||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
|
||
|
||
LAYOUT_planck_grid( | ||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_T(KC_ENT), | ||
MO(1), KC_LCTL, KC_LALT, KC_LGUI, MO(2), LT(5,KC_ENT), LT(4,KC_SPC), MO(3), KC_SLSH, KC_LEFT, KC_DOWN, CTL_T(KC_RGHT)), | ||
|
||
LAYOUT_planck_grid( | ||
KC_ESC, KC_NLCK, LCTL(KC_SPC), KC_UP, LSFT(KC_SPC), KC_DLR, KC_EQL, KC_P7, KC_P8, KC_P9, KC_PPLS, LCTL(KC_BSPC), | ||
KC_TAB, FIND, KC_LEFT, KC_DOWN, KC_RGHT, KC_PERC, KC_CIRC, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_BSLS, | ||
KC_LSFT, UNDO, CUT, COPY, PASTE, EXCEL_HOME, KC_PSCR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_LSFT, | ||
KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, TO(1), KC_ENT, KC_SPC, KC_PENT, KC_P0, KC_PDOT, KC_PAST, KC_LCTL), | ||
|
||
LAYOUT_planck_grid( | ||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, | ||
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LT, KC_GT, KC_LPRN, | ||
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_MPLY, KC_MNXT, KC_PGUP, SFT_T(KC_VOLU), | ||
TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_ENT, KC_SPC, MO(3), KC_PSCR, KC_MPRV, KC_PGDOWN, CTL_T(KC_VOLD)), | ||
|
||
LAYOUT_planck_grid( | ||
KC_TILD, DESK_LEFT, WIN_LEFT, KC_F4, WIN_RIGHT, DESK_RIGHT, DOCS, SNAP_LEFT, SNAP_UP, SNAP_RIGHT, SNAP_DOWN, KC_DEL, | ||
KC_CAPS, KC_QUOT, KC_LBRC, KC_LCBR, KC_LPRN, KC_BSLS, KC_SLSH, KC_RPRN, KC_RCBR, KC_RBRC, KC_DQUO, KC_QUOT, | ||
KC_PWR, KC_SLEP, KC_WAKE, KC_HOME, BL_BRTG, BL_STEP, KC_TRNS, KC_CALC, KC_LT, KC_GT, KC_COLON, KC_LSFT, | ||
TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, AU_TOG, MU_TOG, MU_MOD, LCTL(KC_RGHT)), | ||
|
||
LAYOUT_planck_grid( | ||
TO(0), KC_LSCR, WIN_LEFT, KC_MS_WH_UP, WIN_RIGHT, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_INS, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, | ||
RESET, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4), | ||
TO(0), KC_MENU, KC_TRNS, KC_TRNS, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RCTL), | ||
|
||
LAYOUT_planck_grid( | ||
KC_BSPC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, KC_BSPC, | ||
KC_TAB, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, KC_QUOT, | ||
KC_LSFT, KC_ENT, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, SFT_T(KC_ENT), | ||
TO(0), KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_SLSH, KC_LEFT, KC_DOWN, LCTL(KC_RGHT)), | ||
|
||
|
||
|
||
}; | ||
|
||
|
||
#ifdef AUDIO_ENABLE | ||
|
||
void matrix_init_user(void) | ||
{ | ||
set_voice(default_voice); | ||
startup_user(); | ||
println("Matrix Init"); | ||
} | ||
|
||
void led_set_user(uint8_t usb_led) | ||
{ | ||
static uint8_t old_usb_led = 0; | ||
|
||
_delay_ms(10); // gets rid of tick | ||
|
||
if (!is_playing_notes()) | ||
{ | ||
if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) | ||
{ | ||
// If CAPS LK LED is turning on... | ||
PLAY_SONG(tone_caps_on); | ||
} | ||
else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) | ||
{ | ||
// If CAPS LK LED is turning off... | ||
PLAY_SONG(tone_caps_off); | ||
} | ||
else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK))) | ||
{ | ||
// If NUM LK LED is turning on... | ||
PLAY_SONG(tone_numlk_on); | ||
} | ||
else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK))) | ||
{ | ||
// If NUM LED is turning off... | ||
PLAY_SONG(tone_numlk_off); | ||
} | ||
else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK))) | ||
{ | ||
// If SCROLL LK LED is turning on... | ||
PLAY_SONG(tone_scroll_on); | ||
} | ||
else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK))) | ||
{ | ||
// If SCROLL LED is turning off... | ||
PLAY_SONG(tone_scroll_off); | ||
} | ||
} | ||
|
||
old_usb_led = usb_led; | ||
} | ||
|
||
|
||
void startup_user() | ||
{ | ||
_delay_ms(30); // gets rid of tick | ||
PLAY_SONG(tone_my_startup); | ||
} | ||
|
||
void shutdown_user() | ||
{ | ||
PLAY_SONG(tone_my_goodbye); | ||
_delay_ms(3000); | ||
stop_all_notes(); | ||
} | ||
|
||
void audio_on_user(void) | ||
{ | ||
PLAY_SONG(tone_audio_on); | ||
} | ||
|
||
void music_on_user(void) | ||
{ | ||
PLAY_SONG(tone_music_on); | ||
} | ||
|
||
#endif /* AUDIO_ENABLE */ |
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,6 @@ | ||
#The vaire planck layout | ||
|
||
- easy access numpad | ||
- mouse and wheel controls | ||
- flipped keyboard for one hand typing | ||
- sound on all num, scroll, and caps lock |
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,82 @@ | ||
# MCU name | ||
#MCU = at90usb1287 | ||
MCU = atmega32u4 | ||
|
||
# Processor frequency. | ||
# This will define a symbol, F_CPU, in all source code files equal to the | ||
# processor frequency in Hz. You can then use this symbol in your source code to | ||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
# automatically to create a 32-bit value in your source code. | ||
# | ||
# This will be an integer division of F_USB below, as it is sourced by | ||
# F_USB after it has run through any CPU prescalers. Note that this value | ||
# does not *change* the processor frequency - it should merely be updated to | ||
# reflect the processor speed set externally so that the code can use accurate | ||
# software delays. | ||
F_CPU = 16000000 | ||
|
||
# | ||
# LUFA specific | ||
# | ||
# Target architecture (see library "Board Types" documentation). | ||
ARCH = AVR8 | ||
|
||
# Input clock frequency. | ||
# This will define a symbol, F_USB, in all source code files equal to the | ||
# input clock frequency (before any prescaling is performed) in Hz. This value may | ||
# differ from F_CPU if prescaling is used on the latter, and is required as the | ||
# raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
# at the end, this will be done automatically to create a 32-bit value in your | ||
# source code. | ||
# | ||
# If no clock division is performed on the input clock inside the AVR (via the | ||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
F_USB = $(F_CPU) | ||
|
||
# Bootloader | ||
# This definition is optional, and if your keyboard supports multiple bootloaders of | ||
# different sizes, comment this out, and the correct address will be loaded | ||
# automatically (+60). See bootloader.mk for all options. | ||
ifeq ($(strip $(KEYBOARD)), planck/rev3) | ||
BOOTLOADER = atmel-dfu | ||
endif | ||
ifeq ($(strip $(KEYBOARD)), planck/rev4) | ||
BOOTLOADER = atmel-dfu | ||
endif | ||
ifeq ($(strip $(KEYBOARD)), planck/rev5) | ||
BOOTLOADER = qmk-dfu | ||
endif | ||
ifeq ($(strip $(KEYBOARD)), planck/light) | ||
BOOTLOADER = qmk-dfu | ||
endif | ||
|
||
# Interrupt driven control endpoint task(+60) | ||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
|
||
# Build Options | ||
# change to "no" to disable the options, or define them in the Makefile in[] | ||
# the appropriate keymap folder that will get included automatically | ||
# | ||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
CONSOLE_ENABLE = no # Console for debug(+400) | ||
COMMAND_ENABLE = no # Commands for debug and configuration | ||
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 | ||
MIDI_ENABLE = no # MIDI controls | ||
AUDIO_ENABLE = yes # Audio output on port C6 | ||
UNICODE_ENABLE = no # Unicode | ||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
API_SYSEX_ENABLE = no | ||
|
||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
|
||
LAYOUTS = ortho_4x12 planck_mit planck_grid | ||
LAYOUTS_HAS_RGB = no | ||
|
||
DEFAULT_FOLDER = planck/rev5 | ||
|