]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
archetype keymap for jj50 (#5397)
authorIason Dimitrakopoulos <idimitrakopoulos@gmail.com>
Wed, 13 Mar 2019 15:06:09 +0000 (17:06 +0200)
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>
Wed, 13 Mar 2019 15:06:09 +0000 (08:06 -0700)
* archetype keymap for jj50 keyboard

* archetype keymap for jj50 keyboard

* PR fixes proposed by mechmerlin

keyboards/jj50/keymaps/archetype/README.md [new file with mode: 0644]
keyboards/jj50/keymaps/archetype/config.h [new file with mode: 0644]
keyboards/jj50/keymaps/archetype/keymap.c [new file with mode: 0644]
keyboards/jj50/keymaps/archetype/rules.mk [new file with mode: 0644]

diff --git a/keyboards/jj50/keymaps/archetype/README.md b/keyboards/jj50/keymaps/archetype/README.md
new file mode 100644 (file)
index 0000000..a2ae4e9
--- /dev/null
@@ -0,0 +1,22 @@
+# archetype keymap for jj50 keyboards
+A keymap that can be used with the jj50 ortholinear keyboard.
+
+## Features
+
+- `QWERTY` layout (Default)
+- `COLEMAK` layout
+- `FN` layout (various keys that are rarely needed)
+- `FX` layout (Control lighting and audio)
+- Use `Left Ctrl` and `Left Alt` to output `()`, `[]` and `{}` by tapping once, twice or thrice respectively. Hold them down for the regular keycode (LCtrl or LAlt)
+- `Right Shift` when held or Enter when tapped
+- Auto-Shift enabled (long press on alphas and numeric keys outputs shifted character)
+- Full arrow keys available
+
+
+## Feedback
+
+I made this keymap based on the existing default one. If you happen to use this keymap [drop me a line](mailto://idimitrakopoulos@gmail.com) about what could be improved etc
+
+Enjoy!
+
+Iason Dimitrakopoulos
diff --git a/keyboards/jj50/keymaps/archetype/config.h b/keyboards/jj50/keymaps/archetype/config.h
new file mode 100644 (file)
index 0000000..7955796
--- /dev/null
@@ -0,0 +1,8 @@
+#pragma once
+
+#undef AUTO_SHIFT_TIMEOUT
+#undef TAPPING_TERM
+
+#define AUTO_SHIFT_TIMEOUT 150
+#define TAPPING_TERM 150
+//#define BOOTMAGIC_KEY_SALT KC_LCTL
diff --git a/keyboards/jj50/keymaps/archetype/keymap.c b/keyboards/jj50/keymaps/archetype/keymap.c
new file mode 100644 (file)
index 0000000..0704943
--- /dev/null
@@ -0,0 +1,215 @@
+/*
+Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
+Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
+Modified 2018 Wayne Jones (WarmCatUK) <waynekjones@gmail.com>
+Modified 2019 Iason Dimitrakopoulos (idimitrakopoulos) <idimitrakopoulos@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 LicensezZZ
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+#include "action_layer.h"
+#include "rgblight.h"
+#include "quantum.h"
+
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _FN 2
+#define _FX 3
+
+enum {
+  TD_BSPC_DEL = 0,
+  TD_LCTL_LBRC = 1,
+  TD_LALT_RBRC = 2,
+};
+
+
+void left_brackets(qk_tap_dance_state_t *state, void *user_data) {
+    if (state->count == 1) {
+      if (state->interrupted || !state->pressed) {
+        register_mods(MOD_LSFT);
+        register_code(KC_9);
+      } else {
+        register_mods(MOD_LCTL);
+      }
+    } else if (state->count == 2) {
+        register_code(KC_LBRC);
+    } else if (state->count == 3) {
+        register_mods(MOD_LSFT);
+        register_code(KC_LBRC);
+    }
+}
+
+void left_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
+    if (state->count == 1) {
+      if (state->interrupted || !state->pressed) {
+        unregister_mods(MOD_LSFT);
+        unregister_code(KC_9);
+      } else {
+        unregister_mods(MOD_LCTL);
+      }
+    } else if (state->count == 2) {
+        unregister_code(KC_LBRC);
+    } else if (state->count == 3) {
+        unregister_mods(MOD_LSFT);
+        unregister_code(KC_LBRC);
+    }
+}
+
+void right_brackets(qk_tap_dance_state_t *state, void *user_data) {
+    if (state->count == 1) {
+      if (state->interrupted || !state->pressed) {
+        register_mods(MOD_LSFT);
+        register_code(KC_0);
+      } else {
+        register_mods(MOD_LALT);
+      }
+    } else if (state->count == 2) {
+        register_code(KC_RBRC);
+    } else if (state->count == 3) {
+        register_mods(MOD_LSFT);
+        register_code(KC_RBRC);
+    }
+}
+
+void right_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
+    if (state->count == 1) {
+      if (state->interrupted || !state->pressed) {
+        unregister_mods(MOD_LSFT);
+        unregister_code(KC_0);
+      } else {
+        unregister_mods(MOD_LALT);
+      }
+    } else if (state->count == 2) {
+        unregister_code(KC_RBRC);
+    } else if (state->count == 3) {
+        unregister_mods(MOD_LSFT);
+        unregister_code(KC_RBRC);
+    }
+}
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+  // Single tap = Backspace | Double tap = Delete
+  [TD_BSPC_DEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, KC_DEL),
+  // Single tap = ( | Double tap = [ | Triple tap = { | Single hold = KC_LCTL
+  [TD_LCTL_LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_brackets, left_brackets_reset),
+  // Single tap = ) | Double tap = ] | Triple tap = } | Single hold = KC_LALT
+  [TD_LALT_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, right_brackets, right_brackets_reset),
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    [_QWERTY] = LAYOUT( \
+
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_ESC,           KC_1,             KC_2,             KC_3,             KC_4,             KC_5,             KC_6,             KC_7,             KC_8,             KC_9,             KC_0,             KC_BSPC,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_TAB,           KC_Q,             KC_W,             KC_E,             KC_R,             KC_T,             KC_Y,             KC_U,             KC_I,             KC_O,             KC_P,             KC_BSLS,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_CAPS,          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_DOT,           KC_SLSH,          KC_UP,          SFT_T(KC_ENT),  \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+        TD(TD_LCTL_LBRC),     KC_LGUI,      TD(TD_LALT_RBRC),     _______,          _______,       LT(_FN, KC_SPC),  LT(_FN, KC_SPC),     _______,          KC_COMM,          KC_LEFT,          KC_DOWN,          KC_RGHT       \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
+    ),
+
+    [_COLEMAK] = LAYOUT( \
+
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          KC_F,             KC_P,             KC_G,             KC_J,             KC_L,             KC_U,             KC_Y,             KC_SCLN,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          KC_R,             KC_S,             KC_T,             KC_D,             _______,          KC_N,             KC_E,             KC_I,             KC_O,             _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          KC_K,             _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______       \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
+    ),
+
+    [_FN] = LAYOUT( \
+
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_GRV,           KC_F1,            KC_F2,            KC_F3,            KC_F4,            KC_F5,            KC_F6,            KC_F7,            KC_F8,            KC_F9,            KC_F10,           KC_DEL,       \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_PSCR,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          KC_EQUAL,     \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            KC_CAPS,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          KC_MINUS,     \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          KC_PGUP,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          KC_HOME,          KC_PGDN,          KC_END        \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
+    ),
+
+    [_FX] = LAYOUT( \
+
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+.
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          BL_ON,            BL_INC,           RGB_TOG,          RGB_MOD,          _______,          _______,          _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          BL_OFF,           BL_DEC,           RGB_HUI,          RGB_SAI,          RGB_VAI,          RGB_SPI,          _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          RGB_TOG,          BL_STEP,          RGB_HUD,          RGB_SAD,          RGB_VAD,          RGB_SPD,          _______,          _______,          _______,          _______,          _______,      \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+|
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+            _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______,          _______       \
+      //|                |                 |                 |                 |                 |                 |                 |                 |                 |                 |                 |                  |
+      //,----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+'
+    ),
+
+
+};
diff --git a/keyboards/jj50/keymaps/archetype/rules.mk b/keyboards/jj50/keymaps/archetype/rules.mk
new file mode 100644 (file)
index 0000000..e32e8ce
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
+# Modified 2018 Wayne Jones (WarmCatUK) <waynekjones@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/>.
+
+# MCU name
+MCU = atmega32a
+PROTOCOL = VUSB
+
+# unsupported features for now
+NO_UART = yes
+NO_SUSPEND_POWER_DOWN = yes
+
+# processor frequency
+F_CPU = 12000000
+
+# 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.
+BOOTLOADER = bootloadHID
+
+# build options
+BOOTMAGIC_ENABLE = lite
+MOUSEKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = yes
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+RGBLIGHT_CUSTOM_DRIVER = yes
+NKRO_ENABLE = no
+# Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+TAP_DANCE_ENABLE = yes
+AUTO_SHIFT_ENABLE = yes
+
+
+DISABLE_WS2812 = no
+
+KEY_LOCK_ENABLE = yes
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
+
+
+#OPT_DEFS = -DDEBUG_LEVEL=0
+
+# custom matrix setup
+CUSTOM_MATRIX = yes
+SRC = matrix.c i2c.c backlight.c
+
+# programming options
+PROGRAM_CMD = ./keyboards/ps2avrGB/program $(TARGET).hex
+
+LAYOUTS = ortho_5x12