moved configs to directory 'zegonix' which is link into the keyboards folder
the whole keyboard configs were copied without the default keymaps
This commit is contained in:
+6
-10
@@ -9,19 +9,15 @@ if [[ -z $1 ]]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [[ ! -d $1 ]]; then
|
||||
if [[ ! -d "$1/keyboards" ]]; then
|
||||
echo "argument one is not a valid path to a qmk repository"
|
||||
echo ""
|
||||
show_usage;
|
||||
exit 1;
|
||||
else
|
||||
config_dir="$(dirname -- "$(realpath -- "$0")")"
|
||||
repo_dir="$(dirname -- "$(realpath -- "$0")")"
|
||||
|
||||
# link directory for keebsforall/freebirdtkl
|
||||
ln -s -f "${config_dir}/keyboards/keebsforall/freebirdtkl" "$1/keyboards/keebsforall/fbtkl"
|
||||
# link directories for mode/envoy and mode/mode80
|
||||
ln -s -f "${config_dir}/keyboards/mode/envoy" "$1/keyboards/mode/envoy"
|
||||
ln -s -f "${config_dir}/keybaords/mode/mode80" "$1/keyboards/mode/mode80"
|
||||
# link directory for sofle
|
||||
ln -s -f "${config_dir}/keyboards/sofle/keymaps/quaken" "$1/keyboards/sofle/keymaps/quaken"
|
||||
# link personal keyboards
|
||||
ln -s -f "${config_dir}/keyboards/zegonix" "$1/keyboards/zegonix"
|
||||
ln -s -f "${repo_dir}/zegonix" "$1/keyboards/zegonix"
|
||||
echo "link created successfully"
|
||||
fi
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"keyboard_name": "Sofle",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"encoder": true,
|
||||
"oled": true
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"usb": {
|
||||
"vid": "0xFC32"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"qmk": {
|
||||
"tap_keycode_delay": 10
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D2",
|
||||
"transport": {
|
||||
"sync": {
|
||||
"matrix_state": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 72,
|
||||
"split_count": [36, 36],
|
||||
"sleep": true
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"split_count": [36, 36],
|
||||
"sleep": true,
|
||||
"layout": [
|
||||
{"x": 96, "y": 40, "flags": 8},
|
||||
{"x": 16, "y": 20, "flags": 2},
|
||||
{"x": 48, "y": 10, "flags": 2},
|
||||
{"x": 80, "y": 18, "flags": 2},
|
||||
{"x": 88, "y": 60, "flags": 2},
|
||||
{"x": 56, "y": 57, "flags": 2},
|
||||
{"x": 24, "y": 60, "flags": 2},
|
||||
{"matrix": [4, 0], "x": 32, "y": 57, "flags": 4},
|
||||
{"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 0, "y": 36, "flags": 4},
|
||||
{"matrix": [1, 0], "x": 0, "y": 24, "flags": 4},
|
||||
{"matrix": [0, 0], "x": 0, "y": 12, "flags": 4},
|
||||
{"matrix": [0, 1], "x": 16, "y": 12, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 16, "y": 36, "flags": 4},
|
||||
{"matrix": [3, 1], "x": 16, "y": 48, "flags": 4},
|
||||
{"matrix": [4, 1], "x": 48, "y": 55, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 64, "y": 57, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 32, "y": 45, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 32, "y": 33, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 32, "y": 21, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 32, "y": 9, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 48, "y": 7, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 48, "y": 19, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 48, "y": 31, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 48, "y": 43, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 80, "y": 59, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 96, "y": 64, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 64, "y": 45, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 64, "y": 33, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 64, "y": 21, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 64, "y": 9, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 80, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 80, "y": 22, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 80, "y": 34, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 80, "y": 47, "flags": 4},
|
||||
{"x": 128, "y": 40, "flags": 8},
|
||||
{"x": 208, "y": 20, "flags": 2},
|
||||
{"x": 176, "y": 10, "flags": 2},
|
||||
{"x": 144, "y": 18, "flags": 2},
|
||||
{"x": 136, "y": 60, "flags": 2},
|
||||
{"x": 168, "y": 57, "flags": 2},
|
||||
{"x": 200, "y": 60, "flags": 2},
|
||||
{"matrix": [9, 0], "x": 192, "y": 57, "flags": 4},
|
||||
{"matrix": [8, 0], "x": 224, "y": 48, "flags": 4},
|
||||
{"matrix": [7, 0], "x": 224, "y": 36, "flags": 4},
|
||||
{"matrix": [6, 0], "x": 224, "y": 24, "flags": 4},
|
||||
{"matrix": [5, 0], "x": 224, "y": 12, "flags": 4},
|
||||
{"matrix": [5, 1], "x": 208, "y": 12, "flags": 4},
|
||||
{"matrix": [6, 1], "x": 208, "y": 24, "flags": 4},
|
||||
{"matrix": [7, 1], "x": 208, "y": 36, "flags": 4},
|
||||
{"matrix": [8, 1], "x": 208, "y": 48, "flags": 4},
|
||||
{"matrix": [9, 1], "x": 176, "y": 55, "flags": 4},
|
||||
{"matrix": [9, 2], "x": 160, "y": 57, "flags": 4},
|
||||
{"matrix": [8, 2], "x": 192, "y": 45, "flags": 4},
|
||||
{"matrix": [7, 2], "x": 192, "y": 33, "flags": 4},
|
||||
{"matrix": [6, 2], "x": 192, "y": 21, "flags": 4},
|
||||
{"matrix": [5, 2], "x": 192, "y": 9, "flags": 4},
|
||||
{"matrix": [5, 3], "x": 176, "y": 7, "flags": 4},
|
||||
{"matrix": [6, 3], "x": 176, "y": 19, "flags": 4},
|
||||
{"matrix": [7, 3], "x": 176, "y": 31, "flags": 4},
|
||||
{"matrix": [8, 3], "x": 176, "y": 43, "flags": 4},
|
||||
{"matrix": [9, 3], "x": 144, "y": 59, "flags": 4},
|
||||
{"matrix": [9, 4], "x": 128, "y": 64, "flags": 4},
|
||||
{"matrix": [8, 4], "x": 160, "y": 45, "flags": 4},
|
||||
{"matrix": [7, 4], "x": 160, "y": 33, "flags": 4},
|
||||
{"matrix": [6, 4], "x": 160, "y": 21, "flags": 4},
|
||||
{"matrix": [5, 4], "x": 160, "y": 9, "flags": 4},
|
||||
{"matrix": [5, 5], "x": 144, "y": 10, "flags": 4},
|
||||
{"matrix": [6, 5], "x": 144, "y": 22, "flags": 4},
|
||||
{"matrix": [7, 5], "x": 144, "y": 34, "flags": 4},
|
||||
{"matrix": [8, 5], "x": 144, "y": 47, "flags": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"manufacturer": "JosefAdamcik",
|
||||
"url": "https://github.com/josefadamcik/SofleKeyboard",
|
||||
"maintainer": "Josef Adamcik <josef.adamcik@gmail.com>",
|
||||
"development_board": "promicro",
|
||||
"usb": {
|
||||
"pid": "0x0287",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
|
||||
"rows": ["C6", "D7", "E6", "B4", "B5"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "F5", "pin_b": "F4", "resolution": 2}
|
||||
]
|
||||
},
|
||||
"split": {
|
||||
"encoder": {
|
||||
"right": {
|
||||
"rotary": [
|
||||
{"pin_a": "F4", "pin_b": "F5", "resolution": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0.5},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0.375},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0.125},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0.125},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||
|
||||
{"matrix": [5, 5], "x": 10.5, "y": 0.25},
|
||||
{"matrix": [5, 4], "x": 11.5, "y": 0.125},
|
||||
{"matrix": [5, 3], "x": 12.5, "y": 0},
|
||||
{"matrix": [5, 2], "x": 13.5, "y": 0.125},
|
||||
{"matrix": [5, 1], "x": 14.5, "y": 0.375},
|
||||
{"matrix": [5, 0], "x": 15.5, "y": 0.5},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.375},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.125},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.125},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
|
||||
{"matrix": [6, 5], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [6, 4], "x": 11.5, "y": 1.125},
|
||||
{"matrix": [6, 3], "x": 12.5, "y": 1},
|
||||
{"matrix": [6, 2], "x": 13.5, "y": 1.125},
|
||||
{"matrix": [6, 1], "x": 14.5, "y": 1.375},
|
||||
{"matrix": [6, 0], "x": 15.5, "y": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.5},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.375},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.125},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2.125},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2.25},
|
||||
|
||||
{"matrix": [7, 5], "x": 10.5, "y": 2.25},
|
||||
{"matrix": [7, 4], "x": 11.5, "y": 2.125},
|
||||
{"matrix": [7, 3], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 2.125},
|
||||
{"matrix": [7, 1], "x": 14.5, "y": 2.375},
|
||||
{"matrix": [7, 0], "x": 15.5, "y": 2.5},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.5},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.375},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.125},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3.125},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3.25},
|
||||
{"matrix": [4, 5], "x": 6, "y": 2.75},
|
||||
|
||||
{"matrix": [9, 5], "x": 9.5, "y": 2.75},
|
||||
{"matrix": [8, 5], "x": 10.5, "y": 3.25},
|
||||
{"matrix": [8, 4], "x": 11.5, "y": 3.125},
|
||||
{"matrix": [8, 3], "x": 12.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 13.5, "y": 3.125},
|
||||
{"matrix": [8, 1], "x": 14.5, "y": 3.375},
|
||||
{"matrix": [8, 0], "x": 15.5, "y": 3.5},
|
||||
|
||||
{"matrix": [4, 0], "x": 1.5, "y": 4.375},
|
||||
{"matrix": [4, 1], "x": 2.5, "y": 4.125},
|
||||
{"matrix": [4, 2], "x": 3.5, "y": 4.15},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5},
|
||||
|
||||
{"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5},
|
||||
{"matrix": [9, 3], "x": 11, "y": 4.25},
|
||||
{"matrix": [9, 2], "x": 12, "y": 4.15},
|
||||
{"matrix": [9, 1], "x": 13, "y": 4.125},
|
||||
{"matrix": [9, 0], "x": 14, "y": 4.375}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# Sofle Keyboard
|
||||
|
||||

|
||||
|
||||
Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
|
||||
|
||||
More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
|
||||
|
||||
The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html)
|
||||
|
||||
* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik)
|
||||
* Hardware Supported: SofleKeyboard PCB, ProMicro
|
||||
* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make sofle:default
|
||||
|
||||
Flash the default keymap:
|
||||
|
||||
make sofle:default:avrdude
|
||||
|
||||
Press reset button on he keyboard when asked.
|
||||
|
||||
Disconnect the first half, connect the second one and repeat the process.
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -0,0 +1 @@
|
||||
DEFAULT_FOLDER = sofle/rev1
|
||||
@@ -0,0 +1,135 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
|
||||
__attribute__ ((weak))
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] =
|
||||
// The LAYOUT macro could work for this, but it was harder to figure out the
|
||||
// identity using it.
|
||||
|
||||
// This is the identity layout.
|
||||
/*
|
||||
{
|
||||
{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} },
|
||||
{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} },
|
||||
{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} },
|
||||
{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} },
|
||||
{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} },
|
||||
|
||||
{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} },
|
||||
{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} },
|
||||
{ {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} },
|
||||
{ {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8} },
|
||||
{ {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9} },
|
||||
};
|
||||
*/
|
||||
|
||||
// This is the mirror, q <-> p, w <-> o, etc...
|
||||
{
|
||||
{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} },
|
||||
{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} },
|
||||
{ {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} },
|
||||
{ {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8} },
|
||||
{ {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9} },
|
||||
|
||||
{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} },
|
||||
{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} },
|
||||
{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} },
|
||||
{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} },
|
||||
{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} },
|
||||
};
|
||||
|
||||
# ifdef ENCODER_MAP_ENABLE
|
||||
const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
if (is_keyboard_master()) {
|
||||
return OLED_ROTATION_270;
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM qmk_logo[] = {
|
||||
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
|
||||
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
|
||||
0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
|
||||
};
|
||||
oled_write_P(qmk_logo, false);
|
||||
}
|
||||
|
||||
void print_status_narrow(void) {
|
||||
oled_write_P(PSTR("\n\n"), false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write_ln_P(PSTR("Qwrt"), false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write_ln_P(PSTR("Clmk"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write_P(PSTR("Mod\n"), false);
|
||||
break;
|
||||
}
|
||||
oled_write_P(PSTR("\n\n"), false);
|
||||
oled_write_ln_P(PSTR("LAYER"), false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
case 1:
|
||||
oled_write_P(PSTR("Base\n"), false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write_P(PSTR("Raise"), false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write_P(PSTR("Lower"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write_ln_P(PSTR("Undef"), false);
|
||||
}
|
||||
oled_write_P(PSTR("\n\n"), false);
|
||||
led_t led_usb_state = host_keyboard_led_state();
|
||||
oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
if (is_keyboard_master()) {
|
||||
print_status_narrow();
|
||||
} else {
|
||||
render_logo();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) {
|
||||
return false;
|
||||
}
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user