diff options
author | Eric Gebhart <e.a.gebhart@gmail.com> | 2022-11-12 00:09:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-11 23:09:41 +0000 |
commit | 050472a4d07d07c1d9ae17d2fd26d44e9d95d950 (patch) | |
tree | 8c326011ec8cac395a92839ec4b420bf12652fa1 /users/ericgebhart/base_layers | |
parent | 49a78b81145213e2883e6c3beab6d9c136c10085 (diff) |
Eric Gebhart user space and keymaps (#17487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/ericgebhart/base_layers')
-rw-r--r-- | users/ericgebhart/base_layers/accents.h | 90 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/alt.h | 150 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/base_layers.h | 58 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/beakl.h | 158 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/bepo.h | 114 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/carpalx.h | 46 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/dvorak.h | 73 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/gap.h | 67 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/hands_down.h | 147 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/keymaps.txt | 300 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/maks.h | 61 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/qwerty.h | 69 | ||||
-rw-r--r-- | users/ericgebhart/base_layers/toprows.h | 56 |
13 files changed, 1389 insertions, 0 deletions
diff --git a/users/ericgebhart/base_layers/accents.h b/users/ericgebhart/base_layers/accents.h new file mode 100644 index 0000000000..ad575da65c --- /dev/null +++ b/users/ericgebhart/base_layers/accents.h @@ -0,0 +1,90 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +// probably best to have e and é on different fingers. + +// doesnt work, oled displays garbage +/* #define CARTE_ACCENTED \ */ +/* carte_de_map(" æœêùì ¿ïüöë ", \ */ +/* " àôèéî ûçñß^", \ */ +/* " âöíúí ") */ + +// need to figure out a better way to display these on the oled. +#define CARTE_ACCENTED \ + carte_de_map(" aoeui ?iuoe ", \ + " aoeei ucnS^", \ + " aoiúi ") + +#define ___ACCENTED___ \ + LANG_MAP(_AE, _OE, _ECIR, _UGRV, _IGRV, _IQUE, _IIAE, _UIAE, _OIAE, _EIAE, \ + _AGRV, _OCIR, _EGRV, _EACU, _ICIR, _UCIR, _CCED, _NTIL, _SS, _DCIR, \ + _AACU, _ODIA, _IACU, _UACU, _IACU, _SPC, _SPC, _SPC , _SPC, _SPC) + + +// A dead key layer, optimized for Most common, +// western european. +#define CARTE_MORTE \ + carte_de_map(" ˝˘̉ ̛ ˙° ", \ + "/`^´ ¸¨~¤", \ + " ,ˇ. ˛µ¯") + +#define ___MORTE___ \ + LANG_MAP(_, _DACU, _BREV, _HOKA, _, _, _HORN, _DOTA, _RNGA, _, \ + _DSLS, _DGRV, _DCIR, _ACUT, _, _, _CEDL, _DIAE, _DTIL, _CURR, \ + _, _DCMM, _CARN, _DOTB, _, _, _OGON, _DGRK, _MACR, _) + +// Just taking a guess and putting the things I know are most +// used in easy to use places., not sure about ntil and ss, put +// them in their dvorak spots on the home row. + +/* #define CARTE_ACCENTS_MORTE \ */ +/* carte_de_map(" æœêùì ¿`^´ë ", \ */ +/* " àôèéî ¸çñß~", \ */ +/* " âö,úí ¨ˇ° ") */ + +#define CARTE_ACCENTS_MORTE \ + carte_de_map(" aoeui ?`^'e ", \ + " aoeei ,cnS~", \ + " ao,ui \"^o") + +#define ___ACCENTS_MORTE___ \ + LANG_MAP(_AE, _OE, _ECIR, _UGRV, _IGRV, _IQUE, _DGRV, _DCIR, _ACUT, _EIAE, \ + _AGRV, _OCIR, _EGRV, _EACU, _ICIR, _CEDL, _CCED, _NTIL, _SS, _DTIL, \ + _AACU, _OIAE, _DCMM, _UACU, _IACU, _OGON, _DIAE, _CARN, _RNGA, _HORN) + +/* // DEAD layer. */ +/* BP_DCIR // ^ (dead) */ +/* BP_ACUT // ´ (dead) */ +/* BP_DGRV // ` (dead) */ +/* BP_CARN // ˇ (dead) */ +/* BP_DSLS // / (dead) */ +/* BP_BREV // ˘ (dead) */ +/* BP_DIAE // ¨ (dead) */ +/* BP_DTIL // ~ (dead) */ +/* BP_MACR // ¯ (dead) */ +/* BP_CEDL // ¸ (dead) */ +/* BP_RNGA // ° (dead) */ +/* BP_DGRK // µ (dead Greek key) */ +/* BP_OGON // ˛ (dead) */ +/* BP_DACU // ˝ (dead) */ +/* BP_DOTA // ˙ (dead) */ +/* BP_CURR // ¤ (dead) */ +/* BP_HORN // ̛ (dead) */ +/* BP_DCMM // , (dead) */ +/* BP_HOKA // ̉ (dead) */ +/* BP_DOTB // ̣ (dead) */ diff --git a/users/ericgebhart/base_layers/alt.h b/users/ericgebhart/base_layers/alt.h new file mode 100644 index 0000000000..28cf5ab738 --- /dev/null +++ b/users/ericgebhart/base_layers/alt.h @@ -0,0 +1,150 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ +// e goes on the left thumb +#define CARTE_MALTRON \ + carte_de_map(" qpycb vmuzl", \ + " anisf ctdor", \ + " ;/jg, .wk-x e") + +#define ___MALTRON___ \ + LANG_MAP(_Q, _P, _Y, _C, _B, _V, _M, _U, _Z, _L, \ + _A, _N, _I, _S, _F, _D, _T, _D, _O, _R, \ + TL_SCLN, TL_SLSH, _J, _G, TL_COMM, TL_DOT, _W, _K, TL_MINS, _X) + +#define CARTE_EUCALYN \ + carte_de_map(" /,.fq aoeiu", \ + " zxcvw mrdyp", \ + " gtksn bhjl;") + +#define ___EUCALYN___ \ + LANG_MAP(TL_SLSH, TL_COMM, TL_DOT, _F, _Q, _A, _O, _E, _I, _U, \ + _Z, _X, _C, _V, _W, _M, _R, _D, _Y, _P, \ + _G, _T, _K, _S, _N, _B, _H, _J, _L, TL_SCLN) + + + +// RSTHD +/* j c y f k | z l , u q = */ +/* r s t h d | m n a i o - */ +/* / v g p b | x w . ; ' */ +/* e */ + +// need a thumb cluster for this. +// removed = and -, edge keys if you've got them. +// e goes on left thumb + +#define CARTE_RSTHD \ + carte_de_map(" jcyfk zl,uq", \ + " rsthd mnaio", \ + " /vgpb xw.;' e") + +#define ___RSTHD___ \ + LANG_MAP(_J, _C, _Y, _F, _K, _Z, _L, TL_COMM, _U, _Q, \ + _R, _S, _T, _H, _D, _M, _N, _A, _I, _O, \ + _/, _V, _G, _P, _B, _X, _W, TL_DOT, TL_SCLN, TL_QUOT) + +#define CARTE_HANDS_UP \ + carte_de_map(" fyou, kwclp", \ + " hiea. dtsrn", \ + " bj'z; vmgxq") + +#define ___HANDS_UP___ \ + LANG_MAP(_F, _Y, _O, _U, TL_COMM, _K, _W, _C, _L, _P, \ + _H, _I, _E, _A, TL_DOT , _D, _T, _S, _R, _N, \ + _B, _J, TL_QUOT, _Z, TL_SCLN, _V, _M, _G, _X, _Q) + +#define CARTE_WHITE \ + carte_de_map(" vyd,' jmlu-", \ + " atheb csnoi", \ + " pkgwq xrf.z") + +#define ___WHITE___ \ + LANG_MAP(_V, _Y, _D, TL_COMM, TL_QUOT, _J, _M, _L, _U, _MINS, \ + _A, _T, _H, _E, _B, _C, _S, _N, _O, _I, \ + _P, _K, _G, _W, _Q, _X, _R, _F, TL_DOT, _Z) + + +#define CARTE_ISRT \ + carte_de_map(" yclmk zfu,'", \ + " isrtg pneao", \ + " qvwdj bh/.x") + +#define ___ISRT___ \ + LANG_MAP(_Y, _C, _L, _M, _K, _Z, _F, _U, TL_COMM, TL_QUOT, \ + _I, _S, _R, _T, _G, _P, _N, _E, _A, _O, \ + _Q, _V, _W, _D, _J, _B, _H, TL_SLSH, TL_DOT, _X) + +#define CARTE_SOUL \ + carte_de_map(" qwldp kmuy;", \ + " srtg fneio", \ + " zxcvj bh,./") + +#define ___SOUL___ \ + LANG_MAP(_Q, _W, _L, _D, _P, _K, _M, _U, _Y, TL_SCLN, \ + _A, _S, _R, _T, _G, _F, _N, _E, _I, _O, \ + _Z, _X, _C, _V, _J, _B, _H, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_NIRO \ + carte_de_map(" qwudp jfyl;", \ + " asetg hniro", \ + " zxcvb km,./") + +#define ___NIRO___ \ + LANG_MAP(_Q, _W, _U, _D, _P, _J, _F, _Y, _L, TL_SCLN, \ + _A, _S, _E, _T, _G, _H, _N, _I, _R, _O, \ + _Z, _X, _C, _V, _B, _K, _M, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_ASSET \ + carte_de_map(" qwjfg ypul;", \ + " asetd hnior", \ + " zxcvb km,./") + +#define ___Asset___ \ + LANG_MAP(_Q, _W, _J, _F, _G, _Y, _P, _U, _L, TL_SCLN, \ + _A, _S, _E, _T, _D, _H, _N, _I, _O, _R, \ + _Z, _X, _C, _V, _B, _K, _M, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_WHORF \ + carte_de_map("flhdm vwou,", \ + "srntk gyaei", \ + "xjbzq pc';. ") + +#define ___WHORF___ \ + LANG_MAP(_F, _L, _H, _D, _M, _V, _W, _O, _U, TL_COMM, \ + _S, _R, _N, _T, _K, _G, _Y, _A, _E, _I, \ + _X, _J, _B, _Z, _Q, _P, _C, TL_QUOT, TL_SCLN, TL_DOT ) + +#define CARTE_WHORF6 \ + carte_de_map("vlhkj gwou.", \ + "srntk ydeai", \ + "xqbfz pc',; ") + +#define ___WHORF6___ \ + LANG_MAP(_V, _L, _H, _D, _M, _G, _W, _O, _U, TL_DOT, \ + _S, _R, _N, _T, _K, _Y, _D, _E, _A, _I, \ + _X, _Q, _B, _F, _Z, _P, _C, TL_QUOT, TL_COMM, TL_SCLN ) + +/* rsht/iena */ +/* jfldv @uopq */ +/* zrshtg .iena: */ +/* xcmwk /y,b? */ + +// pine +/* y l r d w j m o u , */ +/* c s n t g p h a e i */ +/* x z q v k b f ' / . */ diff --git a/users/ericgebhart/base_layers/base_layers.h b/users/ericgebhart/base_layers/base_layers.h new file mode 100644 index 0000000000..ee784473fb --- /dev/null +++ b/users/ericgebhart/base_layers/base_layers.h @@ -0,0 +1,58 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +#include "keycodes.h" +#include "lang_map.h" +#include "oled_stuff.h" + + +// an empty template. + +/* #define CARTE_EMPTY \ */ +/* carte_de_map(" ", \ */ +/* " ", \ */ +/* " ") */ +/* */ +/* #define ___EMPTY___ \ */ +/* LANG_MAP(_, _, _, _, _, _, _, _, _, _, \ */ +/* _, _, _, _, _, _, _, _, _, _, \ */ +/* _, _, _, _, _, _, _, _, _, _) */ + + +// dvorak, capewell-dvorak, ahei, and boo. +#include "dvorak.h" +//qwerty, workman, norman, +#include "qwerty.h" +// Colemak, halmak, minimak, etc. +#include "maks.h" +// eucalyn, maltron +#include "alt.h" +// mtgap, ctgap, apt +#include "gap.h" +// some hands down. +#include "hands_down.h" +// some beakls. +#include "beakl.h" +// bepo, optimot, beakl19bis, godox-fr?. +#include "bepo.h" +// some carpalxs. +#include "carpalx.h" +// The symbol, number function rows for all the above. +#include "toprows.h" +// some layers with accents and dead keys. +#include "accents.h" diff --git a/users/ericgebhart/base_layers/beakl.h b/users/ericgebhart/base_layers/beakl.h new file mode 100644 index 0000000000..58b5fa4371 --- /dev/null +++ b/users/ericgebhart/base_layers/beakl.h @@ -0,0 +1,158 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ +// beakl, balanced effort key layout. +// Beakl 15 and 19 are somewhat more related. +// Beakl-wi is the latest. It feels a little bit more like a system. + + +// Remember the - and ; outside pinky keys. +// Or use the 6 size. +// Both are on the symbol layer too. So you +// wont lose them at least. +// KC_BK_COMM, KC_BK_QUOT, KC_BK_DOT - Beakl->Qwerty +// BP_BK_COMM, BP_BK_QUOT, BP_BK_DOT - Beakl->Bepo +// take care of the different shifted chars. + + +/* BEAKL 27 (main layer): */ +/* // altered shifted pairs: dot = .` comma = ,? dquot = !" */ +/* Alt target is BK2 */ + +/* 32104 76598 */ +/* qhoux gcmrv */ +/* yiea. dstnb */ +/* j",k' wflpz */ + +/* BEAKL 27 (shift layer): */ +/* !@$#% ^(*)& */ +/* QHOUX GCMRV */ +/* YIEA` DSTNB */ +/* J!?K' WFLPZ */ + + +#define CARTE_BEAKL27 \ + carte_de_map(" qhoux gcmrz ", \ + " yiea. dstnb ", \ + " j\",k' wflpv ") + +// Alt target is BK +#define ___BEAKL27___ \ + LANG_MAP(_Q, _H, _O, _U, _X, _G, _C, _M, _R, _Z, \ + _Y, _I, _E, _A, TL_DOT, _D, _S, _T, _N, _B, \ + _J, TL_EXLM, TL_COMM, _K, TL_QUOT, _W, _F, _L, _P, _V) + +/* BEAKL 15 (main layer): */ +// altered shifted pairs: quot = '` comma = ,! dot = .@ +/* 40123 76598 */ +#define CARTE_BEAKL15 \ + carte_de_map(" qhoux gcrfz ", \ + " yiea. dstnb ", \ + " j/,k' wmlpv ") + +// Alt target is BK +#define ___BEAKL15___ \ + LANG_MAP(_Q, _H, _O, _U, _X, _G, _C, _R, _F, _Z, \ + _Y, _I, _E, _A, TL_DOT, _D, _S, _T, _N, _B, \ + _J, _SLSH, TL_COMM, _K, TL_QUOT, _W, _M, _L, _P, _V) + +/* BEAKL 19 */ +// Beakl 19. scores better than 15, better in french also. +// Both are lots better than dvorak or bepo. + +/* same symbols and keypad as 15 */ +/* number row is different */ +/* 32104 76598 */ + +// Alt target is BK +#define CARTE_BEAKL19 \ + carte_de_map(" q.ouj wdnm, ", \ + " haeik gsrtp ", \ + " z'/yx bclfv ") + +#define ___BEAKL19___ \ + LANG_MAP(_Q, _DOT, _O, _U, _J, _W, _D, _N, _M, TL_COMM, \ + _H, _A, _E, _I, _K, _G, _S, _R, _T, _P, \ + _Z, _QUOT, _SLSH, _Y, _X, _B, _C, _L, _F, _V) + +//BEAKL 19bis - original. +// the é and è were simply added for analysis not real use. +// even so, this layout scores well for french, better than +// bepo and mtgap +/* qyouz wdnck */ +/* -hiea, gtrsp; */ +/* èj'é.x vmlfb */ + +// A 3x12 +//BEAKL 19bis mod z. +// French optimised with some english. +// This version rearranges things a little based on fequency. +// Since it needs 3x12, I filled in the corners and removed ;. +// Leaving y where it is. the o and the e might cause sfbs. +// Put é on a different finger from e. +// swap z, e's, add à, ^, and ê, swap ; for -. +// it might be beneficial to swap w and à, as à is much more frequent than w +#define CARTE_BEAKL19bis \ + carte_de_map(" àqyoué wdnck^ ", \ + " ;hiea, gtrsp- ", \ + " zj'è.x vmlfbê ") + +#define ___BEAKL19bis_3x12___ \ + LANG_MAP6( \ + _AGRV, _Q, _Y, _O, _U, _EACU, _W, _D, _N, _C, _K, _DCIR, \ + _SCLN, _H, _I, _E, _A, _COMM, _G, _T, _R, _S, _P, _MINS, \ + _Z, _J, _QUOT, _EGRV, _DOT, _X, _V, _M, _L, _F, _B, _ECIR) + + +// Beakl Wi. This is the most current beakl this size. 18/01/2022. +// Nothing on the 6th outer columns but layer toggle buttons. All 6. +// altered shifted pairs: dot = .` comma = ,~ colon = :; +// i is on the left thumb. +/* ;you- ctrsv */ +/* qheaw gdnmz */ +/* j,.k' bplfx */ +/* i */ + +#define CARTE_BEAKLWI \ + carte_de_map(" ;you- ctrsv ", \ + " qheaw gdnmz ", \ + " j,.k' bplfx i") + +#define ___BEAKLWI___ \ + LANG_MAP(TL_COLN, _Y, _O, _U, _MINS, _C, _T, _R, _S, _V, \ + _Q, _H, _E, _A, _W, _G, _D, _N, _M, _Z, \ + _J, TL_COMM, TL_DOT, _K, _QUOT, _B, _P, _L, _F, _X) + +// Thumbs. +#define ___BEAKLWI_CRKBD_THUMBS___ LT_ESC, LT_I, LT_TAB, LT_ENT, LT_SPC, LT_BSPC + +// My version, loses KC_mins, because it's easier on my symbol layer. +// put I in it's dvorak spot instead of thumbs, move W up to make room for I. +// I'd rather have w and i on different fingers. One domino... + +// beakl-wi - mod iw- + +#define CARTE_BEAKLWIa \ + carte_de_map(" ;youw ctrsv ", \ + " qheai gdnmz ", \ + " j,.k' bplfx ") + +// Alt target is BKW +#define ___BEAKLWIa___ \ + LANG_MAP(TL_COLN, _Y, _O, _U, _W, _C, _T, _R, _S, _V, \ + _Q, _H, _E, _A, _I, _G, _D, _N, _M, _Z, \ + _J, TL_COMM, TL_DOT, _K, _QUOT, _B, _P, _L, _F, _X) diff --git a/users/ericgebhart/base_layers/bepo.h b/users/ericgebhart/base_layers/bepo.h new file mode 100644 index 0000000000..64f56ec9ab --- /dev/null +++ b/users/ericgebhart/base_layers/bepo.h @@ -0,0 +1,114 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ +// Maps based on BEPO Mostly 3x12 + +// BEAKL 19bis - English with French optimisations. +// Least used letters in french xzykw QJÀ are fairly high. +// XZ are good choices for pushing out, from english and french, +// or using chords in both languages. + +// Note: The percentages came from different sources so do not +// match between languages. +// French +/* Q 0.89 % */ +/* J 0.71 % */ +/* À 0.54 % */ +/*-------------*/ +/* X 0.42 % */ +/* È 0.35 % */ +/* Ê 0.24 % */ +/* Z 0.21 % */ +/* Y 0.19 % */ +/* K 0.16 % */ +/* Ô 0.07 % */ +/* Û 0.05 % */ +/* W 0.04 % */ + +/* Least used letters in english. */ +/* X 0.2902% 1.48 */ +/* Z 0.2722% 1.39 */ +/* J 0.1965% 1.00 */ +/* Q 0.1962% (1) */ + + +// OPtimot by @Pyjam. +/* àjoéb fdl’qxz */ +/* aieu, ptsrn^ç */ +/* êkyè.w gcmhvz */ + +// -- rearranged z, and ç to get 3x12 +#define CARTE_OPTIMOT \ + carte_de_map(" çàjoéb fdl’qx ", \ + " aieu, ptsrn^ ", \ + " êkyè.w gcmhvz ") + +#define ___OPTIMOT_3x12___ \ + LANG_MAP6( \ + _CCED, _AGRV, _J, _O, _EACU, _B, _F, _D, _L, _QUOT, _Q, _X, \ + _TAB, _A, _I, _E, _U, _COMM, _P, _T, _S, _R, _N, _DCIR, \ + _ECIR, _K, _Y, _EGRV, _DOT, _W, _G, _C, _M, _H, _V, _Z) + +// no z or x. combos exist for them. +#define CARTE_OPTIMOT_COMPACT \ + carte_de_map(" àjoéb fdl’q ", \ + " aieu, ptsrn ", \ + " kyè.w gcmhv ") + +#define ___OPTIMOT_3x10___ \ + LANG_MAP6( \ + _AGRV, _J, _O, _EACU, _B, _F, _D, _L, _QUOT, _Q, \ + _A, _I, _E, _U, _COMM, _P, _T, _S, _R, _N, \ + _K, _Y, _EGRV, _DOT, _W, _G, _C, _M, _H, _V,) + +// Maybe Use this for C +//BP_C_CCED = MT(BP_CCED, BP_C) + +// BEPO + +// No quot, à or ç +/* bépoè vdljz */ +/* auie, ctsrn */ +/* myx.k qghfw */ +#define CARTE_BEPOc \ + carte_de_map(" bépoè vdljz", \ + " auie, ctsrn", \ + " myx.k qghfw") + +#define ___BEPOc_3x10___ \ + LANG_MAP( \ + _B, _EACU, _P, _O, _EGRV, _V, _D, _L, _J, _Z, \ + _A, _U, _I, _E, _COMM, _C, _T, _S, _R, _N, \ + _M, _Y, _X, _DOT, _K, _Q, _G, _H, _F, _W) + + +#define CARTE_BEPO \ + carte_de_map(" çbépoè ^vdljz ", \ + " auie, ctsrnm ", \ + " êàyx.k ’qghfw ") + +#define ___BEPO_3x12___ \ + LANG_MAP6(_CCED, _B, _EACU, _P, _O, _EGRV, _DCIR, _V, _D, _L, _J, _Z, \ + _TAB, _A, _U, _I, _E, _COMM, _C, _T, _S, _R, _N, _M, \ + _ECIR, _AGRV, _Y, _X, _DOT, _K, _QUOT, _Q, _G, _H, _F, _W) + +// dont like this one much. +/* #define ___GODOX_3x12___ \ */ +/* LANG_MAP6(___, _AGRV, _B, _EACU, _dot, _mins, _DCIR, _V, _L, _M, _X, _CCED, \ */ +/* ___, _O, _U, _I, _A, _J, _G, _T, _S, _N, _R, _F, \ */ +/* ___, _Q, _Y, _EGRV, _P, _K, _W, _D, _UP, _H, _C, _Z) */ +/* // E goes on left thumb. */ diff --git a/users/ericgebhart/base_layers/carpalx.h b/users/ericgebhart/base_layers/carpalx.h new file mode 100644 index 0000000000..ae2ed708a5 --- /dev/null +++ b/users/ericgebhart/base_layers/carpalx.h @@ -0,0 +1,46 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ +#define CARTE_CARPALX_QFMLWY \ + carte_de_map(" qfmlw yuobj", \ + " dstnr iaeh;", \ + " zvgcx pk,./") + +#define ___CARPALX_QFMLWY___ \ + LANG_MAP(_Q, _F, _M, _L, _W, _Y, _U, _O, _B, _J, \ + _D, _S, _T, _N, _R, _I, _A, _E, _H, TL_SCLN, \ + _Z, _V, _G, _C, _X, _P, _K, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_CARPALX_QFMLWB \ + carte_de_map(" qgmlw byuv;", \ + " dstnr iaeoh", \ + " zxcfj kp,./") + +#define ___CARPALX_QGMLWB___ \ + LANG_MAP(_Q, _G, _M, _L, _W, _B, _Y, _U, _V, TL_SCLN, \ + _D, _S, _T, _N, _R, _I, _A, _E, _O, _H, \ + _Z, _X, _C, _F, _J, _K, _P, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_CARPALX_QGMLWY \ + carte_de_map(" qgmlw yfub;", \ + " dstnr iaeoh", \ + " zxcvj kp,./") + +#define ___CARPALX_QGMLWY___ \ + LANG_MAP(_Q, _G, _M, _L, _W, _Y, _F, _U, _B, TL_SCLN, \ + _D, _S, _T, _N, _R, _I, _A, _E, _O, _H, \ + _Z, _X, _C, _V, _J, _K, _P, TL_COMM, TL_DOT, TL_SLSH) diff --git a/users/ericgebhart/base_layers/dvorak.h b/users/ericgebhart/base_layers/dvorak.h new file mode 100644 index 0000000000..8deee2005c --- /dev/null +++ b/users/ericgebhart/base_layers/dvorak.h @@ -0,0 +1,73 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +#define CARTE_DVORAK \ + carte_de_map(" ',.py fgcrl ", \ + " aoeui dhtns ", \ + " ;qjkx bmwvz ") + +#define ___DVORAK___ \ + LANG_MAP(TL_QUOT, TL_COMM, TL_DOT, _P, _Y, _F, _G, _C, _R, _L, \ + _A, _O, _E, _U, _I, _D, _H, _T, _N, _S, \ + TL_SCLN, _Q, _J, _K, _X, _B, _M, _W, _V, _Z) + +#define CARTE_DVORAK_RLC_IU \ + carte_de_map(" ',.py fgrlc ", \ + " aoeiu dhtns ", \ + " ;qjkx bmwvz ") + +#define ___DVORAK_RLC_IU___ \ + LANG_MAP(TL_QUOT, TL_COMM, TL_DOT, _P, _Y, _F, _G, _R, _L, _C, \ + _A, _O, _E, _I, _U, _D, _H, _T, _N, _S, \ + TL_SCLN, _Q, _J, _K, _X, _B, _M, _W, _V, _Z) + +#define CARTE_BOO \ + carte_de_map(" ,.ucv qfdly", \ + " aoesg bntri", \ + " ;x'wz phmkj") + +#define ___BOO___ \ + LANG_MAP( TL_COMM, TL_DOT, _U, _C, _V, _Q, _F, _D, _L, _Y, \ + _A, _O, _E, _S, _G, _B, _N, _T, _R, _I, \ + TL_SCLN, _X, TL_QUOT, _W, _Z, _P, _H, _M, _K, _J) + +#define CARTE_CAPEWELL_DVORAK \ + carte_de_map( " ',.py qfgrk", \ + " oaeiu dhtns", \ + " zxcvj lmwb;") + +#define ___CAPEWELL_DVORAK___ \ + LANG_MAP(TL_QUOT, TL_COMM, TL_DOT, _P, _Y, _Q, _F, _G, _R, _K, \ + _O, _A, _E, _I, _U, _D, _H, _T, _N, _S, \ + _Z, _X, _C, _V, _J, _L, _M, _W, _B, TL_SCLN) + +//ahei - derived from dvorak. +// x moved to left side. j on pinky. +/*;pouyq gdlm/= */ +/* ahei, fstnr- */ +/* j'k.x bcwvz */ + +#define CARTE_AHEI \ + carte_de_map("pouyq gdlm/", \ + "ahei, fstnr", \ + "j'k.x bcwvz") + +#define ___AHEI___ \ +LANG_MAP(_P, _O, _U, _Y, _Q, _G, _D, _L, _M, TL_SLSH, \ + _A, _H, _E, _I, TL_COMM, _F, _S, _T, _N, _R, \ + _J, TL_QUOT, _K, TL_DOT, _X, _B, _C, _W, _V, _Z) diff --git a/users/ericgebhart/base_layers/gap.h b/users/ericgebhart/base_layers/gap.h new file mode 100644 index 0000000000..76310bc6f9 --- /dev/null +++ b/users/ericgebhart/base_layers/gap.h @@ -0,0 +1,67 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +// an alternate I found. +/* Reference: MTGAP */ +/* y p o u - | b d l c k j */ +/* i n e a , | m h t s r v */ +/* ( " ' . _ | ) f w g x */ +/* z */ + +#define CARTE_MTGAP \ + carte_de_map(" ypouj kdlcw", \ + " inea, mhtsr", \ + " qz/.; bfgvx") + +#define ___MTGAP___ \ + LANG_MAP(_Y, _P, _O, _U, _J, _K, _D, _L, _C, _W, \ + _I, _N, _E, _A, TL_COMM, _M, _H, _T, _S, _R, \ + _Q, _Z, TL_SLSH, TL_DOT, TL_SCLN, _B, _F, _G, _V, _X) + +/* //APT v3*/ +/* https://github.com/Apsu/APT */ +#define CARTE_APT \ + carte_de_map(" wgdfb qluoy", \ + " rsthk jneai; ", \ + " xcmpv z,.'/") + +#define ___APT___ \ + LANG_MAP(_W, _G, _D, _F, _B, _Q, _L, _U, _O, _Y, \ + _R, _S, _T, _H, _K, _J, _N, _E, _A, _I, TL_SCLN, \ + _X, _C, _M, _P, _V, _Z, TL_COMM, TL_DOT, TL_QUOT, TL_SLSH) + + +#define CARTE_CTGAP \ + carte_de_map(" vplcf kuoyj", \ + " rntsd 'aeih", \ + " zbmgw x,.;q") + +#define ___CTGAP___ \ + LANG_MAP(_V, _P, _L, _C, _F, _K, _U, _O, _Y, _J, \ + _R, _N, _T, _S, _D, TL_QUOT, _A, _E, _I, _H, \ + _Z, _B, _M, _G, _W, _X, TL_COMM, TL_DOT, TL_SCLN, _Q) + +#define CARTE_CANARY \ + carte_de_map( " wlypb zfou'", \ + " crstg mneia", \ + " qjvd kxh/,.") + +#define ___CANARY___ \ + LANG_MAP(_W, _L, _Y, _P, _B, _Z, _F, _O, _U, TL_QUOT, \ + _C, _R, _S, _T, _G, _M, _N, _E, _I, _A, \ + _Q, _J, _V, _D, _K, _X, _H, TL_SLSH, TL_COMM, TL_DOT) diff --git a/users/ericgebhart/base_layers/hands_down.h b/users/ericgebhart/base_layers/hands_down.h new file mode 100644 index 0000000000..0841a358d2 --- /dev/null +++ b/users/ericgebhart/base_layers/hands_down.h @@ -0,0 +1,147 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +// https://sites.google.com/alanreiser.com/handsdown/home + +// The only 3x12 layout. The rest are 3x10. +#define CARTE_HD_NEU \ + carte_de_map( " wfmpv /.q\"'z", \ + " rsntb ,aeihj", \ + " xcldg -uoykK") + +#define ___HD_NEU___ \ + LANG_MAP(_SML_NAV, _W, _F, _M, _P, _V , TL_SLSH, TL_DOT, _Q, TL_DQUO, TL_QUOT, _Z, \ + _TAB, _R, _S, _N, _T, _B , TL_COMM, _A, _E, _I, _H, _J, \ + _OS_ACCENT, _X, _C, _L, _D, _G , TL_MINS, _U, _O, _Y, _K, _SML_KEYPAD) + + +// modified to fit 3x10. +#define CARTE_HD_NEU_NARROW \ + carte_de_map(" xcldb zuoyq", \ + " rsntg ,aeih", \ + " wfmpv ;./jk") + +#define ___HD_NEU_NARROW___ \ + LANG_MAP(_X, _C, _L, _D, _B, _Z, _U, _O, _Y, _Q, \ + _R, _S, _N, _T, _G, TL_COMM, _A, _E, _I, _H, \ + _W, _F, _M, _P, _V, _SCLN, TL_DOT, TL_SLSH, _J, _K) + + +#define CARTE_HD_REF \ + carte_de_map(" qchpv kyoj/", \ + " rsntg wueia", \ + " xmldb zf',.") + +#define ___HD_REF___ \ + LANG_MAP(_Q, _C, _H, _P, _V, _K, _Y, _O, _J, TL_SLSH, \ + _R, _S, _N, _T, _G, _W, _U, _E, _I, _A, \ + _X, _M, _L, _D, _B, _Z, _F, TL_QUOT, TL_COMM, TL_DOT ) + + +// All of these have a consonant or vowel on the thumb keys. + +/* alt shift keys "? '! dash and elan */ +/* (< {[ - elan */ +/* dash has thumbs of ,; and .: */ +/* dash and the rest get these too. */ +/* alt shifts ;: .& /\* '? "! ,| -+ */ +/* COMBOS - z = jg, z=vg, q=uk, q=mp. */ + + +// no z or q, use combos. +#define CARTE_HD_TITANIUM \ + carte_de_map(" jgmpv ;./\"' ", \ + " csntw ,aeih ", \ + " xfldb -uoyk r") + +#define ___HD_TITANIUM___ \ + LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_DQUO, TL_QUOT, \ + _C, _S, _N, _T, _W , TL_COMM, _A, _E, _I, _H, \ + _X, _F, _L, _D, _B , TL_MINS, _U, _O, _Y, _K) + + +#define CARTE_HD_GOLD \ + carte_de_map(" jgmpv ;./\"' ", \ + " rsndb ,aeih ", \ + " xflcw -uoyk t") + +#define ___HD_GOLD___ \ + LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_DQUO, TL_QUOT, \ + _R, _S, _N, _D, _B , TL_COMM, _A, _E, _I, _H, \ + _X, _F, _L, _C, _W , TL_MINS, _U, _O, _Y, _K) +/* t, ␣ */ + +/* jz pq alt shifts ;: .& /\* '? "! ,| -+ */ + +#define CARTE_HD_PLATINUM \ + carte_de_map( "jghpv ;./'\"", \ + "rsntb ,aeic", \ + "xfmdk -uowy l") +/* l ␣ */ + +#define ___HD_PLATINUM___ \ + LANG_MAP(_J, _G, _H, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_QUOT, TL_DQUO, \ + _R, _S, _N, _T, _B, TL_COMM, _A, _E, _I, _C, \ + _X, _F, _M, _D, _K, TL_MINS, _U, _O, _W, _Y) + +#define CARTE_HD_SILVER \ + carte_de_map("jgmpv ;./'\"", \ + "rshtb ,aeic", \ + "xfldk -uowy n") +/* n ␣ */ + +#define ___HD_SILVER___ \ + LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_QUOT, TL_DQUO, \ + _R, _S, _H, _T, _B, TL_COMM, _A, _E, _I, _C, \ + _X, _F, _L, _D, _K, TL_MINS, _U, _O, _W, _Y) + +#define CARTE_HD_BRONZE \ + carte_de_map("jgmpv ;./'\"", \ + "rsntb ,aeic", \ + "xfldk -uowy h") +/* h ␣ */ + +#define ___HD_BRONZE___ \ + LANG_MAP(_J, _G , _M, _P, _V , TL_SCLN, TL_DOT, TL_SLSH , TL_QUOT, TL_DQUO, \ + _R, _S, _N, _T, _B , TL_COMM, _A, _E, _I, _C, \ + _X, _F, _L, _D, _K , TL_MINS, _U, _O, _W, _Y) + +#define CARTE_HD_ELAN \ + carte_de_map("vghpk /({'\"", \ + "rsntf jaeci", \ + "xmldb -uowy") +/* ,; .: ␣ ⏎ */ + +/* vz g h p kq /\* (< {[ '! "? */ +/* TL_COMM; TL_DOT: _␣ ⏎ */ +#define ___HD_ELAN___ \ + LANG_MAP(_V, _G, _H, _P, _K, TL_SLSH, TL_LPRN, TL_LCBR, TL_QUOT, TL_DQUO, \ + _R, _S, _N, _T, _F, _J, _A, _E, _C, _I, \ + _X, _M, _L, _D, _B, TL_MINS, _U, _O, _W, _Y) + + +#define CARTE_HD_DASH \ + carte_de_map("jgmpv ;.'\"/", \ + "rsntb ,haoi", \ + "xcldw -fuky e") + /* e ␣ */ + +#define ___HD_DASH___ \ + LANG_MAP(_J, _G, _M, _P, _V , TL_SCLN, TL_DOT, TL_QUOT, TL_DQUO, TL_SLSH, \ + _R, _S, _N, _T, _B , TL_COMM, _H, _A, _O, _I, \ + _X, _C, _L, _D, _W , TL_MINS, _F, _U, _K, _Y) diff --git a/users/ericgebhart/base_layers/keymaps.txt b/users/ericgebhart/base_layers/keymaps.txt new file mode 100644 index 0000000000..56dc7d79e3 --- /dev/null +++ b/users/ericgebhart/base_layers/keymaps.txt @@ -0,0 +1,300 @@ +/* +This file can be commented by blocks or single lines using // +Blank lines are ignored +*/ +/* +Bigram frequencies in stats.csv +*/ + +[keys] +L21 L22 L23 L24 L25 L26 R26 R25 R24 R23 R22 R21 +L31 L32 L33 L34 L35 L36 R36 R35 R34 R33 R32 R31 +L41 L42 L43 L44 L45 L46 R46 R45 R44 R43 R42 R41 + +[weights] +5.0 3.6 2.4 1.8 2.2 3.5 3.5 2.2 1.8 2.4 3.6 5.0 +4.0 1.6 1.2 1.0 1.0 3.0 3.0 1.0 1.0 1.2 1.6 4.0 +5.0 3.4 2.6 2.2 1.8 4.0 4.0 1.8 2.2 2.6 3.4 5.0 + +/* +Weights should: +- limit weak fingers +- limit bottom row +- increase home row +- limit finger travel distance + +https://colemakmods.github.io/mod-dh/compare.html +*/ + +[penalties] + ,same_row,row_jump1,row_jump2 +ii, 2.5, 3.5, 4.5 // same finger +im, 0.5, 1.0, 2.0 +ir, 0.5, 0.8, 1.5 +ip, 0.5, 0.8, 1.1 +mi, -1.5, -0.5, 1.5 // inward roll +mm, 2.5, 3.5, 4.5 // same finger +mr, 0.5, 1.0, 2.0 +mp, 0.5, 0.8, 1.5 +ri, -1.5, -0.5, 1.5 // inward roll +rm, -2.0, -0.5, 1.2 // inward roll +rr, 2.5, 3.5, 4.5 // same finger +rp, 1.0, 1.5, 2.5 +pi, -1.0, 0.0, 1.0 // inward roll +pm, -1.0, 0.0, 1.5 // inward roll +pr, -1.0, 0.0, 1.5 // inward roll +pp, 3.0, 4.0, 5.5 // same finger + +/* +Only apply if not the same letter, and both letters on the same hand. + +i, m, r, and p refer to the fingers (index, middle, ring, pinky) +The columns refer to how many rows separate the two keys + +Penalties should: +- limit same finger typing (except same key twice) +- balance hands +- favor inward rolling +(last 2 in opposition with each other) +*/ + +[layouts] + +>>Qwerty +# q w e r t y i o u p # +é a s d f g h j k l ; ' +è z x c v b n m , . / - + +>>Azerty +è a z e r t y u i o p ^ +' q s d f g h j k l m ù +é w x c v b n , . : ! - + +>>Qwertz +# q w e r t z u i o p ü +é a s d f g h j k l ö ä +è y x c v b n m , . - ' + +>>Bépo 40% +# b é p o è ^ v d l j z +- a u i e , c t s r n m +ç à y x . k ' q g h f w + +// https://github.com/TeXitoi/keyberon#whats-the-layout +>>Bépo keyberon +# b é p o è ^ v d l j z +w a u i e , c t s r n m +- à y x . k ' q g h f ç + +>>Dvorak +- ' , . p y f g c r l # +é a o e u i d h t n s # +è ; q j k x b m w v z # + +>>Colemak +# q w f p g j l u y ; # +é a r s t d h n e i o ' +è z x c v b k m , . / - + +>>Colemak DH +# q w f p b j l u y ; # +é a r s t g m n e i o ' +è z x c d v k h , . / - + +>>Colemak DH mod +# q w f p b j l u y é è +# a r s t g m n e i o - +# z x c d v k h , . ' / + +>>Workman +# q d r w b j f u p ; # +é a s h t g y n e o i ' +è z x m c v k l , . / - + +>>Norman +# q w d f k j u r l ; # +é a s e t g y n i o h ' +è z x c v b p m , . / - + +>>Carpalx +# q g m l w b y u v ; é +è d s t n r i a e o h ' +# z x c f j k p , . / - + +>>Neo +- x v l c w k h g f q ß +é u i a e o s n r t d y +è ü ö ä p z b m , . j ' + +// http://mkweb.bcgsc.ca/carpalx/?full_optimization +>>qgmlwyfub +# q g m l w y f u b ; é +è d s t n r i a e o h ' +# z x c v j k p , . / - + +// https://mathematicalmulticore.wordpress.com/the-keyboard-layout-project/ +>>MTGAP +# y p o u j k d l c w # +é i n e a , m h t s r ' +è q z / . : b f g v x - + +// http://mtgap.bilfo.com/official_keyboard.html +// http://mtgap.bilfo.com/completed_keyboard.html +>>MTGAP 2.0 +# , f h d k j c u l . # +é o a n t g m s e r i - +è q x b p z y w ' v ; # + +>>MTGAP "Easy" +# q w l d b j f u k p # +é a s r t g h n e o i - +è z x c v ; y m , . / ' + +>>MTGAP "shortcuts" +# k g l d b j h u f . # +é r o t s w m n e a i - +è z x v c q y p , ' ; # + +>>MTGAP "standard" +# k l h c b j d u f . # +é o r n s g w t e a i - +è x q v m z y p , ' ; # + +>>MTGAP "ergonomic" +# . f u d j q h c w k # +é i a e t p l n s r o - +è ' , y g z - m b v x # + +// https://geekhack.org/index.php?topic=67604.0 +>>Oneproduct +# p l d w g j x o y q è +- n r s t m u a e i h ' +# z c f v b , . ? ; k é + +// https://bepo.fr/wiki/Utilisateur:Bibidibop +>>Coeur +# é w o p y b ' d l j z +x a u e i , c t s r n h +# - à è . k g m f q v # + +// https://geekhack.org/index.php?topic=98275.0 +>>Kaehi +# q w l d g j u o p / é +è n r s t m k a e h i ' +# z x c v b y f , . ; - + +// https://deskthority.net/wiki/BEAKL +>>BEAKL 15 +é q h o u x g c r f z # +- y i e a . d s t n b ; +è j / , k ' w m l p v # + +// https://web.archive.org/web/20190906220509/http://shenafu.com/smf/index.php?topic=89.msg2566#msg2566 +>>BEAKL 19 +é q . o u j w d n m , # +- h a e i k g s r t p ; +è z ' / y x b c l f v # + +// https://www.reddit.com/r/ErgoDoxEZ/comments/gsvpug/layout_of_the_month_beakl_15/ftcan68/?context=3 +>>BEAKL 19bis +# q y o u z w d n c k # +- h i e a , g t r s p ; +è j ' é . x v m l f b # + +// https://www.reddit.com/r/ErgoMechKeyboards/comments/j1eopm/hands_down_layout_is_ready_for_daily_use/g7bjmr7/?context=3 +>>BEAKL 19 Opt French +# w m r d v y u o q x # +# g s n t p , i e a h - +# k f l c b j é ' . z è + +// http://millikeys.sourceforge.net/asset/ +>>ASSET +# q w j f g y p u l ; # +é a s e t d h n i o r ' +è z x c v b k m , . / - + +// https://sourceforge.net/projects/qwpr/ +>>Qwpr +# q w p r f y u k l ; # +é a s d t g h n i o e ' +è z x c v b j m , . / - + +// http://www.minimak.org/ +>>Minimak-8key +# q w d r k y u i l p # +é a s t f g h n e o ; ' +è z x c v b j m , . / - + +// https://github.com/mw8/white_keyboard_layout +// adapted to ergo keyboard +>>White +# v y d , ' j m l u ( ) +é a t h e b c s n o i - +è p k g w q x r f . z # + +// https://github.com/jackrosenthal/threelayout +>>Three +# q f u y z x k c w b # +é o h e a i d r t n s - +è , m . j ; g l p v ' # + +//https://sites.google.com/alanreiser.com/handsdown +>>Hands down +# q c h g j y f o b ' # +é s n r t p w u e i a # +è x m l d z v k . , ; - + +//https://sites.google.com/alanreiser.com/handsdown +>>Notarize +# q w d f p y u k l ' # +é a s t e g h n i o r # +è z x c v b j m . , ; - + +// http://kennetchaz.github.io/symmetric-typing/soul.html +>>Soul mod +# q w l d p k m u y ; ' +è a s r t g f n e i o é +# j z x c v b h , . / - + +// http://kennetchaz.github.io/symmetric-typing/niro.html +>>Niro mod +# q w u d p j f y l ; # +é a s e t g h n i r o ' +è b z x c v k m , . / - + +// https://docs.google.com/document/d/1yiCnIi1oagV1D8ZouMt-TRFRG8d6AfSBIwQkBvSflvY/edit +>>The-1 +# k m l u ? v d r ' q # +é a t h e . c s n o i - +è z p f j , b g w x y / + +// https://engram.dev +>>Engram 2.0 +# b y o u ' " l d w v z +é c i e a , . h t s n q +è g x j k - ? r m f p # + +// https://github.com/MadRabbit/halmak +>>Halmak +# w l r b z ; q u d j # +é s h n t , . a e o i ' +è f m v c / g p x k y - + +// https://keyboard-design.com/letterlayout.html?layout=optimal-digram.en.ansi +>>Optimal digram +# q y u . , f m l d p z +é s i e a o h n r t c g +è j ) ' ? ( x v w k b - + +// https://keyboard-design.com/letterlayout.html?layout=uciea-keyboard.en.ansi +>>Uciea +# p y u o - k d h f x q +é c i e a ' g t n s r v +è z " , . ; w m l b j - + +// https://keyboard-design.com/letterlayout.html?layout=x1.en.ergodox +// . and , moved +>>x1 +# k y o ' ! f c l p q z +é h i e a u d s t n r v +è j ? . , # w g m b x - diff --git a/users/ericgebhart/base_layers/maks.h b/users/ericgebhart/base_layers/maks.h new file mode 100644 index 0000000000..6f78819421 --- /dev/null +++ b/users/ericgebhart/base_layers/maks.h @@ -0,0 +1,61 @@ +#define CARTE_COLEMAK \ + carte_de_map(" qwfpg jluy;", \ + " arstd hneio", \ + " zxcvb km,./") + +#define ___COLEMAK___ \ + LANG_MAP(_Q, _W, _F, _P, _G, _J, _L, _U, _Y, TL_SCLN, \ + _A, _R, _S, _T, _D, _H, _N, _E, _I, _O, \ + _Z, _X, _C, _V, _B, _K, _M, TL_COMM, TL_DOT, TL_SLSH) + + +#define CARTE_COLEMAK_DH \ + carte_de_map(" qwfpb jluy;", \ + " arstg mneio", \ + " zxcdv kh,./") + +#define ___COLEMAK_DH___ \ + LANG_MAP(_Q, _W, _F, _P, _B, _J, _L, _U, _Y, TL_SCLN, \ + _A, _R, _S, _T, _G, _M, _N, _E, _I, _O, \ + _Z, _X, _C, _D, _V, _K, _H, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_HALMAK \ + carte_de_map(" wlrbz ;qudj", \ + " shnt, .aeoi", \ + " fmvc/ gpxky") + +#define ___HALMAK___ \ + LANG_MAP(_W, _L, _R, _B, _Z, TL_SCLN, _Q, _U, _D, _J, \ + _S, _H, _N, _T, TL_COMM, _DOT, _A, _E, _O, _I, \ + _F, _M, _V, _C, TL_SLSH, _G, _P, _X, _K, _Y) + +#define CARTE_MINIMAK \ + carte_de_map(" qwdrk yuiop", \ + " astfg hjel;", \ + " zxcvb nm,./") + +#define ___MINIMAK___ \ + LANG_MAP(_Q, _W, _D, _R, _K, _Y, _U, _I, _O, _P, \ + _A, _S, _T, _F, _G, _H, _J, _E, _L, TL_SCLN, \ + _Z, _X, _C, _V, _B, _N, _M, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_MINIMAK_8 \ + carte_de_map(" qwdrk yuilp", \ + " astfg hneo;", \ + " zxcvb jm,./") + +#define ___MINIMAK_8___ \ + LANG_MAP(_Q, _W, _D, _R, _K, _Y, _U, _I, _L, _P, \ + _A, _S, _T, _F, _G, _H, _N, _E, _O, TL_SCLN, \ + _Z, _X, _C, _V, _B, _J, _M, TL_COMM, TL_DOT, TL_SLSH) + + +#define CARTE_MINIMAK_12 \ + carte_de_map(" qwdfk yuil;", \ + " astrg hneop", \ + " zxcvb jm,./") + +#define ___MINIMAK_12___ \ + LANG_MAP(_Q, _W, _D, _F, _K, _Y, _U, _I, _L, _SCLN, \ + _A, _S, _T, _R, _G, _H, _N, _E, _O, _P, \ + _Z, _X, _C, _V, _B, _J, _M, TL_COMM, TL_DOT, TL_SLSH) diff --git a/users/ericgebhart/base_layers/qwerty.h b/users/ericgebhart/base_layers/qwerty.h new file mode 100644 index 0000000000..47aead197c --- /dev/null +++ b/users/ericgebhart/base_layers/qwerty.h @@ -0,0 +1,69 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ + +// Layer for combo reference. Make more than one by changing lang is. +#define ___COMBO_REF___ \ + LANG_MAP(_1L1, _1L2, _1L3, _1L4, _1L5, _1R1, _1R2, _1R3, _1R4, _1R5, \ + _2L1, _2L2, _2L3, _2L4, _2L5, _2R1, _2R2, _2R3, _2R4, _2R5, \ + _3L1, _3L2, _3L3, _3L4, _3L5, _3R1, _3R2, _3R3, _3R4, _3R5) + + +#define CARTE_QWERTY \ + carte_de_map(" qwert yuiop", \ + " asdfg hjkl;", \ + " zxcvb nm,./") + +// Need TLKC around comm, dot, and quot, and scln +// Qwerty based layers that I don't really use. +#define ___QWERTY___ \ + LANG_MAP(_Q, _W, _E, _R, _T, _Y, _U, _I, _O, _P, \ + _A, _S, _D, _F, _G, _H, _J, _K, _L, TL_SCLN, \ + _Z, _X, _C, _V, _B, _N, _M, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_AZERTY \ + carte_de_map(" azert yuiop", \ + " qsdfg hjkl;", \ + " wxcvb nm,./") + +// Need TLKC around comm, dot, and quot, and scln +// Qwerty based layers that I don't really use. +#define ___AZERTY___ \ + LANG_MAP(_A, _Z, _E, _R, _T, _Y, _U, _I, _O, _P, \ + _Q, _S, _D, _F, _G, _H, _J, _K, _L, TL_SCLN, \ + _W, _X, _C, _V, _B, _N, _M, TL_COMM, TL_DOT, TL_SLSH) + + + +#define CARTE_WORKMAN \ + carte_de_map(" qdrwb jfup;", \ + " ashtg yneio", \ + " zxmcv kl,./") + +#define ___WORKMAN___ \ + LANG_MAP(_Q, _D, _R, _W, _B, _J, _F, _U, _P, _SCLN, \ + _A, _S, _H, _T, _G, _Y, _N, _E, _O, _I, \ + _Z, _X, _M, _C, _V, _K, _L, TL_COMM, TL_DOT, TL_SLSH) + +#define CARTE_NORMAN \ + carte_de_map(" qwdfk jurl;", \ + " asetg yniou", \ + " zxcvb pm,./") +#define ___NORMAN___ \ + LANG_MAP(_Q, _W, _D, _F, _K, _J, _U, _R, _L, TL_SCLN, \ + _A, _S, _E, _T, _G, _Y, _N, _I, _O, _U, \ + _Z, _X, _C, _V, _B, _P, _M, TL_COMM, TL_DOT, TL_SLSH) diff --git a/users/ericgebhart/base_layers/toprows.h b/users/ericgebhart/base_layers/toprows.h new file mode 100644 index 0000000000..ba32118537 --- /dev/null +++ b/users/ericgebhart/base_layers/toprows.h @@ -0,0 +1,56 @@ +#pragma once +/* + Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>. +*/ +/*******************************************************************/ +/** TOP ROWS Func,Symbols, Numbers you find there. **/ +/*******************************************************************/ +// ltkc language target keycode DV, BK, BKW, NONE +// _1 = DV_1 or _1 = BP_DV_1 or KC_1 +#define ___10_NUMBERS___ \ + LANG_ROW(_1, _2, _3, _4, _5, _6, _7, _8, _9, _0) + +/* 40123 76598 */ +#define ___10_NUMBERS_BEAKL15___ \ + LANG_ROW(_4, _0, _1, _2, _3, _7, _6, _5, _9, _8) + +/* 32104 76598 */ +#define ___10_NUMBERS_BEAKL19___ \ + LANG_ROW(_3, _2, _1, _0, _4, _7, _6, _5, _9, _8) + +// a top symbol row if someone wants it. +#define ___10_SYMBOLS___ \ + LANG_ROW(_EXLM, _AT, _HASH, _DLR, _PERC, _CIRC, _AMPR, _ASTR, _LPRN, _RPRN) + +// standard bepo top row +#define ___10_SYMBOLS_BEPO___ \ + LANG_ROW(_DQUO, _LDAQ, _RDAQ, _LPRN, _RPRN, _AT, _PLUS, _MINS, _SLSH, _ASTR) + +#define ___12_SYMBOLS_BEPO___ \ + LANG_ROW12(_DLR, _DQUO, _LDAQ, _RDAQ, _LPRN, _RPRN, \ + _AT, _PLUS, _MINS, _SLSH, _ASTR, _EQL) + +// function key rows work for everyone. +#define ___10_FUNCS___ \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 + +#define ___12_FUNCS___ ___10_FUNCS___, KC_F11, KC_F12 + +#define ___10_FUNCS_BEAKL15___ \ + KC_F4, KC_F10, KC_F1, KC_F2, KC_F3, \ + KC_F7, KC_F6, KC_F5, KC_F9, KC_F8 + +#define ___12_FUNCS_BEAKL15___ KC_F11, ___10_FUNCS_BEAKL15___, KC_F12 |