aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/kyria/keymaps/cjuniet/config.h37
-rw-r--r--keyboards/kyria/keymaps/cjuniet/default.json33
-rw-r--r--keyboards/kyria/keymaps/cjuniet/keymap.c127
-rw-r--r--keyboards/kyria/keymaps/cjuniet/rules.mk6
-rw-r--r--users/cjuniet/cjuniet.c13
-rw-r--r--users/cjuniet/cjuniet.h5
-rw-r--r--users/cjuniet/glcdfont.c230
-rw-r--r--users/cjuniet/readme.md14
-rw-r--r--users/cjuniet/rules.mk1
9 files changed, 466 insertions, 0 deletions
diff --git a/keyboards/kyria/keymaps/cjuniet/config.h b/keyboards/kyria/keymaps/cjuniet/config.h
new file mode 100644
index 000000000..d5d9c23bf
--- /dev/null
+++ b/keyboards/kyria/keymaps/cjuniet/config.h
@@ -0,0 +1,37 @@
1/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#ifdef OLED_DRIVER_ENABLE
20 #define OLED_DISPLAY_128X64
21 #define OLED_FONT_H "users/cjuniet/glcdfont.c"
22#endif
23
24#ifdef RGBLIGHT_ENABLE
25 #define RGBLIGHT_ANIMATIONS
26 #define RGBLIGHT_HUE_STEP 8
27 #define RGBLIGHT_SAT_STEP 8
28 #define RGBLIGHT_VAL_STEP 8
29 #define RGBLIGHT_SLEEP
30#endif
31
32#define EE_HANDS
33
34#define LEADER_PER_KEY_TIMING
35#define LEADER_TIMEOUT 250
36
37#define TAPPING_TOGGLE 2
diff --git a/keyboards/kyria/keymaps/cjuniet/default.json b/keyboards/kyria/keymaps/cjuniet/default.json
new file mode 100644
index 000000000..d08cabece
--- /dev/null
+++ b/keyboards/kyria/keymaps/cjuniet/default.json
@@ -0,0 +1,33 @@
1{
2 "keyboard": "kyria/rev1",
3 "keymap": "cjuniet",
4 "layout": "LAYOUT",
5 "layers": [
6 [
7 "KC_ESC", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_G", "KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCLN", "KC_BSLS",
8 "LCTL_T(KC_BSPC)", "KC_A", "KC_R", "KC_S", "KC_T", "KC_D", "KC_H", "KC_N", "KC_E", "KC_I", "KC_O", "KC_QUOT",
9 "LSFT_T(KC_DEL)", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_LAPO", "LGUI_T(KC_LBRC)", "RGUI_T(KC_RBRC)", "KC_RAPC", "KC_K", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_MINS",
10 "KC_TAB", "KC_LGUI", "TT(1)", "LSFT_T(KC_SPC)", "LCTL_T(KC_ENT)", "RCTL_T(KC_ENT)", "RSFT_T(KC_SPC)", "TT(2)", "KC_RGUI", "KC_LEAD"
11 ],
12 [
13 "KC_TRNS", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TILD",
14 "KC_TRNS", "KC_MPLY", "KC_MS_L", "KC_MS_U", "KC_MS_R", "KC_WH_U", "KC_PGUP", "KC_LEFT", "KC_UP", "KC_RGHT", "KC_VOLU", "KC_GRV",
15 "KC_TRNS", "KC_MUTE", "KC_BTN1", "KC_MS_D", "KC_BTN2", "KC_WH_D", "KC_LT", "KC_TRNS", "KC_TRNS", "KC_GT", "KC_PGDN", "KC_HOME", "KC_DOWN", "KC_END", "KC_VOLD", "KC_EQL",
16 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
17 ],
18 [
19 "KC_TRNS", "KC_MNXT", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_PGUP", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS", "KC_PMNS",
20 "KC_TRNS", "KC_MPLY", "KC_F4", "KC_F5", "KC_F6", "KC_F11", "KC_TAB", "KC_P4", "KC_P5", "KC_P6", "KC_PAST", "KC_PSLS",
21 "KC_TRNS", "KC_MPRV", "KC_F1", "KC_F2", "KC_F3", "KC_F12", "KC_LPRN", "KC_LT", "KC_GT", "KC_RPRN", "KC_PGDN", "KC_P1", "KC_P2", "KC_P3", "KC_EQL", "KC_PENT",
22 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_P0", "KC_PDOT"
23 ],
24 [
25 "KC_TRNS", "KC_NLCK", "KC_CAPS", "KC_SLCK", "KC_LANG1", "KC_LANG2", "KC_TRNS", "KC_PSCR", "KC_SLCK", "KC_PAUS", "KC_TRNS", "KC_TRNS",
26 "KC_TRNS", "RGB_TOG", "RGB_SAI", "RGB_HUI", "RGB_VAI", "RGB_MOD", "KC_TRNS", "KC_INS", "KC_HOME", "KC_PGUP", "KC_TRNS", "KC_TRNS",
27 "KC_TRNS", "KC_NO", "RGB_SAD", "RGB_HUD", "RGB_VAD", "RGB_RMOD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_DEL", "KC_END", "KC_PGDN", "KC_TRNS", "KC_TRNS",
28 "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
29 ]
30 ],
31 "author": "",
32 "notes": ""
33}
diff --git a/keyboards/kyria/keymaps/cjuniet/keymap.c b/keyboards/kyria/keymaps/cjuniet/keymap.c
new file mode 100644
index 000000000..d0620309b
--- /dev/null
+++ b/keyboards/kyria/keymaps/cjuniet/keymap.c
@@ -0,0 +1,127 @@
1#include QMK_KEYBOARD_H
2#include "cjuniet.h"
3
4enum layers {
5 _COLEMAK = 0,
6 _SYMBOLS,
7 _NUMBERS,
8 _SPECIALS
9};
10
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 [_COLEMAK] = LAYOUT(
13 KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
14 LCTL_T(KC_BSPC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
15 LSFT_T(KC_DEL), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LAPO, LGUI_T(KC_LBRC), RGUI_T(KC_RBRC), KC_RAPC, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
16 KC_TAB, KC_LGUI, TT(_SYMBOLS), LSFT_T(KC_SPC), LCTL_T(KC_ENT), RCTL_T(KC_ENT), RSFT_T(KC_SPC), TT(_NUMBERS), KC_RGUI, KC_LEAD),
17 [_SYMBOLS] = LAYOUT(
18 KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
19 KC_TRNS, KC_MPLY, KC_MS_L, KC_MS_U, KC_MS_R, KC_WH_U, KC_PGUP, KC_LEFT, KC_UP, KC_RGHT, KC_VOLU, KC_GRV,
20 KC_TRNS, KC_MUTE, KC_BTN1, KC_MS_D, KC_BTN2, KC_WH_D, KC_LT, KC_TRNS, KC_TRNS, KC_GT, KC_PGDN, KC_HOME, KC_DOWN, KC_END, KC_VOLD, KC_EQL,
21 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
22 [_NUMBERS] = LAYOUT(
23 KC_TRNS, KC_MNXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PMNS,
24 KC_TRNS, KC_MPLY, KC_F4, KC_F5, KC_F6, KC_F11, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS,
25 KC_TRNS, KC_MPRV, KC_F1, KC_F2, KC_F3, KC_F12, KC_LPRN, KC_LT, KC_GT, KC_RPRN, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_EQL, KC_PENT,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PDOT),
27 [_SPECIALS] = LAYOUT(
28 KC_TRNS, KC_NLCK, KC_CAPS, KC_SLCK, KC_LANG1, KC_LANG2, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS,
29 KC_TRNS, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS,
30 KC_TRNS, KC_NO, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
32};
33
34LEADER_EXTERNS();
35
36void keyboard_post_init_user(void) {
37 led_t led_state = host_keyboard_led_state();
38 if (!led_state.num_lock) {
39 tap_code(KC_NLCK);
40 }
41}
42
43layer_state_t layer_state_set_user(layer_state_t state) {
44 return update_tri_layer_state(state, _SYMBOLS, _NUMBERS, _SPECIALS);
45}
46
47void matrix_scan_user(void) {
48 LEADER_DICTIONARY() {
49 leading = false;
50 leader_end();
51
52 // Lock screen (macOS)
53 SEQ_ONE_KEY(KC_ESC) {
54 tap_code16(LCTL(LGUI(KC_Q)));
55 }
56
57 // Escape-Shift-Z-Z (VIM)
58 SEQ_ONE_KEY(KC_Z) {
59 SEND_STRING(SS_TAP(X_ESC) SS_LSFT("zz"));
60 }
61
62 // Dead grave accent (macOS)
63 SEQ_ONE_KEY(KC_E) {
64 tap_code16(LALT(KC_GRAVE));
65 }
66 }
67}
68
69oled_rotation_t oled_init_user(oled_rotation_t rotation) {
70 return OLED_ROTATION_180;
71}
72
73static void render_kyria_logo(void) {
74 static const char PROGMEM kyria_logo[] = {
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
79 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
83 };
84 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
85}
86
87static void render_qmk_logo(void) {
88 static const char PROGMEM qmk_logo[] = {
89 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
90 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
91 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
92
93 oled_write_P(qmk_logo, false);
94}
95
96static void render_status(void) {
97 render_qmk_logo();
98 oled_write_ln_P(PSTR(" Chris's Kyria\n"), false);
99
100 oled_write_P(PSTR(" "), false);
101 switch (get_highest_layer(layer_state)) {
102 case _COLEMAK:
103 oled_write_P(PSTR("Colemak"), false);
104 break;
105 case _SYMBOLS:
106 oled_write_P(PSTR("Symbols"), false);
107 break;
108 case _NUMBERS:
109 oled_write_P(PSTR("Numbers"), false);
110 break;
111 case _SPECIALS:
112 oled_write_P(PSTR("Special"), false);
113 break;
114 default:
115 oled_write_P(PSTR("Undefined"), false);
116 }
117 oled_write_ln_P(PSTR(" Layer\n"), false);
118}
119
120void oled_task_user(void) {
121 if (is_keyboard_master()) {
122 render_status();
123 render_status_bar();
124 } else {
125 render_kyria_logo();
126 }
127}
diff --git a/keyboards/kyria/keymaps/cjuniet/rules.mk b/keyboards/kyria/keymaps/cjuniet/rules.mk
new file mode 100644
index 000000000..9699ed810
--- /dev/null
+++ b/keyboards/kyria/keymaps/cjuniet/rules.mk
@@ -0,0 +1,6 @@
1ENCODER_ENABLE = no
2EXTRAKEY_ENABLE = yes
3LEADER_ENABLE = yes
4MOUSEKEY_ENABLE = yes
5OLED_DRIVER_ENABLE = yes
6RGBLIGHT_ENABLE = no
diff --git a/users/cjuniet/cjuniet.c b/users/cjuniet/cjuniet.c
new file mode 100644
index 000000000..3b950b1ad
--- /dev/null
+++ b/users/cjuniet/cjuniet.c
@@ -0,0 +1,13 @@
1#include "cjuniet.h"
2
3void render_status_bar(void) {
4 uint8_t modifiers = get_mods();
5 led_t led_state = host_keyboard_led_state();
6 oled_write_P(PSTR("\325\326"), (modifiers & MOD_MASK_SHIFT));
7 oled_write_P(PSTR("\327\330"), (modifiers & MOD_MASK_CTRL));
8 oled_write_P(PSTR("\331\332"), (modifiers & MOD_MASK_ALT));
9 oled_write_P(PSTR("\333\334"), (modifiers & MOD_MASK_GUI));
10 oled_write_P(PSTR(" "), false);
11 oled_write_P(PSTR("\235\236"), led_state.caps_lock);
12 oled_write_P(PSTR("\275\276"), led_state.num_lock);
13}
diff --git a/users/cjuniet/cjuniet.h b/users/cjuniet/cjuniet.h
new file mode 100644
index 000000000..adc46d7ed
--- /dev/null
+++ b/users/cjuniet/cjuniet.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#include "quantum.h"
4
5void render_status_bar(void);
diff --git a/users/cjuniet/glcdfont.c b/users/cjuniet/glcdfont.c
new file mode 100644
index 000000000..539b0bd92
--- /dev/null
+++ b/users/cjuniet/glcdfont.c
@@ -0,0 +1,230 @@
1#include "progmem.h"
2
3// Online editor: https://helixfonteditor.netlify.com/
4
5static const unsigned char font[] PROGMEM = {
6 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
7 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
8 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
9 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
10 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
11 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
12 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
13 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
14 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
15 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
16 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
17 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
18 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
19 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
20 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
21 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
22 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
23 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
24 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
25 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
26 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
27 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
28 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
29 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
30 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
31 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
32 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
33 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
34 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
35 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
36 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
37 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
38 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
40 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
41 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
42 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
43 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
44 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
45 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
46 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
47 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
48 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
49 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
50 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
51 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
52 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
53 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
54 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
55 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
56 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
57 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
58 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
59 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
60 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
61 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
62 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
63 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
64 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
65 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
66 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
67 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
68 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
69 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
70 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
71 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
72 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
73 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
74 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
75 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
76 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
77 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
78 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
79 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
80 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
81 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
82 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
83 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
84 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
85 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
86 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
87 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
88 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
89 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
90 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
91 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
92 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
93 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
94 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
95 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
96 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
97 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
98 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
99 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
100 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
101 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
102 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
103 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
104 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
105 0x38, 0x44, 0x44, 0x44, 0x20, 0x00,
106 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
107 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
108 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
109 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
110 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
111 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
112 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
113 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
114 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
115 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
116 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
117 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
118 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
119 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
120 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
121 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
122 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
123 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
124 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
125 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
126 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
127 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
128 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
129 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
130 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
131 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
132 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
133 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8,
136 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F,
137 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8,
138 0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
140 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
141 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00,
142 0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
143 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0,
145 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
156 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
157 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
158 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
159 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
160 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
161 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
162 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
163 0x00, 0x00, 0x00, 0x04, 0xFA, 0xA1,
164 0xFA, 0x04, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF,
168 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00,
169 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF,
170 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F,
172 0x60, 0x60, 0xE0, 0xBF, 0x1F, 0x00,
173 0x7F, 0x7F, 0x07, 0x1E, 0x38, 0x1E,
174 0x07, 0x7F, 0x7F, 0x00, 0x7F, 0x7F,
175 0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x00,
176 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F,
177 0x0C, 0x0C, 0x0C, 0x00, 0x7E, 0x7E,
178 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00,
179 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E,
180 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F,
181 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70,
182 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49,
183 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E,
184 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69,
185 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00,
186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
188 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
189 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
190 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
191 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
192 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
193 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
194 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
195 0x00, 0x00, 0x00, 0xFC, 0x87, 0x95,
196 0xB5, 0x87, 0xFC, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F,
200 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E,
201 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F,
202 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x08, 0x74, 0x42,
220 0x74, 0x08, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x10, 0x18, 0x0C, 0x06,
222 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00,
223 0x00, 0x00, 0x04, 0x04, 0x08, 0x10,
224 0x24, 0x24, 0x24, 0x24, 0x00, 0x00,
225 0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
226 0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230};
diff --git a/users/cjuniet/readme.md b/users/cjuniet/readme.md
new file mode 100644
index 000000000..16dff4467
--- /dev/null
+++ b/users/cjuniet/readme.md
@@ -0,0 +1,14 @@
1Copyright 2020 Christophe Juniet <cjuniet@users.noreply.github.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/users/cjuniet/rules.mk b/users/cjuniet/rules.mk
new file mode 100644
index 000000000..0f0859ba1
--- /dev/null
+++ b/users/cjuniet/rules.mk
@@ -0,0 +1 @@
SRC += cjuniet.c