summaryrefslogtreecommitdiffstats
path: root/keyboards
diff options
context:
space:
mode:
authorDamien <Dbroqua@users.noreply.github.com>2017-01-07 08:45:19 -0600
committerGitHub <noreply@github.com>2017-01-07 08:45:19 -0600
commit0fb82c15a5c9a69e17cff8dcd04c652d21381958 (patch)
treedd7a441ad7d086bb7cb4b093bd8d0cbd4d39d69d /keyboards
parentdb48b28eeb5ebe5252cc04495d5eb326fa62dc26 (diff)
parente7df488a92da56cf160ac64c8cc7302ab717e145 (diff)
Merge pull request #15 from jackhumbert/master
Merge from qmk
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/amjpad/Makefile3
-rw-r--r--keyboards/amjpad/amjpad.c30
-rw-r--r--keyboards/amjpad/amjpad.h46
-rw-r--r--keyboards/amjpad/config.h94
-rw-r--r--keyboards/amjpad/keymaps/default/keymap.c101
-rw-r--r--keyboards/amjpad/rules.mk66
-rw-r--r--keyboards/ergodox/ez/Makefile2
-rw-r--r--keyboards/ergodox/ez/config.h3
-rw-r--r--keyboards/ergodox/ez/rules.mk2
-rw-r--r--keyboards/ergodox/keymaps/algernon/NEWS.md14
-rw-r--r--keyboards/ergodox/keymaps/algernon/keymap.c8
-rwxr-xr-xkeyboards/ergodox/keymaps/algernon/tools/hid-commands5
-rw-r--r--keyboards/ergodox/keymaps/common-nighthawk/Makefile6
-rw-r--r--keyboards/ergodox/keymaps/common-nighthawk/keymap.c216
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/keymap.c273
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/readme.md10
-rw-r--r--keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.pngbin0 -> 257921 bytes
-rw-r--r--keyboards/ergodox/keymaps/default/readme.md5
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.pngbin0 -> 84725 bytes
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.pngbin0 -> 82660 bytes
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.pngbin0 -> 72923 bytes
-rw-r--r--keyboards/ergodox/keymaps/ishigoya-jp/keymap.c962
-rw-r--r--keyboards/ergodox/keymaps/ishigoya-jp/readme.md54
-rw-r--r--keyboards/ergodox/keymaps/pvinis/keymap.c24
-rw-r--r--keyboards/ergodox/readme.md11
-rw-r--r--keyboards/lets_split/imgs/left.stlbin0 -> 106984 bytes
-rw-r--r--keyboards/lets_split/imgs/lets split rev2 case.iges17931
-rw-r--r--keyboards/lets_split/imgs/letssplitv2.svg1978
-rw-r--r--keyboards/lets_split/imgs/plate.stlbin0 -> 102484 bytes
-rw-r--r--keyboards/lets_split/imgs/right.stlbin0 -> 135384 bytes
-rw-r--r--keyboards/planck/config.h2
-rw-r--r--keyboards/planck/keymaps/default/Makefile22
-rw-r--r--keyboards/planck/keymaps/jeremy-dev/keymap.c180
-rw-r--r--keyboards/planck/keymaps/jeremy-dev/readme.md85
-rw-r--r--keyboards/planck/out.txt66
-rw-r--r--keyboards/planck/rules.mk12
-rw-r--r--keyboards/preonic/config.h2
-rw-r--r--keyboards/preonic/rules.mk4
-rw-r--r--keyboards/subatomic/keymaps/default/keymap.c280
-rw-r--r--keyboards/xd60/Makefile3
-rw-r--r--keyboards/xd60/arrow-cluster.JPGbin0 -> 1875718 bytes
-rw-r--r--keyboards/xd60/config.h68
-rw-r--r--keyboards/xd60/keymaps/default/keymap.c64
-rw-r--r--keyboards/xd60/keymaps/default/readme.md9
-rw-r--r--keyboards/xd60/keymaps/stanleylai/keymap.c60
-rw-r--r--keyboards/xd60/readme.md13
-rw-r--r--keyboards/xd60/rules.mk65
-rw-r--r--keyboards/xd60/top-view.JPGbin0 -> 2092542 bytes
-rw-r--r--keyboards/xd60/xd60.c25
-rw-r--r--keyboards/xd60/xd60.h43
50 files changed, 20864 insertions, 1983 deletions
diff --git a/keyboards/amjpad/Makefile b/keyboards/amjpad/Makefile
new file mode 100644
index 0000000000..4e2a6f00fd
--- /dev/null
+++ b/keyboards/amjpad/Makefile
@@ -0,0 +1,3 @@
+ifndef MAKEFILE_INCLUDED
+ include ../../Makefile
+endif \ No newline at end of file
diff --git a/keyboards/amjpad/amjpad.c b/keyboards/amjpad/amjpad.c
new file mode 100644
index 0000000000..ac5991bd08
--- /dev/null
+++ b/keyboards/amjpad/amjpad.c
@@ -0,0 +1,30 @@
+#include "amjpad.h"
+#include "led.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+ matrix_init_user();
+ led_init_ports();
+};
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+ matrix_scan_user();
+};
+
+void led_init_ports(void) {
+ // * Set our LED pins as output
+ DDRD |= (1<<6);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) {
+ // Turn numlock on
+ PORTD &= ~(1<<6);
+ } else {
+ // Turn numlock off
+ PORTD |= (1<<6);
+ }
+}
diff --git a/keyboards/amjpad/amjpad.h b/keyboards/amjpad/amjpad.h
new file mode 100644
index 0000000000..b9b4d3686a
--- /dev/null
+++ b/keyboards/amjpad/amjpad.h
@@ -0,0 +1,46 @@
+#ifndef AMJPAD_H
+#define ADMJPAD_H
+
+#include "quantum.h"
+
+// readability
+#define XXX KC_NO
+
+/* AMJPAD matrix layout
+ * ,-------------------.
+ * | 00 | 01 | 02 | 03 |
+ * |----|----|----|----|
+ * | 10 | 11 | 12 | 13 |
+ * |----|----|----|----|
+ * | 20 | 21 | 22 | |
+ * |----|----|----| 23 |
+ * | 30 | 31 | 32 | |
+ * |----|----|----|----|
+ * | 40 | 41 | 42 | |
+ * |----|----|----| 43 |
+ * | 50 | 52 | |
+ * `-------------------'
+ */
+// The first section contains all of the arguments
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, \
+ k40, k41, k42, k43, \
+ k50, k52 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, XXX}, \
+ {k40, k41, k42, k43}, \
+ {k50, XXX, k52, XXX} \
+}
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif
diff --git a/keyboards/amjpad/config.h b/keyboards/amjpad/config.h
new file mode 100644
index 0000000000..1a26d2ab6c
--- /dev/null
+++ b/keyboards/amjpad/config.h
@@ -0,0 +1,94 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.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/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0003
+#define MANUFACTURER AMJ
+#define PRODUCT PAD
+#define DESCRIPTION QMK keyboard firmware for AMJ PAD
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 4
+
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5, D0 }
+#define MATRIX_COL_PINS { F1, F0, E6, C7 }
+#define UNUSED_PINS
+
+#define BACKLIGHT_PIN B6
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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)) \
+)
+
+/* Backlight configuration
+ */
+#define BACKLIGHT_LEVELS 4
+
+/* Underlight configuration
+ */
+
+#define RGB_DI_PIN E2
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 8 // Number of LEDs
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+#define RGBLIGHT_VAL_STEP 17
+
+/*
+ * 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
+
+#endif
diff --git a/keyboards/amjpad/keymaps/default/keymap.c b/keyboards/amjpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..362afd1079
--- /dev/null
+++ b/keyboards/amjpad/keymaps/default/keymap.c
@@ -0,0 +1,101 @@
+#include "amjpad.h"
+
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+
+#define _______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: (Base Layer) Default Layer
+ * ,-------------------.
+ * |Esc |TAB |BS | = |
+ * |----|----|----|----|
+ * | NL | / | * | - |
+ * |----|----|----|----|
+ * | 7 | 8 | 9 | |
+ * |----|----|----| + |
+ * | 4 | 5 | 6 | |
+ * |----|----|----|----|
+ * | 1 | 2 | 3 | |
+ * |----|----|----| En |
+ * | 0 |./FN| |
+ * `-------------------'
+ */
+
+[_BL] = KEYMAP(
+ KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \
+ KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \
+ KC_P7, KC_P8, KC_P9, KC_PPLS, \
+ KC_P4, KC_P5, KC_P6, \
+ KC_P1, KC_P2, KC_P3, KC_PENT, \
+ KC_P0, LT(_FL,KC_PDOT)),
+
+ /* Keymap _FL: Function Layer
+ * ,-------------------.
+ * |Esc |TAB |BS | = |
+ * |----|----|----|----|
+ * | NL | / | * | - |
+ * |----|----|----|----|
+ * | 7 | 8 | 9 | |
+ * |----|----|----|RST |
+ * | 4 | 5 | 6 | |
+ * |----|----|----|----|
+ * | 1 | 2 | 3 | |
+ * |----|----|----| En |
+ * | 0 |./FN| |
+ * `-------------------'
+ */
+[_FL] = KEYMAP(
+
+ KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
+ KC_P7, KC_P8, KC_P9, RESET, \
+ KC_P4, KC_P5, KC_P6, \
+ KC_P1, KC_P2, KC_P3, KC_PENT, \
+ KC_P0, LT(_FL,KC_PDOT)),
+};
+
+enum function_id {
+ SHIFT_ESC,
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(SHIFT_ESC),
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ static uint8_t shift_esc_shift_mask;
+ switch (id) {
+ case SHIFT_ESC:
+ shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+ if (record->event.pressed) {
+ if (shift_esc_shift_mask) {
+ add_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ add_key(KC_ESC);
+ send_keyboard_report();
+ }
+ } else {
+ if (shift_esc_shift_mask) {
+ del_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ del_key(KC_ESC);
+ send_keyboard_report();
+ }
+ }
+ break;
+ }
+}
diff --git a/keyboards/amjpad/rules.mk b/keyboards/amjpad/rules.mk
new file mode 100644
index 0000000000..d8ec423655
--- /dev/null
+++ b/keyboards/amjpad/rules.mk
@@ -0,0 +1,66 @@
+
+# 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)
+
+# Interrupt driven control endpoint task(+60)
+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
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= no # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality (+4870)
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150)
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/ergodox/ez/Makefile b/keyboards/ergodox/ez/Makefile
index 9b6121e2c2..1098332b8a 100644
--- a/keyboards/ergodox/ez/Makefile
+++ b/keyboards/ergodox/ez/Makefile
@@ -1,7 +1,7 @@
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
COMMAND_ENABLE = no # Commands for debug and configuration
RGBLIGHT_ENABLE ?= yes
-MIDI_ENABLE ?= yes
+MIDI_ENABLE ?= no
ifndef MAKEFILE_INCLUDED
include ../../../Makefile
diff --git a/keyboards/ergodox/ez/config.h b/keyboards/ergodox/ez/config.h
index a3dc5bf152..6a8c66d7d4 100644
--- a/keyboards/ergodox/ez/config.h
+++ b/keyboards/ergodox/ez/config.h
@@ -52,11 +52,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MIDI
#define RGBW_BB_TWI
+#define RGBW 1
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-#define USB_MAX_POWER_CONSUMPTION 50
+#define USB_MAX_POWER_CONSUMPTION 500
/*
* Feature disable options
diff --git a/keyboards/ergodox/ez/rules.mk b/keyboards/ergodox/ez/rules.mk
index 893cfa7a84..64b2db8158 100644
--- a/keyboards/ergodox/ez/rules.mk
+++ b/keyboards/ergodox/ez/rules.mk
@@ -72,7 +72,7 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
#
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE ?= yes
+API_SYSEX_ENABLE ?= no
RGBLIGHT_ENABLE ?= yes
ifndef QUANTUM_DIR
diff --git a/keyboards/ergodox/keymaps/algernon/NEWS.md b/keyboards/ergodox/keymaps/algernon/NEWS.md
index e11998998c..ee9d606708 100644
--- a/keyboards/ergodox/keymaps/algernon/NEWS.md
+++ b/keyboards/ergodox/keymaps/algernon/NEWS.md
@@ -1,5 +1,19 @@
<!-- -*- mode: markdown; fill-column: 8192 -*- -->
+## v1.10
+
+*2016-12-28*
+
+### Miscellaneous
+
+* `µ` can now be entered with UCIS.
+* `™` can now be entered with UCIS.
+
+### Tools
+
+* `tools/hid-commands` can now find Banshee, and prefers it over Kodi.
+* `tools/hid-commands` can now find Chrome too, not juts Chromium.
+
## v1.9
*2016-10-16*
diff --git a/keyboards/ergodox/keymaps/algernon/keymap.c b/keyboards/ergodox/keymaps/algernon/keymap.c
index bad2403378..b615f3f5fd 100644
--- a/keyboards/ergodox/keymaps/algernon/keymap.c
+++ b/keyboards/ergodox/keymaps/algernon/keymap.c
@@ -96,8 +96,6 @@ enum {
uint16_t gui_timer = 0;
-uint16_t kf_timers[12];
-
#if KEYLOGGER_ENABLE
# ifdef AUTOLOG_ENABLE
bool log_enable = true;
@@ -786,7 +784,7 @@ static void ang_tap_dance_tmux_pane_select (qk_tap_dance_state_t *state, void *u
if (state->count >= 2) {
kc = KC_Z;
}
-
+
register_code(KC_LALT);
register_code(KC_SPC);
unregister_code(KC_SPC);
@@ -1040,7 +1038,9 @@ const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE
UCIS_SYM("heart", 0x2764),
UCIS_SYM("bolt", 0x26a1),
UCIS_SYM("pi", 0x03c0),
- UCIS_SYM("mouse", 0x1f401)
+ UCIS_SYM("mouse", 0x1f401),
+ UCIS_SYM("micro", 0x00b5),
+ UCIS_SYM("tm", 0x2122)
);
bool process_record_user (uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/ergodox/keymaps/algernon/tools/hid-commands b/keyboards/ergodox/keymaps/algernon/tools/hid-commands
index a29d38f414..54ca7556ab 100755
--- a/keyboards/ergodox/keymaps/algernon/tools/hid-commands
+++ b/keyboards/ergodox/keymaps/algernon/tools/hid-commands
@@ -16,7 +16,8 @@ _cmd_appsel () {
}
cmd_appsel_music () {
- wmctrl -x -a rhythmbox || wmctrl -x -a spotify || wmctrl -x -a kodi || true
+ wmctrl -x -a rhythmbox || wmctrl -x -a spotify || \
+ wmctrl -x -a banshee || wmctrl -x -a kodi || true
xdotool key Escape
}
@@ -33,7 +34,7 @@ cmd_appsel_term () {
}
cmd_appsel_chrome () {
- _cmd_appsel chromium
+ _cmd_appsel chrom
}
cmd_appsel_start () {
diff --git a/keyboards/ergodox/keymaps/common-nighthawk/Makefile b/keyboards/ergodox/keymaps/common-nighthawk/Makefile
new file mode 100644
index 0000000000..fafa40c43d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/common-nighthawk/Makefile
@@ -0,0 +1,6 @@
+SUBPROJECT_DEFAULT = ez
+TAP_DANCE_ENABLE = yes
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/common-nighthawk/keymap.c b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c
new file mode 100644
index 0000000000..debf384f3d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/common-nighthawk/keymap.c
@@ -0,0 +1,216 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+//Tap Dance Declarations
+enum {
+ TD_U_LBRC = 0,
+ TD_I_RBRC,
+};
+
+//Tap Dance Definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_U_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_U, KC_LBRC),
+ [TD_I_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_I, KC_RBRC)
+};
+
+//Macro Declarations
+static uint16_t sunds_timer;
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | _ | x | x | _ | Esc | Hypr | Home | | End | Hypr | [ | ] | `~ | `~ | Bks |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * |Ctrl/Tab| Q | W | E | R | T | Up | | PgUp | Y | U | I | O | P | Ctrl |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Cmd/"' | A | S | D | F | G |------| |------| H | J | K | L | ;: |Cmd/Entr|
+ * |--------+------+------+------+------+------| Down | | PgDn |------+------+------+------+------+--------|
+ * | Shft | Z | X | C | V | B | | | | N | M | ,< | .> | /? | Shft |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | Alt | x | x | x | Left | |Right | Bks | x | x | Alt |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Teensy| VolUp| | Play | Del |
+ * ,------|------|------| |------+--------+------.
+ * | | | VolDn| | Next | | |
+ * |Sp/~L1| L2 |------| |------| L2 |'"/~L1|
+ * | | | Mute | | Prev | | |
+ * `--------------------' `----------------------'
+ */
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_UNDS, KC_1, KC_1, KC_UNDS, KC_ESC, ALL_T(KC_NO), KC_HOME,
+ CTL_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP,
+ M(1), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN,
+ KC_LALT, KC_1, KC_1, KC_1, KC_LEFT,
+ RESET, KC_VOLU,
+ KC_VOLD,
+ LT(SYMB, KC_SPC), TG(MDIA), KC_MUTE,
+ // right hand
+ KC_END, ALL_T(KC_NO), KC_LBRC, KC_RBRC, KC_GRV, KC_GRV, KC_BSPC,
+ KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCTRL,
+ KC_H, KC_J, KC_K, KC_L, KC_SCOLON, GUI_T(KC_ENT),
+ KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_RGHT, KC_BSPC, KC_1, KC_1, KC_RALT,
+ KC_MPLY, KC_DEL,
+ KC_MNXT,
+ KC_MPRV, TG(MDIA), LT(SYMB, KC_QUOT)
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | ^ | [ | ( | { | | | | = | 7 | 8 | 9 | 0 | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | & | $ | ] | ) | } |------| |------| + | 4 | 5 | 6 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | \ | @ | # | % | | | | | | - | 1 | 2 | 3 | / | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | 0 | 0 | . | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_EXLM, KC_CIRC, KC_LBRC, KC_LPRN, KC_LCBR, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_DLR, KC_RBRC, KC_RPRN, KC_RCBR,
+ KC_TRNS, KC_BSLS, KC_AT, KC_HASH, KC_PERC, KC_PIPE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_TRNS, KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR, KC_TRNS,
+ KC_TRNS, KC_MINS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
+ KC_0, KC_0, KC_DOT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * |Version | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | WhDn | WhUp | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | R-Ck | L-Ck | |------| |------| MsLt | MsDn | MsUp | MsRt | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |