summaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox
diff options
context:
space:
mode:
authorErez Zukerman <bulk@ezuk.org>2016-09-06 13:07:25 +0200
committerGitHub <noreply@github.com>2016-09-06 13:07:25 +0200
commit8b0769fe5a615e0ed534187de79d09d668737313 (patch)
treec10cd73d05201238588e1538c0a5b5f80fda8e69 /keyboards/ergodox
parent5bb29136b178dda65bc6a6fde91cff8d77f068fa (diff)
parentce53c0643d4eaf8f13ac1140d3bd91dfa5f90e22 (diff)
downloadqmk_firmware-8b0769fe5a615e0ed534187de79d09d668737313.tar.gz
qmk_firmware-8b0769fe5a615e0ed534187de79d09d668737313.tar.xz
Merge pull request #728 from fitzsim/yoruian
Add new ErgoDox EZ keymap, YORUIAN
Diffstat (limited to 'keyboards/ergodox')
-rw-r--r--keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf6
-rw-r--r--keyboards/ergodox/keymaps/yoruian/Makefile13
-rw-r--r--keyboards/ergodox/keymaps/yoruian/README102
-rw-r--r--keyboards/ergodox/keymaps/yoruian/ergodox_yoruian34
-rw-r--r--keyboards/ergodox/keymaps/yoruian/keymap.c61
-rw-r--r--keyboards/ergodox/keymaps/yoruian/yoruian.h61
6 files changed, 277 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf
new file mode 100644
index 000000000..ce4fce3b1
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf
@@ -0,0 +1,6 @@
+Section "InputClass"
+ Identifier "ErgoDox EZ"
+ MatchIsKeyboard "on"
+ MatchProduct "ErgoDox EZ ErgoDox EZ"
+ Option "XkbLayout" "ergodox_yoruian"
+EndSection
diff --git a/keyboards/ergodox/keymaps/yoruian/Makefile b/keyboards/ergodox/keymaps/yoruian/Makefile
new file mode 100644
index 000000000..b43a24c61
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/Makefile
@@ -0,0 +1,13 @@
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
+
+install-xorg-configuration:
+ install -m 0664 90-$(KEYBOARD)-$(KEYMAP).conf \
+ /etc/X11/xorg.conf.d/90-$(KEYBOARD)-$(KEYMAP).conf
+ install -m 0644 $(KEYBOARD)_$(KEYMAP) \
+ /usr/share/X11/xkb/symbols/$(KEYBOARD)_$(KEYMAP)
+
+uninstall-xorg-configuration:
+ -rm -f /etc/X11/xorg.conf.d/90-$(KEYBOARD)-$(KEYMAP).conf
+ -rm -f /usr/share/X11/xkb/symbols/$(KEYBOARD)_$(KEYMAP)
diff --git a/keyboards/ergodox/keymaps/yoruian/README b/keyboards/ergodox/keymaps/yoruian/README
new file mode 100644
index 000000000..99b41434e
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/README
@@ -0,0 +1,102 @@
+ Snarfangel's YORUIAN for the ErgoDox EZ
+ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+DEFAULT
+┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓
+┃ ` │ ; │ : │ - │ / │ ( │ < ┃ ┃ > │ ) │ ^ │ * │ ~ │ Γ │ σ ┃
+┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨
+┃ ⎋ │ . │ y │ o │ r │ ? │ ✦ ┃ ┃ ✦ │ j │ v │ d │ f │ w │ q ┃
+┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨
+┃ ⎈ │ u │ i │ a │ n │ ! ├───┨ ┠───┤ m │ h │ t │ s │ c │ ⎈ ┃
+┠───┼───┼───┼───┼───┼───┤ ❖ ┃ ┃ ❖ ├───┼───┼───┼───┼───┼───┨
+┃ λ │ ' │ " │ , │ _ │ = │ ┃ ┃ │ k │ l │ p │ g │ b │ x ┃
+┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨
+┃ ⎀ │ E │ │ │ ◆ ┃ ┃ ◆ │ │ │ z │ ⎙ ┃
+┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛
+ ┏━━━┯━━━┓ ┏━━━┯━━━┓
+ ┃ ⌫ │ ⌥ ┃ ┃ ⎄ │ ↹ ┃
+ ┏━━━╃───┼───┨ ┠───┼───╄━━━┓
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┃ e │ ⇧ ├───┨ ┠───┤ ⏎ │ ␣ ┃
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛
+SHIFTED
+┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓
+┃ 9 │ 7 │ 5 │ 3 │ 1 │ [ │ { ┃ ┃ } │ ] │ 0 │ 2 │ 4 │ 6 │ 8 ┃
+┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨
+┃ │ * │ Y │ O │ R │ \ │ ┃ ┃ │ J │ V │ D │ F │ W │ Q ┃
+┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨
+┃ │ U │ I │ A │ N │ | ├───┨ ┠───┤ M │ H │ T │ S │ C │ ┃
+┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨
+┃ │ # │ $ │ @ │ & │ + │ ┃ ┃ │ K │ L │ P │ G │ B │ X ┃
+┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨
+┃ │ │ │ │ ┃ ┃ │ │ │ Z │ ┃
+┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛
+ ┏━━━┯━━━┓ ┏━━━┯━━━┓
+ ┃ │ ┃ ┃ │ ┃
+ ┏━━━╃───┼───┨ ┠───┼───╄━━━┓
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┃ │ ├───┨ ┠───┤ │ ┃
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛
+λ LAYER
+┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓
+┃ │ │ │ │ │ │ ┃ ┃ │ │ ⑤ │ ⑥ │ ⑦ │ ⑧ │ ⑨ ┃
+┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨
+┃ │ │ │ │ │ │ ┃ ┃ │ │ ① │ ② │ ③ │ ④ │ ⑩ ┃
+┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨
+┃ │ │ │ │ │ ├───┨ ┠───┤ ⎉ │ ← │ ↓ │ ↑ │ → │ ⑪ ┃
+┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨
+┃ λ │ │ │ │ │ │ ┃ ┃ │ │ ⇱ │ ⎘ │ ⎗ │ ⇲ │ ⑫ ┃
+┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨
+┃ │ │ │ │ ┃ ┃ │ │ │ │ ┃
+┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛
+ ┏━━━┯━━━┓ ┏━━━┯━━━┓
+ ┃ │ ┃ ┃ │ ┃
+ ┏━━━╃───┼───┨ ┠───┼───╄━━━┓
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┃ │ ├───┨ ┠───┤ │ ┃
+ ┃ │ │ ┃ ┃ │ │ ┃
+ ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛
+
+Installation (X only)
+‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+ 1. Build and flash firmware as usual
+
+ 2. sudo make install-xorg-configuration
+
+ 3. Restart X
+
+Features
+‾‾‾‾‾‾‾‾
+ • E on the thumb
+
+ • Emacs-friendly
+
+ • Symmetric control keys for finger wear levelling
+
+ • Greek and subscript dead keys
+
+ • Compose key for arbitrary Unicode input via ~/.XCompose
+
+Don't Cares
+‾‾‾‾‾‾‾‾‾‾‾
+ • Easy migration from QWERTY
+
+ • Compatbility with non-XKB systems
+
+ • Mouse emulation
+
+ • Media keys
+
+Acknowledgements
+‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+Snarfangel, for designing the layout.
+
+The GNU FreeFont project and Steve White, for adding new keyboard
+symbols.
+
+Xah Lee, for http://xahlee.info/comp/unicode_computing_symbols.html
+
+Colophon
+‾‾‾‾‾‾‾‾
+This file is best-viewed with an SVN version of GNU FreeFont Mono.
diff --git a/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian
new file mode 100644
index 000000000..0d13fbfd4
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian
@@ -0,0 +1,34 @@
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ergodox_yoruian" {
+ include "us"
+ name[Group1]= "English (yoruian-1.0.0)";
+
+ replace key <KP2> { [ Multi_key, Multi_key ] };
+ replace key <KP3> { [ Hyper_L, Hyper_L ] };
+ replace key <AE09> { [ grave, 9 ] };
+ replace key <AE07> { [ semicolon, 7 ] };
+ replace key <AE05> { [ colon, 5 ] };
+ replace key <AE03> { [ minus, 3 ] };
+ replace key <AE01> { [ slash, 1 ] };
+ replace key <AE10> { [ asciicircum, 0 ] };
+ replace key <AE02> { [ percent, 2 ] };
+ replace key <AE04> { [ asciitilde, 4 ] };
+ replace key <AE06> { [ dead_greek, 6 ] };
+ replace key <AE08> { [ dead_caron, 8 ] };
+ replace key <KP1> { [ E, E ] };
+ replace key <AD12> { [ period, asterisk ] };
+ replace key <BKSL> { [ question, backslash ] };
+ replace key <AC10> { [ exclam, bar ] };
+ replace key <AC11> { [ apostrophe, numbersign ] };
+ replace key <AB08> { [ quotedbl, dollar ] };
+ replace key <AB09> { [ comma, at ] };
+ replace key <AB10> { [ underscore, ampersand ] };
+ replace key <KP0> { [ equal, plus ] };
+ replace key <TLDE> { [ parenleft, bracketleft ] };
+ replace key <AE11> { [ less, braceleft ] };
+ replace key <AE12> { [ greater, braceright ] };
+ replace key <AD11> { [ parenright, bracketright ] };
+
+ modifier_map none { <HYPR> };
+ modifier_map Mod3 { <KP3> };
+};
diff --git a/keyboards/ergodox/keymaps/yoruian/keymap.c b/keyboards/ergodox/keymaps/yoruian/keymap.c
new file mode 100644
index 000000000..d3635ddf3
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/keymap.c
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2016 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+ *
+ * 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 3 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/>.
+ */
+#include "yoruian.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = KEYMAP\
+(9, 7, 5, 3, 1, GRV, MINS, EQL, LBRC, 0, 2, 4, 6, 8,
+ ES, RBRC, Y, O, R, BSLS, P3, P3, J, V, D, F, W, Q,
+ LC, U, I, A, N, SCLN, M, H, T, S, C, RC,
+ FF, QUOT, COMM, DOT, SLSH, P0, LGUI, LGUI, K, L, P, G, B, X,
+ IN, P1, NO, NO, LALT, LALT, NO, NO, Z, PS,
+ BSPC, RALT, P2, TAB,
+ NO, NO,
+ E, LSFT, NO, NO, ENT, SPC),
+[1] = KEYMAP\
+(TR, TR, TR, TR, TR, TR, TR, TR, TR, F5, F6, F7, F8, F9,
+ TR, TR, TR, TR, TR, TR, TR, TR, TR, F1, F2, F3, F4, FT,
+ TR, TR, TR, TR, TR, TR, PAUS, LEFT, DOWN, UP, RGHT, FE,
+ TR, TR, TR, TR, TR, TR, TR, TR, TR, HOME, PGDN, PGUP, END, FW,
+ TR, TR, TR, TR, TR, TR, TR, TR, TR, TR,
+ TR, TR, TR, TR,
+ TR, TR,
+ TR, TR, TR, TR, TR, TR),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ return MACRO_NONE;
+};
+
+void matrix_init_user(void) {
+};
+
+void matrix_scan_user(void) {
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+};
+
+/*
+ * Local Variables:
+ * electric-indent-mode: nil
+ * End:
+ */
diff --git a/keyboards/ergodox/keymaps/yoruian/yoruian.h b/keyboards/ergodox/keymaps/yoruian/yoruian.h
new file mode 100644
index 000000000..1adcb7fd3
--- /dev/null
+++ b/keyboards/ergodox/keymaps/yoruian/yoruian.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2016 Thomas Fitzsimmons <fitzsim@fitzsim.org>
+ *
+ * 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 3 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/>.
+ */
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#undef KEYMAP
+#define KEYMAP\
+( \
+ /* Spacial positions. */ \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
+ k20, k21, k22, k23, k24, k25, k28, k29, k2A, k2B, k2C, k2D, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
+ k40, k41, k42, k43, k44, k49, k4A, k4B, k4C, k4D, \
+ k55, k56, k57, k58, \
+ k54, k59, \
+ k53, k52, k51, k5C, k5B, k5A) \
+ \
+ /* Matrix positions. */ \
+ { \
+ { KC_##k00, KC_##k10, KC_##k20, KC_##k30, KC_##k40, KC_NO }, \
+ { KC_##k01, KC_##k11, KC_##k21, KC_##k31, KC_##k41, KC_##k51 }, \
+ { KC_##k02, KC_##k12, KC_##k22, KC_##k32, KC_##k42, KC_##k52 }, \
+ { KC_##k03, KC_##k13, KC_##k23, KC_##k33, KC_##k43, KC_##k53 }, \
+ { KC_##k04, KC_##k14, KC_##k24, KC_##k34, KC_##k44, KC_##k54 }, \
+ { KC_##k05, KC_##k15, KC_##k25, KC_##k35, KC_NO, KC_##k55 }, \
+ { KC_##k06, KC_##k16, KC_NO, KC_##k36, KC_NO, KC_##k56 }, \
+ { KC_##k07, KC_##k17, KC_NO, KC_##k37, KC_NO, KC_##k57 }, \
+ { KC_##k08, KC_##k18, KC_##k28, KC_##k38, KC_NO, KC_##k58 }, \
+ { KC_##k09, KC_##k19, KC_##k29, KC_##k39, KC_##k49, KC_##k59 }, \
+ { KC_##k0A, KC_##k1A, KC_##k2A, KC_##k3A, KC_##k4A, KC_##k5A }, \
+ { KC_##k0B, KC_##k1B, KC_##k2B, KC_##k3B, KC_##k4B, KC_##k5B }, \
+ { KC_##k0C, KC_##k1C, KC_##k2C, KC_##k3C, KC_##k4C, KC_##k5C }, \
+ { KC_##k0D, KC_##k1D, KC_##k2D, KC_##k3D, KC_##k4D, KC_NO } \
+ }
+
+#define KC_ES KC_ESC
+#define KC_LC KC_LCTL
+#define KC_RC KC_RCTL
+#define KC_FF MO(1)
+#define KC_IN KC_INS
+#define KC_PS KC_PSCR
+#define KC_TR KC_TRNS
+#define KC_FT KC_F10
+#define KC_FE KC_F11
+#define KC_FW KC_F12