Merge pull request #728 from fitzsim/yoruian
Add new ErgoDox EZ keymap, YORUIAN
This commit is contained in:
commit
8b0769fe5a
6 changed files with 277 additions and 0 deletions
|
@ -0,0 +1,6 @@
|
||||||
|
Section "InputClass"
|
||||||
|
Identifier "ErgoDox EZ"
|
||||||
|
MatchIsKeyboard "on"
|
||||||
|
MatchProduct "ErgoDox EZ ErgoDox EZ"
|
||||||
|
Option "XkbLayout" "ergodox_yoruian"
|
||||||
|
EndSection
|
13
keyboards/ergodox/keymaps/yoruian/Makefile
Normal file
13
keyboards/ergodox/keymaps/yoruian/Makefile
Normal file
|
@ -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)
|
102
keyboards/ergodox/keymaps/yoruian/README
Normal file
102
keyboards/ergodox/keymaps/yoruian/README
Normal file
|
@ -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.
|
34
keyboards/ergodox/keymaps/yoruian/ergodox_yoruian
Normal file
34
keyboards/ergodox/keymaps/yoruian/ergodox_yoruian
Normal file
|
@ -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> };
|
||||||
|
};
|
61
keyboards/ergodox/keymaps/yoruian/keymap.c
Normal file
61
keyboards/ergodox/keymaps/yoruian/keymap.c
Normal file
|
@ -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:
|
||||||
|
*/
|
61
keyboards/ergodox/keymaps/yoruian/yoruian.h
Normal file
61
keyboards/ergodox/keymaps/yoruian/yoruian.h
Normal file
|
@ -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
|
Loading…
Reference in a new issue