summaryrefslogtreecommitdiffstats
path: root/keyboards
diff options
context:
space:
mode:
authorcbbrowne <cbbrowne@cbbrowne.tor.int-afilias.info>2016-11-16 17:05:11 -0500
committercbbrowne <cbbrowne@cbbrowne.tor.int-afilias.info>2016-11-16 17:05:11 -0500
commit5b88e7ab9a59dbbc5df6ffa4639befebb9fb115e (patch)
tree3676cd8ed034158c1d615d62cca3bf2631a71e96 /keyboards
parentc609edc36233ef0dc87d158fb8e8da989e74cae2 (diff)
parent9f1b27c5bad5ba36afaa32f986fd662053215d8b (diff)
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/ergodox/keymaps/sethbc/Makefile11
-rw-r--r--keyboards/ergodox/keymaps/sethbc/keymap.c2
-rw-r--r--keyboards/ergodox/keymaps/sethbc/readme.md3
-rw-r--r--keyboards/ergodox/keymaps/videck/Makefile19
-rw-r--r--keyboards/ergodox/keymaps/videck/config.h13
-rw-r--r--keyboards/ergodox/keymaps/videck/keymap.c179
-rw-r--r--keyboards/ergodox/keymaps/videck/readme.md24
-rw-r--r--keyboards/ergodox/keymaps/videck/videck.json443
-rw-r--r--keyboards/ergodox/keymaps/videck/videck.pngbin0 -> 106851 bytes
-rw-r--r--keyboards/infinity60/chconf.h2
-rw-r--r--keyboards/infinity60/matrix.c7
-rw-r--r--keyboards/kc60/keymaps/dbroqua/keymap.c2
-rw-r--r--keyboards/satan/keymaps/dbroqua_hhkb/keymap.c110
-rw-r--r--keyboards/satan/keymaps/dbroqua_hhkb/readme.md9
-rw-r--r--keyboards/satan/keymaps/sethbc/keymap.c14
-rw-r--r--keyboards/vision_division/config.h4
-rw-r--r--keyboards/vision_division/keymaps/default/Makefile4
-rw-r--r--keyboards/vision_division/keymaps/default/keymap.c222
18 files changed, 945 insertions, 123 deletions
diff --git a/keyboards/ergodox/keymaps/sethbc/Makefile b/keyboards/ergodox/keymaps/sethbc/Makefile
index 8c4ff87845..457a3d01d4 100644
--- a/keyboards/ergodox/keymaps/sethbc/Makefile
+++ b/keyboards/ergodox/keymaps/sethbc/Makefile
@@ -1,14 +1,3 @@
-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
-CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
-SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = yes # Unicode
-
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
diff --git a/keyboards/ergodox/keymaps/sethbc/keymap.c b/keyboards/ergodox/keymaps/sethbc/keymap.c
index 6846c4d529..8816ad63bb 100644
--- a/keyboards/ergodox/keymaps/sethbc/keymap.c
+++ b/keyboards/ergodox/keymaps/sethbc/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_GRV, KC_BSLS, KC_LEFT, KC_RGHT,
KC_LCTL, KC_LALT,
KC_HOME,
- KC_SPC, KC_BSPC, KC_END,
+ KC_BSPC, KC_DEL, KC_END,
// right hand
MO(FN2), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
diff --git a/keyboards/ergodox/keymaps/sethbc/readme.md b/keyboards/ergodox/keymaps/sethbc/readme.md
index 510b2f99c8..57b5d0ec7c 100644
--- a/keyboards/ergodox/keymaps/sethbc/readme.md
+++ b/keyboards/ergodox/keymaps/sethbc/readme.md
@@ -1,3 +1,4 @@
# sethbc's Ergodox EZ keymap
-Largely based on the Ergodox Infinity default keymap
+Largely based on the Ergodox Infinity default keymap, but layer locking has been
+removed in favor of momentary layer activation
diff --git a/keyboards/ergodox/keymaps/videck/Makefile b/keyboards/ergodox/keymaps/videck/Makefile
new file mode 100644
index 0000000000..5c7d21f2cc
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/Makefile
@@ -0,0 +1,19 @@
+AUDIO_ENABLE:=no
+BACKLIGHT_ENABLE:=no
+BLUETOOTH_ENABLE:=no
+BOOTMAGIC_ENABLE:=no
+COMMAND_ENABLE:=no
+CONSOLE_ENABLE:=no
+EXTRAKEY_ENABLE:=yes
+MIDI_ENABLE:=no
+MOUSEKEY_ENABLE:=yes
+NKRO_ENABLE:=no
+RGBLIGHT_ENABLE:=no
+SLEEP_LED_ENABLE:=no
+TAP_DANCE_ENABLE:=yes
+UNICODEMAP_ENABLE:=no
+UNICODE_ENABLE:=no
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/videck/config.h b/keyboards/ergodox/keymaps/videck/config.h
new file mode 100644
index 0000000000..d89aabe779
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/config.h
@@ -0,0 +1,13 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#ifndef NO_DEBUG
+ #define NO_DEBUG
+#endif
+#ifndef NO_PRINT
+ #define NO_PRINT
+#endif
+
+#endif
diff --git a/keyboards/ergodox/keymaps/videck/keymap.c b/keyboards/ergodox/keymaps/videck/keymap.c
new file mode 100644
index 0000000000..7bd6274e94
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/keymap.c
@@ -0,0 +1,179 @@
+#include <stdbool.h>
+
+#include "ergodox.h"
+#include "action_layer.h"
+
+enum {
+ BASE = 0, // Default layer
+ ARROWS = 1, // Arrows and Fx keys layer
+ MOUSE = 2, // Mouse movement and buttons layer
+ PARENS = 3, // Parenthesis easy access layer
+
+ TD_L = 0, // Tap dance index for left shift
+ TD_R = 1 // Tap dance index for right shift
+};
+
+// See the videck.png image for a visualization of the layout.
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = KEYMAP(
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME,
+ KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_END,
+ MO(PARENS), KC_A, KC_S, KC_D, KC_F, KC_G,
+ TD(TD_L), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC,
+ KC_LCTL, KC_LALT, KC_VOLD, KC_VOLU, KC_MUTE,
+ KC_ESC, KC_LGUI,
+ TG(MOUSE),
+ KC_SPC, KC_TAB, TG(ARROWS),
+ // right hand
+ KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_R),
+ KC_LBRC, KC_RBRC, KC_EQL, KC_RALT, KC_RCTL,
+ KC_APP, KC_ESC,
+ KC_INS,
+ KC_SLCK, KC_ENT, KC_SPC
+ ),
+ [ARROWS] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [MOUSE] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_BTN3, KC_TRNS,
+ KC_TRNS,
+ KC_BTN1, KC_BTN2, KC_NO,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [PARENS] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_NO,
+ KC_TRNS, KC_TRNS, KC_NO,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+typedef void (*videck_tap_dance_trigger_t) (const uint16_t kc);
+
+typedef struct
+{
+ uint16_t kc1;
+ uint16_t kc2;
+ videck_tap_dance_trigger_t trigger;
+} videck_tap_dance_tuple_t;
+
+static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_data) {
+ videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;
+
+ if (state->count == 1) {
+ register_code16 (tuple->kc1);
+ } else if (state->count == 2) {
+ register_code16 (tuple->kc2);
+ }
+}
+
+static void videck_tap_dance_reset (qk_tap_dance_state_t *state, void *user_data) {
+ videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data;
+
+ if (state->count == 1) {
+ unregister_code16 (tuple->kc1);
+ } else if (state->count == 2) {
+ unregister_code16 (tuple->kc2);
+ tuple->trigger(tuple->kc2);
+ }
+}
+
+static bool caps_lock_is_on;
+
+// Toggles caps lock status.
+static void videck_caps_trigger (const uint16_t kc) {
+ caps_lock_is_on ^= true;
+}
+
+#define ACTION_TAP_DANCE_DOUBLE_TRIGGER(kc1, kc2, double_trigger) { \
+ .fn = { NULL, videck_tap_dance_finished, videck_tap_dance_reset }, \
+ .user_data = (void *)&((videck_tap_dance_tuple_t) { kc1, kc2, double_trigger }), \
+ }
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_L] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_LSFT, KC_CAPS, videck_caps_trigger),
+ [TD_R] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_RSFT, KC_CAPS, videck_caps_trigger)
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+ ergodox_led_all_set(LED_BRIGHTNESS_LO);
+ caps_lock_is_on = false;
+};
+
+static void indicate_using_led(const uint8_t led, const bool enabled) {
+ if (enabled) {
+ ergodox_right_led_on(led);
+ } else {
+ ergodox_right_led_off(led);
+ }
+}
+
+static inline void indicate_caps_lock_state(const bool enabled) {
+ indicate_using_led(1, enabled);
+}
+
+static inline void indicate_arrows_layer_state(const bool enabled) {
+ indicate_using_led(2, enabled);
+}
+
+static inline void indicate_mouse_layer_state(const bool enabled) {
+ indicate_using_led(3, enabled);
+}
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ // Check if we have shift locked.
+ indicate_caps_lock_state(caps_lock_is_on);
+ indicate_arrows_layer_state(IS_LAYER_ON(ARROWS));
+ indicate_mouse_layer_state(IS_LAYER_ON(MOUSE));
+};
diff --git a/keyboards/ergodox/keymaps/videck/readme.md b/keyboards/ergodox/keymaps/videck/readme.md
new file mode 100644
index 0000000000..759e81bac5
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/readme.md
@@ -0,0 +1,24 @@
+ViDeck keymap for ErgoDox
+=========================
+
+This is a QWERTY layout based on the US layout, where Vi functionality has been
+especially considered.
+
+# Features
+* Mouse movements using the Vi movement keys.
+* Vi movement keys doubling as arrow keys.
+* Shift lock using double tap.
+* A coder's modifier key for easy input of parenthesis.
+* Acess to the escape key using either thumb.
+* Reasonably accessible Scroll Lock key (useful if you, like me, want to switch
+ to a non-US layout once in a while in X).
+
+# Missing keys
+* Caps Lock (shift lock is used instead).
+* Pause/Break.
+* Print Screen.
+
+# LEDs
+* Shift lock is indicated using first LED.
+* Arrow keys layer is indicated using second LED.
+* Mouse keys layer is indicated using third LED.
diff --git a/keyboards/ergodox/keymaps/videck/videck.json b/keyboards/ergodox/keymaps/videck/videck.json
new file mode 100644
index 0000000000..7068cf5485
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/videck.json
@@ -0,0 +1,443 @@
+[
+ {
+ "backcolor": "#333333",
+ "background": {
+ "name": "PBT Black",
+ "style": "background-image: url('/bg/plastic/pbt-black.png');"
+ },
+ "switchMount": "cherry",
+ "switchBrand": "gateron",
+ "switchType": "KS-3-Red"
+ },
+ [
+ {
+ "x": 3.5,
+ "c": "#323232",
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "#\n3\n\nF3",
+ {
+ "x": 10.5
+ },
+ "*\n8\n\nF8"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "@\n2\n\nF2",
+ {
+ "x": 1
+ },
+ "$\n4\n\nF4",
+ {
+ "x": 8.5
+ },
+ "&\n7\n\nF7",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n#ac97d8\n\n\n\n#555454"
+ },
+ "(\n9\n\nF9"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "%\n5\n\nF5",
+ {
+ "t": "#ffffff"
+ },
+ "home",
+ {
+ "x": 4.5
+ },
+ "pgup",
+ {
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "^\n6\n\nF6"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#ffffff",
+ "w": 1.5
+ },
+ "~\n`",
+ {
+ "t": "#ffffff\n\n\n#ac97d8"
+ },
+ "!\n1\n\nF1",
+ {
+ "x": 14.5
+ },
+ ")\n0\n\nF10",
+ {
+ "w": 1.5
+ },
+ "_\n-\n\nF11"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff"
+ },
+ "E",
+ {
+ "x": 10.5
+ },
+ "I"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "W",
+ {
+ "x": 1
+ },
+ "R",
+ {
+ "x": 8.5
+ },
+ "U",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ "O\n\n\n\n\n\n\n\n\n{"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "T",
+ {
+ "h": 1.5
+ },
+ "end",
+ {
+ "x": 4.5,
+ "h": 1.5
+ },
+ "pgdn",
+ "Y"
+ ],
+ [
+ {
+ "y": -0.875,
+ "w": 1.5
+ },
+ "+\n=",
+ "Q",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ "P\n\n\n\n\n\n\n\n\n}",
+ {
+ "t": "#ffffff\n\n\n#ac97d8",
+ "w": 1.5
+ },
+ "|\n\\\n\nF12"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff"
+ },
+ "D",
+ {
+ "x": 10.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8"
+ },
+ "K\n\n<i class='fa fa-caret-up'></i>\n<i class='kb kb-Arrows-Up'></i>"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5,
+ "t": "#ffffff"
+ },
+ "S",
+ {
+ "x": 1,
+ "n": true
+ },
+ "F",
+ {
+ "x": 8.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8",
+ "n": true
+ },
+ "J\n\n<i class='fa fa-caret-down'></i>\n<i class='kb kb-Arrows-Down'></i>",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8\n\n\n\n\n\n#f8d615"
+ },
+ "L\n\n<i class='fa fa-caret-right'></i>\n<i class='kb kb-Arrows-Right'></i>\n\n\n\n\n\n("
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "G",
+ {
+ "x": 6.5,
+ "t": "#ffffff\n\n#5eb1e7\n#ac97d8"
+ },
+ "H\n\n<i class='fa fa-caret-left'></i>\n<i class='kb kb-Arrows-Left'></i>"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#f8d615",
+ "a": 6,
+ "w": 1.5
+ },
+ "( ) [ ] { }",
+ {
+ "t": "#ffffff",
+ "a": 4
+ },
+ "A",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b\n\n#f8d615"
+ },
+ ":\n;\n\n\n\n\n\n&Ouml;\n\n)",
+ {
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b",
+ "w": 1.5
+ },
+ "\"\n'\n\n\n\n\n\n&Auml;"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 6.5,
+ "t": "#ffffff",
+ "h": 1.5
+ },
+ "<i class='kb kb-Unicode-BackSpace-DeleteLeft-Big'></i>",
+ {
+ "x": 4.5,
+ "h": 1.5
+ },
+ "<i class='kb kb-Unicode-DeleteRight-Big'></i>"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3.5
+ },
+ "C",
+ {
+ "x": 10.5
+ },
+ "<\n,"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "X",
+ {
+ "x": 1
+ },
+ "V",
+ {
+ "x": 8.5
+ },
+ "M",
+ {
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615"
+ },
+ ">\n.\n\n\n\n\n\n\n\n["
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5,
+ "t": "#ffffff"
+ },
+ "B",
+ {
+ "x": 6.5
+ },
+ "N"
+ ],
+ [
+ {
+ "y": -0.875,
+ "t": "#ffffff\n\n#f67f00",
+ "a": 6,
+ "fa": [
+ 5
+ ],
+ "w": 1.5
+ },
+ "&uArr;\n\n2-tap<br/>locks",
+ {
+ "t": "#ffffff",
+ "a": 4,
+ "f": 3
+ },
+ "Z",
+ {
+ "x": 14.5,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615",
+ "f": 3
+ },
+ "?\n/\n\n\n\n\n\n\n\n]",
+ {
+ "t": "#ffffff\n\n#f67f00",
+ "a": 6,
+ "f": 3,
+ "w": 1.5
+ },
+ "&uArr;\n\n2-tap<br/>locks"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "t": "#ffffff",
+ "a": 4
+ },
+ "\n<i class='kb kb-Multimedia-Volume-Up-2'></i>",
+ {
+ "x": 10.5,
+ "f": 3
+ },
+ "}\n]"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "\n<i class='kb kb-Multimedia-Volume-Down-1'></i>",
+ {
+ "x": 1
+ },
+ "\n<i class='kb kb-Multimedia-Mute-1'></i>",
+ {
+ "x": 8.5,
+ "t": "#ffffff\n\n\n\n\n\n\n#60605b",
+ "f": 3
+ },
+ "{\n[\n\n\n\n\n\n&Aring;",
+ {
+ "x": 1,
+ "t": "#ffffff",
+ "f": 3
+ },
+ "+\n="
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 0.5,
+ "f": 3
+ },
+ "ctrl",
+ {
+ "f": 3
+ },
+ "alt",
+ {
+ "x": 14.5,
+ "f": 3
+ },
+ "altgr",
+ {
+ "f": 3
+ },
+ "ctrl"
+ ],
+ [
+ {
+ "r": 30,
+ "rx": 6.5,
+ "ry": 4.25,
+ "y": -1,
+ "x": 1,
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7",
+ "f": 3
+ },
+ "esc\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>M",
+ {
+ "t": "#ffffff",
+ "f": 7
+ },
+ "<i class='kb kb-logo-linux-tux'></i>"
+ ],
+ [
+ {
+ "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7",
+ "f": 3,
+ "h": 2
+ },
+ "space\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>L",
+ {
+ "h": 2
+ },
+ "<i class='kb kb-Tab-1'></i>\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>R",
+ {
+ "t": "#5eb1e7"
+ },
+ "<i class='fa fa-mouse-pointer'></i>"
+ ],
+ [
+ {
+ "x": 2,
+ "t": "#ac97d8"
+ },
+ "<i class='fa fa-arrows'></i>"
+ ],
+ [
+ {
+ "r": -30,
+ "rx": 13,
+ "y": -1,
+ "x": -3,
+ "t": "#ffffff"
+ },
+ "<i class='kb kb-Hamburger-Menu'></i>",
+ "esc"
+ ],
+ [
+ {
+ "x": -3
+ },
+ "ins",
+ {
+ "h": 2
+ },
+ "<i class='kb kb-Return-2'></i>",
+ {
+ "h": 2
+ },
+ "space"
+ ],
+ [
+ {
+ "x": -3
+ },
+ "scroll<br/>lock"
+ ]
+] \ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/videck/videck.png b/keyboards/ergodox/keymaps/videck/videck.png
new file mode 100644
index 0000000000..c99323f53b
--- /dev/null
+++ b/keyboards/ergodox/keymaps/videck/videck.png
Binary files differ
diff --git a/keyboards/infinity60/chconf.h b/keyboards/infinity60/chconf.h
index 43c845739a..d9114ec858 100644
--- a/keyboards/infinity60/chconf.h
+++ b/keyboards/infinity60/chconf.h
@@ -48,7 +48,7 @@
* @details Frequency of the system timer that drives the system ticks. This
* setting also defines the system tick time unit.
*/
-#define CH_CFG_ST_FREQUENCY 1000
+#define CH_CFG_ST_FREQUENCY 100000
/**
* @brief Time delta constant for the tick-less mode.
diff --git a/keyboards/infinity60/matrix.c b/keyboards/infinity60/matrix.c
index 62c165aa53..d2f1852885 100644
--- a/keyboards/infinity60/matrix.c
+++ b/keyboards/infinity60/matrix.c
@@ -96,7 +96,12 @@ uint8_t matrix_scan(void)
}
#endif
- wait_us(1); // need wait to settle pin state
+ // need wait to settle pin state
+ // if you wait too short, or have a too high update rate
+ // the keyboard might freeze, or there might not be enough
+ // processing power to update the LCD screen properly.
+ // 20us, or two ticks at 100000Hz seems to be OK
+ wait_us(20);
// read col data
data = (palReadPort(GPIOD)>>1);
diff --git a/keyboards/kc60/keymaps/dbroqua/keymap.c b/keyboards/kc60/keymaps/dbroqua/keymap.c
index 1b645ea938..8b5efd0cee 100644
--- a/keyboards/kc60/keymaps/dbroqua/keymap.c
+++ b/keyboards/kc60/keymaps/dbroqua/keymap.c
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | Psc | | | | | |
* |-----------------------------------------------------------------------------------------+
- * | | Led | Led-| Led+| | Mute| Vol+| Vol-| | | | Play | |
+ * | | Led | Led+| Led-| | Mute| Vol+| Vol-| | | | Play | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | Prev | Stop | Next |
* `-----------------------------------------------------------------------------------------'
diff --git a/keyboards/satan/keymaps/dbroqua_hhkb/keymap.c b/keyboards/satan/keymaps/dbroqua_hhkb/keymap.c
new file mode 100644
index 0000000000..98a298e762
--- /dev/null
+++ b/keyboards/satan/keymaps/dbroqua_hhkb/keymap.c
@@ -0,0 +1,110 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "satan.h"
+
+#define _DEFAULT 0
+#define _ALTDISP 1
+#define _FN 2
+
+enum planck_keycodes {
+ DEFAULT = SAFE_RANGE,
+ ALTDISP
+};
+
+// Fillers to make layering more clear
+#define ______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty alt/gui/space/gui/alt
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ * |-----------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
+ * |-----------------------------------------------------------------------------------------+
+ * | LAlt| LGUI | Space | RGUI | RAlt |
+ * `-----------------------------------------------------------------'
+ */
+ [_DEFAULT] = KEYMAP_HHKB( /* Basic QWERTY */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
+ ______, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, ______, ______ \
+ ),
+
+/* Qwerty gui/alt/space/alt/gui
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+ * |-----------------------------------------------------------------------------------------+
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
+ * |-----------------------------------------------------------------------------------------+
+ * |LGUI | LAlt | Space | RAlt |RGUI |
+ * `-----------------------------------------------------------------'
+ */
+ [_ALTDISP] = KEYMAP_HHKB( /* Basic QWERTY */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
+ ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \
+ ),
+
+/* FN Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
+ * |-----------------------------------------------------------------------------------------+
+ * | CAPS | BL- | BL+ | BL | | | | | Psc | Slck| Paus| Up | | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
+ * |-----------------------------------------------------------------------------------------+
+ * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
+ * |-----------------------------------------------------------------------------------------+
+ * | | | | Stop | |
+ * `-----------------------------------------------------------------'
+ */
+ [_FN] = KEYMAP_HHKB( /* Layer 1 */
+ ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ KC_CAPS, BL_DEC, BL_INC, BL_TOGG, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
+ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, \
+ ______, KC_MPRV, KC_MPLY, KC_MNXT,______,______,KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______,______, \
+ ______, DEFAULT, ALTDISP, ______, KC_MSTP, ______, ______, ______ \
+ )
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ return MACRO_NONE;
+};
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case DEFAULT:
+ if (record->event.pressed) {
+ persistant_default_layer_set(1UL<<_DEFAULT);
+ }
+ return false;
+ break;
+ case ALTDISP:
+ if (record->event.pressed) {
+ persistant_default_layer_set(1UL<<_ALTDISP);
+ }
+ return false;
+ break;
+ }
+ return true;
+} \ No newline at end of file
diff --git a/keyboards/satan/keymaps/dbroqua_hhkb/readme.md b/keyboards/satan/keymaps/dbroqua_hhkb/readme.md
new file mode 100644
index 0000000000..39e71beedd
--- /dev/null
+++ b/keyboards/satan/keymaps/dbroqua_hhkb/readme.md
@@ -0,0 +1,9 @@
+# Dbroqua HHKB like Layout
+
+Like the HHKB but with a Satan GH60 PCB :D.
+
+# Programming Instructions:
+Enter into programming mode and run the following command.
+```
+$ sudo KEYMAP=dbroqua_hhkb make dfu
+``` \ No newline at end of file
diff --git a/keyboards/satan/keymaps/sethbc/keymap.c b/keyboards/satan/keymaps/sethbc/keymap.c
index 82c779081a..93610258b3 100644
--- a/keyboards/satan/keymaps/sethbc/keymap.c
+++ b/keyboard