mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-28 12:09:16 +06:00
050472a4d0
Co-authored-by: Drashna Jaelre <drashna@live.com>
159 lines
5.9 KiB
C
159 lines
5.9 KiB
C
#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)
|