]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Keymap: new planck keymap (#3809)
authorPranav Singh <iamkaratedo@gmail.com>
Sat, 1 Sep 2018 17:02:10 +0000 (13:02 -0400)
committerDrashna Jaelre <drashna@live.com>
Sat, 1 Sep 2018 17:02:10 +0000 (10:02 -0700)
* 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)

keyboards/planck/keymaps/vaire/config.h [new file with mode: 0644]
keyboards/planck/keymaps/vaire/keymap.c [new file with mode: 0644]
keyboards/planck/keymaps/vaire/readme.md [new file with mode: 0644]
keyboards/planck/keymaps/vaire/rules.mk [new file with mode: 0644]

diff --git a/keyboards/planck/keymaps/vaire/config.h b/keyboards/planck/keymaps/vaire/config.h
new file mode 100644 (file)
index 0000000..96a13cc
--- /dev/null
@@ -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
diff --git a/keyboards/planck/keymaps/vaire/keymap.c b/keyboards/planck/keymaps/vaire/keymap.c
new file mode 100644 (file)
index 0000000..71cbcd8
--- /dev/null
@@ -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 */
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/vaire/readme.md b/keyboards/planck/keymaps/vaire/readme.md
new file mode 100644 (file)
index 0000000..6ce39de
--- /dev/null
@@ -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
\ No newline at end of file
diff --git a/keyboards/planck/keymaps/vaire/rules.mk b/keyboards/planck/keymaps/vaire/rules.mk
new file mode 100644 (file)
index 0000000..22e4bd9
--- /dev/null
@@ -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 
+