Skip to content

Instantly share code, notes, and snippets.

@baptistemarchand
Last active August 15, 2019 22:20
Show Gist options
  • Save baptistemarchand/b20ac3a2a9ef89de36081929dc23d106 to your computer and use it in GitHub Desktop.
Save baptistemarchand/b20ac3a2a9ef89de36081929dc23d106 to your computer and use it in GitHub Desktop.
<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!--Last edited by Ukelele version 3.3.0.249 on 2019-08-16 at 00:13 (CEST)-->
<keyboard group="126" id="-5352" name="Baptiste" maxout="1">
<layouts>
<layout first="0" last="0" mapSet="ISO" modifiers="Modifiers"/>
</layouts>
<modifierMap id="Modifiers" defaultIndex="0">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="anyShift"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="anyOption"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="ISO">
<keyMap index="0">
<key code="0" output="a"/>
<key code="1" output="u"/>
<key code="2" output="i"/>
<key code="3" output="e"/>
<key code="4" output="c"/>
<key code="5" output=","/>
<key code="6" output="à"/>
<key code="7" output="y"/>
<key code="8" output="x"/>
<key code="9" output="."/>
<key code="10" output="$"/>
<key code="11" output="k"/>
<key code="12" output="b"/>
<key code="13" output="é"/>
<key code="14" output="p"/>
<key code="15" output="o"/>
<key code="16" output="!"/>
<key code="17" output="è"/>
<key code="18" output="&#x0022;"/>
<key code="19" output="&#x003C;"/>
<key code="20" output="&#x003E;"/>
<key code="21" output="("/>
<key code="22" output="@"/>
<key code="23" output=")"/>
<key code="24" output="%"/>
<key code="25" output="/"/>
<key code="26" output="+"/>
<key code="27" output="="/>
<key code="28" output="-"/>
<key code="29" output="*"/>
<key code="30" output="w"/>
<key code="31" output="l"/>
<key code="32" output="v"/>
<key code="33" output="z"/>
<key code="34" output="d"/>
<key code="35" output="j"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="r"/>
<key code="38" output="t"/>
<key code="39" output="m"/>
<key code="40" output="s"/>
<key code="41" output="n"/>
<key code="42" output="ç"/>
<key code="43" output="g"/>
<key code="44" output="f"/>
<key code="45" output="’"/>
<key code="46" output="q"/>
<key code="47" output="h"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="ê"/>
<key code="51" output="&#x0008;"/>
<key code="53" output="&#x001B;"/>
<key code="64" output="&#x0010;"/>
<key code="65" output=""/>
<key code="66" output="&#x001D;"/>
<key code="67" output=""/>
<key code="69" output=""/>
<key code="70" output="&#x001C;"/>
<key code="71" output="&#x001B;"/>
<key code="72" output="&#x001F;"/>
<key code="75" output=""/>
<key code="76" output="&#x0003;"/>
<key code="77" output="&#x001E;"/>
<key code="78" output=""/>
<key code="79" output="&#x0010;"/>
<key code="80" output="&#x0010;"/>
<key code="81" output=""/>
<key code="82" output=""/>
<key code="83" output=""/>
<key code="84" output=""/>
<key code="85" output=""/>
<key code="86" output=""/>
<key code="87" output=""/>
<key code="88" output=""/>
<key code="89" output=""/>
<key code="91" output=""/>
<key code="92" output=""/>
<key code="96" output="&#x0010;"/>
<key code="97" output="&#x0010;"/>
<key code="98" output="&#x0010;"/>
<key code="99" output="&#x0010;"/>
<key code="100" output="&#x0010;"/>
<key code="101" output="&#x0010;"/>
<key code="103" output="&#x0010;"/>
<key code="105" output="&#x0010;"/>
<key code="106" output="&#x0010;"/>
<key code="107" output="&#x0010;"/>
<key code="109" output="&#x0010;"/>
<key code="111" output="&#x0010;"/>
<key code="113" output="&#x0010;"/>
<key code="114" output="&#x0005;"/>
<key code="115" output="&#x0001;"/>
<key code="116" output="&#x000B;"/>
<key code="117" output="&#x007F;"/>
<key code="118" output="&#x0010;"/>
<key code="119" output="&#x0004;"/>
<key code="120" output="&#x0010;"/>
<key code="121" output="&#x000C;"/>
<key code="122" output="&#x0010;"/>
<key code="123" output="&#x001C;"/>
<key code="124" output="&#x001D;"/>
<key code="125" output="&#x001F;"/>
<key code="126" output="&#x001E;"/>
</keyMap>
<keyMap index="1">
<key code="0" output="A"/>
<key code="1" output="U"/>
<key code="2" output="I"/>
<key code="3" output="E"/>
<key code="4" output="C"/>
<key code="5" output=";"/>
<key code="6" output="À"/>
<key code="7" output="Y"/>
<key code="8" output="X"/>
<key code="9" output=":"/>
<key code="10" output="#"/>
<key code="11" output="K"/>
<key code="12" output="B"/>
<key code="13" output="É"/>
<key code="14" output="P"/>
<key code="15" output="O"/>
<key code="16" output="!"/>
<key code="17" output="È"/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="`"/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="°"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="W"/>
<key code="31" output="L"/>
<key code="32" output="V"/>
<key code="33" output="Z"/>
<key code="34" output="D"/>
<key code="35" output="J"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="R"/>
<key code="38" output="T"/>
<key code="39" output="M"/>
<key code="40" output="S"/>
<key code="41" output="N"/>
<key code="42" output="Ç"/>
<key code="43" output="G"/>
<key code="44" output="F"/>
<key code="45" output="?"/>
<key code="46" output="Q"/>
<key code="47" output="H"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="Ê"/>
<key code="51" output="&#x0008;"/>
<key code="53" output="&#x001B;"/>
<key code="64" output="&#x0010;"/>
<key code="65" output=""/>
<key code="66" output="&#x001D;"/>
<key code="67" output=""/>
<key code="69" output=""/>
<key code="70" output="&#x001C;"/>
<key code="71" output="&#x001B;"/>
<key code="72" output="&#x001F;"/>
<key code="75" output=""/>
<key code="76" output="&#x0003;"/>
<key code="77" output="&#x001E;"/>
<key code="78" output=""/>
<key code="79" output="&#x0010;"/>
<key code="80" output="&#x0010;"/>
<key code="81" output=""/>
<key code="82" output=""/>
<key code="83" output=""/>
<key code="84" output=""/>
<key code="85" output=""/>
<key code="86" output=""/>
<key code="87" output=""/>
<key code="88" output=""/>
<key code="89" output=""/>
<key code="91" output=""/>
<key code="92" output=""/>
<key code="96" output="&#x0010;"/>
<key code="97" output="&#x0010;"/>
<key code="98" output="&#x0010;"/>
<key code="99" output="&#x0010;"/>
<key code="100" output="&#x0010;"/>
<key code="101" output="&#x0010;"/>
<key code="103" output="&#x0010;"/>
<key code="105" output="&#x0010;"/>
<key code="106" output="&#x0010;"/>
<key code="107" output="&#x0010;"/>
<key code="109" output="&#x0010;"/>
<key code="111" output="&#x0010;"/>
<key code="113" output="&#x0010;"/>
<key code="114" output="&#x0005;"/>
<key code="115" output="&#x0001;"/>
<key code="116" output="&#x000B;"/>
<key code="117" output="&#x007F;"/>
<key code="118" output="&#x0010;"/>
<key code="119" output="&#x0004;"/>
<key code="120" output="&#x0010;"/>
<key code="121" output="&#x000C;"/>
<key code="122" output="&#x0010;"/>
<key code="123" output="&#x001C;"/>
<key code="124" output="&#x001D;"/>
<key code="125" output="&#x001F;"/>
<key code="126" output="&#x001E;"/>
</keyMap>
<keyMap index="2">
<key code="0" output=""/>
<key code="1" output=""/>
<key code="2" output=""/>
<key code="3" output=""/>
<key code="4" output=""/>
<key code="5" output=""/>
<key code="6" output="\"/>
<key code="7" output="{"/>
<key code="8" output="}"/>
<key code="9" output=""/>
<key code="10" output=""/>
<key code="11" output="~"/>
<key code="12" output="|"/>
<key code="13" output=""/>
<key code="14" output="&#x0026;"/>
<key code="15" output=""/>
<key code="16" output=""/>
<key code="17" output=""/>
<key code="18" output=""/>
<key code="19" output=""/>
<key code="20" output=""/>
<key code="21" output="["/>
<key code="22" output="^"/>
<key code="23" output="]"/>
<key code="24" output=""/>
<key code="25" output=""/>
<key code="26" output=""/>
<key code="27" output=""/>
<key code="28" output=""/>
<key code="29" output=""/>
<key code="30" output=""/>
<key code="31" output=""/>
<key code="32" output=""/>
<key code="33" output=""/>
<key code="34" output=""/>
<key code="35" output=""/>
<key code="36" output="&#x000D;"/>
<key code="37" output=""/>
<key code="38" output=""/>
<key code="39" output=""/>
<key code="40" output=""/>
<key code="41" output=""/>
<key code="42" output=""/>
<key code="43" output=""/>
<key code="44" output=""/>
<key code="45" output=""/>
<key code="46" output=""/>
<key code="47" output=""/>
<key code="48" output="&#x0009;"/>
<key code="49" output="_"/>
<key code="50" output=""/>
<key code="51" output="&#x0008;"/>
<key code="53" output="&#x001B;"/>
<key code="64" output="&#x0010;"/>
<key code="65" output=""/>
<key code="66" output="&#x001D;"/>
<key code="67" output=""/>
<key code="69" output=""/>
<key code="70" output="&#x001C;"/>
<key code="71" output="&#x001B;"/>
<key code="72" output="&#x001F;"/>
<key code="75" output=""/>
<key code="76" output="&#x0003;"/>
<key code="77" output="&#x001E;"/>
<key code="78" output=""/>
<key code="79" output="&#x0010;"/>
<key code="80" output="&#x0010;"/>
<key code="81" output=""/>
<key code="82" output=""/>
<key code="83" output=""/>
<key code="84" output=""/>
<key code="85" output=""/>
<key code="86" output=""/>
<key code="87" output=""/>
<key code="88" output=""/>
<key code="89" output=""/>
<key code="91" output=""/>
<key code="92" output=""/>
<key code="96" output="&#x0010;"/>
<key code="97" output="&#x0010;"/>
<key code="98" output="&#x0010;"/>
<key code="99" output="&#x0010;"/>
<key code="100" output="&#x0010;"/>
<key code="101" output="&#x0010;"/>
<key code="103" output="&#x0010;"/>
<key code="105" output="&#x0010;"/>
<key code="106" output="&#x0010;"/>
<key code="107" output="&#x0010;"/>
<key code="109" output="&#x0010;"/>
<key code="111" output="&#x0010;"/>
<key code="113" output="&#x0010;"/>
<key code="114" output="&#x0005;"/>
<key code="115" output="&#x0001;"/>
<key code="116" output="&#x000B;"/>
<key code="117" output="&#x007F;"/>
<key code="118" output="&#x0010;"/>
<key code="119" output="&#x0004;"/>
<key code="120" output="&#x0010;"/>
<key code="121" output="&#x000C;"/>
<key code="122" output="&#x0010;"/>
<key code="123" output="&#x001C;"/>
<key code="124" output="&#x001D;"/>
<key code="125" output="&#x001F;"/>
<key code="126" output="&#x001E;"/>
</keyMap>
</keyMapSet>
</keyboard>
#include QMK_KEYBOARD_H
#include "keymap_bepo.h"
#include "keymap_french.h"
// keymaps
#define BEPO 0 // default layer, for bepo compatible systems
#define FNAV 7 // function / navigation / mouse layer
#define NUMK 8 // numeric keypad layer
// macros
#define KP_00 0 // keypad "double 0"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: default layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | $ | " | < | > | ( | ) | @ | | ^ | % | + | - | / | * |Backsp |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | B |E_ACUT| P | O |E_GRAV|Backsp| |xxxxx | ! | V | D | L | J | Z |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | LCtrl | A | U | I | E | , |------| |------| C | T | S | R | N | M |
* |--------+------+------+------+------+------| xxx | | = |------+------+------+------+------+--------|
* | LShift |A_GRAV| Y | X | . | K | | | | ' | Q | G | H | F | ç |
* `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
* |Escape|xxxxxx|xxxxxx| ALT | CMD | | copy | cut | |xxxxxx| xxxx | | AltGr| CMD |xxxxxx| W | esc |
* `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
* | | | undo | |xxxxxx| | |
* | Space|shift |------| |------| shift|Enter |
* | | |paste | |xxxxxx| | |
* `--------------------' `--------------------'
*/
[BEPO] = LAYOUT_ergodox(
// Left hand
BP_DOLLAR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT,
KC_TAB, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_E_GRAVE, KC_BSPC,
KC_LCTL, BP_A, BP_U, BP_I, BP_E, BP_COMMA,
KC_LSHIFT, BP_A_GRAVE, BP_Y, BP_X, BP_DOT, BP_K, XXXXXXX,
KC_ESC, XXXXXXX, XXXXXXX, KC_LALT, KC_LGUI,
LGUI(BP_C), LGUI(BP_X),
LGUI(BP_Z),
KC_SPC, KC_LSHIFT, LGUI(BP_V),
// Right hand
RALT(BP_AT), BP_PERC, BP_PLUS, BP_MINS, BP_SLASH, BP_ASTR, KC_BSPC,
XXXXXXX, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z,
BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
BP_EQL, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
MO(FNAV), KC_RGUI, XXXXXXX, BP_W, KC_BSPC,
XXXXXXX, XXXXXXX,
XXXXXXX,
XXXXXXX, KC_RSHIFT, KC_ENTER),
/* Keymap 7: function / navigation / mouse layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | |VolMut| | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | pipe | | amp | | |VolUp | | | | | Up | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | Left | Down | Right| | |
* |--------+------+------+------+------+------|VolDwn| | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
* | | | | | | | | | | | | | | | | | |
* `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[FNAV] = LAYOUT_ergodox(
// Left hand
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RALT(BP_LEFT_PAREN), RALT(BP_RIGHT_PAREN), KC_MUTE,
XXXXXXX, BP_PIPE, XXXXXXX, RALT(BP_P), XXXXXXX, XXXXXXX, KC_VOLU,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TRNS, RALT(BP_A_GRAVE), RALT(BP_Y), RALT(BP_X), XXXXXXX, RALT(BP_K), KC_VOLD,
XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
XXXXXXX, KC_TRNS, KC_TRNS,
// Right hand
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, KC_BSPC, KC_UP, KC_DEL, XXXXXXX, XXXXXXX,
KC_PGDOWN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, XXXXXXX),
/* Keymap 8: numeric keypad layer, sends keypad codes
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | NumLo| / | * | - | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | 7 | 8 | 9 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | 1 | 2 | 3 | Enter| |
* `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
* | | | | | | | | | | | | | 0 | 00 | . | Enter| |
* `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[NUMK] = LAYOUT_ergodox(
// Left hand
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
XXXXXXX, KC_TRNS, KC_TRNS,
// Right hand
XXXXXXX, XXXXXXX, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, XXXXXXX,
XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, XXXXXXX,
XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, XXXXXXX,
XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, XXXXXXX,
KC_KP_0, M(KP_00), KC_KP_COMMA, KC_KP_ENTER, XXXXXXX,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, XXXXXXX)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch(id) {
// keypad "double 0"
case KP_00:
if (record->event.pressed) {
return MACRO( T(KP_0), D(KP_0), END );
} else {
return MACRO( U(KP_0), END );
}
break;
}
return MACRO_NONE;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment