diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/keymap.json b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/keymap.json new file mode 100644 index 00000000..f5812fc2 --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/keymap.json @@ -0,0 +1,46 @@ +{ + "keyboard": "splitkb/halcyon/lily58/rev2", + "keymap": "default_hlc", + "version": 1, + "layout": "LAYOUT_lily58_hlc", + "layers": [ + [ + "KC_ESC" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_GRV" , + "KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_MINS", + "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_LBRC", "KC_RBRC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", + "KC_LALT", "KC_LGUI", "MO(1)" , "KC_SPC" , "KC_ENT" , "MO(2)" , "KC_BSPC", "KC_RGUI", + "KC_MUTE", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_MUTE", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_F1" , "KC_F2", "KC_F3", "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" ,"KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , + "KC_GRV" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TILD", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "XXXXXXX", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", + "_______", "_______", "_______", "_______", "_______", "MO(3)" , "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "_______", + "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "XXXXXXX", "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "XXXXXXX", + "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , "_______", "_______", "KC_PLUS", "KC_MINS", "KC_EQL" , "KC_LBRC", "KC_RBRC", "KC_BSLS", + "_______", "_______", "MO(3)" , "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "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", "XXXXXXX", "XXXXXXX", "RM_TOGG", "RM_HUEU", "RM_SATU", "RM_VALU", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RM_NEXT", "RM_HUED", "RM_SATD", "RM_VALD", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ], + "encoders": [ + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}] + ] +} diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/readme.md b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/readme.md new file mode 100644 index 00000000..b8095181 --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/readme.md @@ -0,0 +1,88 @@ +# Halcyon Lily58's Default Keymap +_This keymap is a copy of the [Lily58 default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/default), with slight modifications._ + +A simple default keymap for the Halcyon Lily58 +============================================= + +Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box. + +What do all these layers do? +---------------------------- + +### Layer 0: Base layer + +![Layer 0](https://i.imgur.com/sq8Rql7h.png) + +This is where your basic letters live. + +The homing thumb fingers are used to access the different layers. + +* The homing left thumb finger gives access to the Symbols (or lower) layer +* The homing right thumb finger gives access to the Navigation (or raise) layer +* Pressing both homing thumb fingers gives access to the Adjust layer + +### Layer 1: Lower + +![Layer 1](https://i.imgur.com/baSE2OJh.png) + +The Lower layer gives access to the F keys on the second row, and shifted number keys on the home row. It also provides some shifted symbol keys. + +### Layer 2: Raise + +![Layer 2](https://i.imgur.com/CRnDa6Nh.png) + +The Raise layer gives access the arrow keys on the right hand, in addition to some unshifted symbols. The left hand provides an alternative set of F keys, while the second row provides an alternative set of number keys. + +### Layer 3: Adjust + +![Layer 3](https://i.imgur.com/QbCiTcyh.png) + +The Adjust layer exposes RGB adjustment keys on the right hand. + +Where is the keymap.c? +---------------------- + +The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. + +This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. + +How do I edit and update the keymap? +------------------------------------ + +The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. + +To edit it, you may: +* Edit it directly from a text editor. +* Edit it from the QMK Configurator. + +If you decide to use the latter workflow, here are the steps to follow: + +* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/aurora/lily58/rev1/LAYOUT), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). +* Browse to the location of your keymap (for example, `/keyboards/splitkb/aurora/lily58/keymaps/default/keymap.json`) +* Perform any modification to the keymap in the web UI +* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) +* Replace your original keymap with the one you just downloaded + +_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._ + +I want to do more than the JSON format supports! +------------------------------------------------- + +While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour. + +To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. + +First, from the root of your qmk repo, move to your keymap folder + +```bash +cd ./keymaps/splitkb/aurora/lily58/my_personal_keymap +``` + +Next, convert your `keymap.json` to a `keymap.c` + +```bash +qmk json2c -o keymap.c keymap.json +``` + +You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! +**If a JSON file is present, the C file is ignored.** diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/rules.mk b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/rules.mk new file mode 100644 index 00000000..54a02a4c --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/default_hlc/rules.mk @@ -0,0 +1,2 @@ +# This adds module functionality to your keyboard (files found in users/halcyon_modules) +USER_NAME := halcyon_modules diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/config.h b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/config.h new file mode 100644 index 00000000..5f47b193 --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/config.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* Copyright 2023 splitkb.com */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x14, 0x27, 0x8E, 0x26, 0xFA, 0x62, 0xD7, 0x01} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 6 } +#define VIAL_UNLOCK_COMBO_COLS { 5, 5 } + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/keymap.json b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/keymap.json new file mode 100644 index 00000000..c49e8602 --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/keymap.json @@ -0,0 +1,46 @@ +{ + "keyboard": "splitkb/halcyon/lily58/rev2", + "keymap": "vial_hlc", + "version": 1, + "layout": "LAYOUT_lily58_hlc", + "layers": [ + [ + "KC_ESC" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_GRV" , + "KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_MINS", + "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_LBRC", "KC_RBRC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", + "KC_LALT", "KC_LGUI", "MO(1)" , "KC_SPC" , "KC_ENT" , "MO(2)" , "KC_BSPC", "KC_RGUI", + "KC_MUTE", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_MUTE", "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_F1" , "KC_F2", "KC_F3", "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" ,"KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , + "KC_GRV" , "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_TILD", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "XXXXXXX", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", + "_______", "_______", "_______", "_______", "_______", "MO(3)" , "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "_______", + "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "XXXXXXX", "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "XXXXXXX", + "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , "KC_F12" , "_______", "_______", "KC_PLUS", "KC_MINS", "KC_EQL" , "KC_LBRC", "KC_RBRC", "KC_BSLS", + "_______", "_______", "MO(3)" , "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "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", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_TOG", "RGB_HUI", "RGB_SAI", "RGB_VAI", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_MOD", "RGB_HUD", "RGB_SAD", "RGB_VAD", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ], + "encoders": [ + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"} ,{"ccw": "KC_PGUP", "cw": "KC_PGDN"}] + ] +} diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/rules.mk b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/rules.mk new file mode 100644 index 00000000..27f651ed --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/rules.mk @@ -0,0 +1,8 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIALRGB_ENABLE = yes + +ENCODER_MAP_ENABLE = yes + +# This adds module functionality to your keyboard (files found in users/halcyon_modules) +USER_NAME := halcyon_modules diff --git a/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/vial.json b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/vial.json new file mode 100644 index 00000000..2934b8a2 --- /dev/null +++ b/keyboards/splitkb/halcyon/lily58/keymaps/vial_hlc/vial.json @@ -0,0 +1,55 @@ +{ + "lighting": "vialrgb", + "matrix": { + "rows": 12, + "cols": 6 + }, + "layouts": { + "labels": [ + "Soldered encoder left", + [ + "Halcyon module left", + "None", + "Encoder" + ], + "Soldered encoder right", + [ + "Halcyon module right", + "None", + "Encoder" + ] + ], + "keymap": [ + [{"x":3},"0,3",{"x":8.5},"6,3"], + [{"y":-0.87,"x":2},"0,2",{"x":1},"0,4",{"x":6.5},"6,4",{"x":1},"6,2"], + [{"y":-0.88,"x":5},"0,5",{"x":4.5},"6,5"], + [{"y":-0.87,"x":1},"0,1",{"x":12.5},"6,1"], + [{"y":-0.88},"0,0",{"x":14.5},"6,0"], + [{"y":-0.5,"x":3},"1,3",{"x":8.5},"7,3"], + [{"y":-0.87,"x":2},"1,2",{"x":1},"1,4",{"x":6.5},"7,4",{"x":1},"7,2"], + [{"y":-0.88,"x":5},"1,5",{"x":4.5},"7,5"], + [{"y":-0.87,"x":1},"1,1",{"x":12.5},"7,1"], + [{"y":-0.88},"1,0",{"x":14.5},"7,0"], + [{"y":-0.5,"x":3},"2,3",{"x":8.5},"8,3"], + [{"y":-0.87,"x":2},"2,2",{"x":1},"2,4",{"x":6.5},"8,4",{"x":1},"8,2"], + [{"y":-0.88,"x":5},"2,5",{"x":4.5},"8,5"], + [{"y":-0.87,"x":1},"2,1",{"x":12.5},"8,1"], + [{"y":-0.88},"2,0",{"x":14.5},"8,0"], + [{"y":-0.75,"x":6},"4,1",{"x":2.5},"10,1"], + [{"y":-0.75,"x":3},"3,3",{"x":8.5},"9,3"], + [{"y":-0.87,"x":2},"3,2",{"x":1},"3,4",{"x":6.5},"9,4",{"x":1},"9,2"], + [{"y":-0.88,"x":5},"3,5",{"x":4.5},"9,5"], + [{"y":-0.87,"x":1},"3,1",{"x":12.5},"9,1"], + [{"y":-0.88},"3,0",{"x":14.5},"9,0"], + [{"y":-0.37,"x":2.5},"4,2"], + [{"y":-0.98,"x":3.5},"4,3",{"x":7.5},"10,3","10,2"], + [{"y":-0.9,"x":4.5},"4,4",{"x":0.5,"h":1.5},"4,5",{"x":2.5,"h":1.5},"10,5",{"x":0.5},"10,4"], + [{"y":1,"d":true},"1,0\n\n\n1,0\n\n\n\n\n\ne",{"d":true},"5,2\n\n\n1,0",{"d":true},"1,1\n\n\n1,0\n\n\n\n\n\ne",{"x":1,"d":true},"0,0\n\n\n0,0\n\n\n\n\n\ne",{"d":true},"0,1\n\n\n0,0\n\n\n\n\n\ne",{"x":4.75,"d":true},"2,0\n\n\n2,0\n\n\n\n\n\ne",{"d":true},"2,1\n\n\n2,0\n\n\n\n\n\ne",{"x":0.75,"d":true},"3,0\n\n\n3,0\n\n\n\n\n\ne",{"d":true},"11,2\n\n\n3,0",{"d":true},"3,1\n\n\n3,0\n\n\n\n\n\ne"], + [{"d":true},"5,1\n\n\n1,0",{"d":true},"5,0\n\n\n1,0",{"d":true},"5,3\n\n\n1,0",{"x":1},"0,0\n\n\n0,1\n\n\n\n\n\ne","0,1\n\n\n0,1\n\n\n\n\n\ne",{"x":4.75},"2,0\n\n\n2,1\n\n\n\n\n\ne","2,1\n\n\n2,1\n\n\n\n\n\ne",{"x":0.75,"d":true},"11,1\n\n\n3,0",{"d":true},"11,0\n\n\n3,0",{"d":true},"11,3\n\n\n3,0"], + [{"x":1,"d":true},"5,4\n\n\n1,0",{"x":12.5,"d":true},"11,4\n\n\n3,0"], + [{"y":0.5},"1,0\n\n\n1,1\n\n\n\n\n\ne",{"d":true},"5,2\n\n\n1,1","1,1\n\n\n1,1\n\n\n\n\n\ne",{"x":10.5},"3,0\n\n\n3,1\n\n\n\n\n\ne",{"d":true},"11,2\n\n\n3,1","3,1\n\n\n3,1\n\n\n\n\n\ne"], + [{"d":true},"5,1\n\n\n1,1","5,0\n\n\n1,1",{"d":true},"5,3\n\n\n1,1",{"x":10.5,"d":true},"11,1\n\n\n3,1","11,0\n\n\n3,1",{"d":true},"11,3\n\n\n3,1"], + [{"x":1,"d":true},"5,4\n\n\n1,1",{"x":12.5,"d":true},"11,4\n\n\n3,1"] + ] + } +} diff --git a/layouts/lily58.json b/layouts/lily58.json new file mode 100644 index 00000000..df711658 --- /dev/null +++ b/layouts/lily58.json @@ -0,0 +1,76 @@ +{ + "layouts": { + "LAYOUT_lily58_hlc": { + "layout": [ + {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0.5}, + {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0.375}, + {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0.125}, + {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0.125}, + {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0.25}, + {"label": "R06", "matrix": [6, 5], "x": 10.5, "y": 0.25}, + {"label": "R05", "matrix": [6, 4], "x": 11.5, "y": 0.125}, + {"label": "R04", "matrix": [6, 3], "x": 12.5, "y": 0}, + {"label": "R03", "matrix": [6, 2], "x": 13.5, "y": 0.125}, + {"label": "R02", "matrix": [6, 1], "x": 14.5, "y": 0.375}, + {"label": "R01", "matrix": [6, 0], "x": 15.5, "y": 0.5}, + {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1.5}, + {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.375}, + {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1.125}, + {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1.125}, + {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "R12", "matrix": [7, 5], "x": 10.5, "y": 1.25}, + {"label": "R11", "matrix": [7, 4], "x": 11.5, "y": 1.125}, + {"label": "R10", "matrix": [7, 3], "x": 12.5, "y": 1}, + {"label": "R09", "matrix": [7, 2], "x": 13.5, "y": 1.125}, + {"label": "R08", "matrix": [7, 1], "x": 14.5, "y": 1.375}, + {"label": "R07", "matrix": [7, 0], "x": 15.5, "y": 1.5}, + {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2.5}, + {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2.375}, + {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2.125}, + {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2.125}, + {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2.25}, + {"label": "R18", "matrix": [8, 5], "x": 10.5, "y": 2.25}, + {"label": "R17", "matrix": [8, 4], "x": 11.5, "y": 2.125}, + {"label": "R16", "matrix": [8, 3], "x": 12.5, "y": 2}, + {"label": "R15", "matrix": [8, 2], "x": 13.5, "y": 2.125}, + {"label": "R14", "matrix": [8, 1], "x": 14.5, "y": 2.375}, + {"label": "R13", "matrix": [8, 0], "x": 15.5, "y": 2.5}, + {"label": "L20", "matrix": [3, 0], "x": 0, "y": 3.5}, + {"label": "L21", "matrix": [3, 1], "x": 1, "y": 3.375}, + {"label": "L22", "matrix": [3, 2], "x": 2, "y": 3.125}, + {"label": "L23", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "L24", "matrix": [3, 4], "x": 4, "y": 3.125}, + {"label": "L25", "matrix": [3, 5], "x": 5, "y": 3.25}, + {"label": "L19", "matrix": [4, 1], "x": 6, "y": 2.75}, + {"label": "R19", "matrix": [10, 1], "x": 9.5, "y": 2.75}, + {"label": "R25", "matrix": [9, 5], "x": 10.5, "y": 3.25}, + {"label": "R24", "matrix": [9, 4], "x": 11.5, "y": 3.125}, + {"label": "R23", "matrix": [9, 3], "x": 12.5, "y": 3}, + {"label": "R22", "matrix": [9, 2], "x": 13.5, "y": 3.125}, + {"label": "R21", "matrix": [9, 1], "x": 14.5, "y": 3.375}, + {"label": "R20", "matrix": [9, 0], "x": 15.5, "y": 3.5}, + {"label": "L26", "matrix": [4, 2], "x": 2.5, "y": 4.15}, + {"label": "L27", "matrix": [4, 3], "x": 3.5, "y": 4.15}, + {"label": "L28", "matrix": [4, 4], "x": 4.5, "y": 4.25}, + {"label": "L29", "matrix": [4, 5], "x": 6, "y": 4.25}, + {"label": "R29", "matrix": [10, 5], "x": 9.5, "y": 4.25}, + {"label": "R28", "matrix": [10, 4], "x": 11, "y": 4.25}, + {"label": "R27", "matrix": [10, 3], "x": 12, "y": 4.15}, + {"label": "R26", "matrix": [10, 2], "x": 13, "y": 4.15}, + {"matrix": [5, 0], "x": 0, "y": 7}, + {"matrix": [5, 1], "x": 1, "y": 7}, + {"matrix": [5, 2], "x": 2, "y": 7}, + {"matrix": [5, 3], "x": 3, "y": 7}, + {"matrix": [5, 4], "x": 4, "y": 7}, + {"matrix": [11, 0], "x": 15, "y": 7}, + {"matrix": [11, 1], "x": 14, "y": 7}, + {"matrix": [11, 2], "x": 13, "y": 7}, + {"matrix": [11, 3], "x": 12, "y": 7}, + {"matrix": [11, 4], "x": 11, "y": 7} + ] + } + } +} diff --git a/qmk.json b/qmk.json index 26266e50..5b315a21 100644 --- a/qmk.json +++ b/qmk.json @@ -195,3 +195,71 @@ ] ] } + + ], + [ + "splitkb/halcyon/lily58/rev2", + "vial_hlc", + { + "HLC_TFT_DISPLAY": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_vial_hlc_display" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "vial_hlc", + { + "HLC_ENCODER": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_vial_hlc_encoder" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "vial_hlc", + { + "HLC_CIRQUE_TRACKPAD": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_vial_hlc_cirque_trackpad" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "vial_hlc", + { + "HLC_NONE": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_vial_hlc" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "default_hlc", + { + "HLC_TFT_DISPLAY": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_default_hlc_display" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "default_hlc", + { + "HLC_ENCODER": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_default_hlc_encoder" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "default_hlc", + { + "HLC_CIRQUE_TRACKPAD": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_default_hlc_cirque_trackpad" + } + ], + [ + "splitkb/halcyon/lily58/rev2", + "default_hlc", + { + "HLC_NONE": "1", + "TARGET": "splitkb_halcyon_lily58_rev2_default_hlc" + } + ] + ] +} diff --git a/users/halcyon_modules/rules.mk b/users/halcyon_modules/rules.mk index 076d4577..888b4faf 100644 --- a/users/halcyon_modules/rules.mk +++ b/users/halcyon_modules/rules.mk @@ -1,5 +1,6 @@ # Add this to your existing rules.mk if you have one ifneq ($(filter $(strip $(KEYBOARD)), splitkb/halcyon/kyria/rev4 \ + splitkb/halcyon/lily58/rev2 \ splitkb/halcyon/elora/rev2 \ splitkb/halcyon/corne/rev2),) include $(USER_PATH)/splitkb/rules.mk diff --git a/users/halcyon_modules/splitkb/config.h b/users/halcyon_modules/splitkb/config.h index 71af8b79..77ecbf98 100644 --- a/users/halcyon_modules/splitkb/config.h +++ b/users/halcyon_modules/splitkb/config.h @@ -93,3 +93,28 @@ {k9A, k9B, k9C, k9D, k9E, KC_NO} \ } #endif + + +// Lily58 +#if defined(KEYBOARD_splitkb_halcyon_lily58_rev2) + #undef ENCODER_A_PINS + #define ENCODER_A_PINS { GP23, HLC_ENCODER_A } + #undef ENCODER_B_PINS + #define ENCODER_B_PINS { GP22, HLC_ENCODER_B } + #undef MATRIX_ROWS + #define MATRIX_ROWS 12 + #define LAYOUT_lily58_hlc(k0A, k0B, k0C, k0D, k0E, k0F, k6F, k6E, k6D, k6C, k6B, k6A, k1A, k1B, k1C, k1D, k1E, k1F, k7F, k7E, k7D, k7C, k7B, k7A, k2A, k2B, k2C, k2D, k2E, k2F, k8F, k8E, k8D, k8C, k8B, k8A, k3A, k3B, k3C, k3D, k3E, k3F, k4B, k10B, k9F, k9E, k9D, k9C, k9B, k9A, k4C, k4D, k4E, k4F, k10F, k10E, k10D, k10C, k5A, k5B, k5C, k5D, k5E, k11A, k11B, k11C, k11D, k11E) { \ + {k0A, k0B, k0C, k0D, k0E, k0F}, \ + {k1A, k1B, k1C, k1D, k1E, k1F}, \ + {k2A, k2B, k2C, k2D, k2E, k2F}, \ + {k3A, k3B, k3C, k3D, k3E, k3F}, \ + {KC_NO, k4B, k4C, k4D, k4E, k4F}, \ + {k5A, k5B, k5C, k5D, k5E, KC_NO}, \ + {k6A, k6B, k6C, k6D, k6E, k6F}, \ + {k7A, k7B, k7C, k7D, k7E, k7F}, \ + {k8A, k8B, k8C, k8D, k8E, k8F}, \ + {k9A, k9B, k9C, k9D, k9E, k9F}, \ + {KC_NO, k10B, k10C, k10D, k10E, k10F}, \ + {k11A, k11B, k11C, k11D, k11E, KC_NO} \ +} +#endif diff --git a/users/halcyon_modules/splitkb/halcyon.c b/users/halcyon_modules/splitkb/halcyon.c index 2d77260b..fd43f814 100644 --- a/users/halcyon_modules/splitkb/halcyon.c +++ b/users/halcyon_modules/splitkb/halcyon.c @@ -257,3 +257,45 @@ const matrix_row_t matrix_mask[] = { }; #endif #endif + +// Lily58 +#if defined(KEYBOARD_splitkb_halcyon_lily58_rev2) +#ifdef RGB_MATRIX_ENABLE +#include "rgb_matrix.h" +led_config_t g_led_config = { + { + { 5, 6, 7, 8, 9, 10 }, + { 11, 12, 13, 14, 15, 16 }, + { 17, 18, 19, 20, 21, 22 }, + { 23, 24, 25, 26, 27, 28 }, + { NO_LED, 29, 30, 31, 32, 33 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 44, 43, 42, 41, 40, 39 }, + { 50, 49, 48, 47, 46, 45 }, + { 56, 55, 54, 53, 52, 51 }, + { 63, 62, 61, 60, 59, 58 }, + { NO_LED, 57, 67, 66, 65, 64 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + }, + { {51, 13}, {22, 18}, {22, 53}, {58, 60}, {87, 56}, {0, 8}, {14, 6}, {29, 2}, {43, 0}, {58, 2}, {72, 4}, {0, 23}, {14, 21}, {29, 17}, {43, 15}, {58, 17}, {72, 19}, {0, 38}, {14, 36}, {29, 32}, {43, 30}, {58, 32}, {72, 34}, {0, 53}, {14, 51}, {29, 47}, {43, 45}, {58, 47}, {72, 49}, {87, 41}, {36, 62}, {51, 62}, {65, 64}, {87, 64}, {173, 13}, {202, 18}, {202, 53}, {166, 60}, {137, 56}, {152, 4}, {166, 2}, {181, 0}, {195, 2}, {210, 6}, {224, 8}, {152, 19}, {166, 17}, {181, 15}, {195, 17}, {210, 21}, {224, 23}, {152, 34}, {166, 32}, {181, 30}, {195, 32}, {210, 36}, {224, 38}, {137, 41}, {152, 49}, {166, 47}, {181, 45}, {195, 47}, {210, 51}, {224, 53}, {137, 64}, {159, 64}, {173, 62}, {188, 62} }, + { 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, +}; +#endif + +#ifdef MATRIX_MASKED +const matrix_row_t matrix_mask[] = { + 0b111111, + 0b111111, + 0b111111, + 0b111111, + 0b111110, + 0b011111, + 0b111111, + 0b111111, + 0b111111, + 0b111111, + 0b111110, + 0b011111, +}; +#endif +#endif