logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: 70a7ed26e17a1e414cb7feeaceb09f46cf9965d5
parent 300af1e5bfb887d1dc8528a70dfb599841ffc92b
Author: Drashna Jaelre <drashna@live.com>
Date:   Sat, 23 Dec 2023 15:46:07 -0800

[Keyboard] Move Moonlander to ZSA folder (#22740)


Diffstat:

Mdata/mappings/keyboard_aliases.hjson3+++
Dkeyboards/moonlander/keymaps/shahn-neo/config.h19-------------------
Dkeyboards/moonlander/keymaps/shahn-neo/keymap.c121-------------------------------------------------------------------------------
Dkeyboards/moonlander/keymaps/shahn-neo/readme.md16----------------
Dkeyboards/moonlander/readme.md59-----------------------------------------------------------
Rkeyboards/moonlander/config.h -> keyboards/zsa/moonlander/config.h0
Rkeyboards/moonlander/halconf.h -> keyboards/zsa/moonlander/halconf.h0
Rkeyboards/moonlander/info.json -> keyboards/zsa/moonlander/info.json0
Rkeyboards/moonlander/keymaps/default/config.h -> keyboards/zsa/moonlander/keymaps/default/config.h0
Rkeyboards/moonlander/keymaps/default/keymap.c -> keyboards/zsa/moonlander/keymaps/default/keymap.c0
Rkeyboards/moonlander/keymaps/via/keymap.c -> keyboards/zsa/moonlander/keymaps/via/keymap.c0
Rkeyboards/moonlander/keymaps/via/readme.md -> keyboards/zsa/moonlander/keymaps/via/readme.md0
Rkeyboards/moonlander/keymaps/via/rules.mk -> keyboards/zsa/moonlander/keymaps/via/rules.mk0
Rkeyboards/moonlander/matrix.c -> keyboards/zsa/moonlander/matrix.c0
Rkeyboards/moonlander/mcuconf.h -> keyboards/zsa/moonlander/mcuconf.h0
Rkeyboards/moonlander/moonlander.c -> keyboards/zsa/moonlander/moonlander.c0
Rkeyboards/moonlander/moonlander.h -> keyboards/zsa/moonlander/moonlander.h0
Akeyboards/zsa/moonlander/readme.md58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rkeyboards/moonlander/rules.mk -> keyboards/zsa/moonlander/rules.mk0
19 files changed, 61 insertions(+), 215 deletions(-)

diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson @@ -464,6 +464,9 @@ "montsinger/rebound": { "target": "montsinger/rebound/rev1" }, + "moonlander": { + "target": "zsa/moonlander" + }, "mschwingen/modelm": { "target": "ibm/model_m/mschwingen" }, diff --git a/keyboards/moonlander/keymaps/shahn-neo/config.h b/keyboards/moonlander/keymaps/shahn-neo/config.h @@ -1,19 +0,0 @@ -/* Copyright 2020 Sönke Hahn <SoenkeHahn@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/>. - */ - -#pragma once - -#define ORYX_CONFIGURATOR diff --git a/keyboards/moonlander/keymaps/shahn-neo/keymap.c b/keyboards/moonlander/keymaps/shahn-neo/keymap.c @@ -1,121 +0,0 @@ -/* Copyright 2020 Sönke Hahn <SoenkeHahn@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/>. - */ - -#include QMK_KEYBOARD_H -#include "version.h" - -enum layers { - BASE, // default layer - L_3, - L_4, -}; - -enum custom_keycodes { - a_umlaut = SAFE_RANGE, - o_umlaut, - u_umlaut, - eszett, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_moonlander( - XXXXXXX, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , XXXXXXX, XXXXXXX, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , XXXXXXX, - KC_TAB , KC_X , KC_V , KC_L , KC_C , KC_W , XXXXXXX, XXXXXXX, KC_K , KC_H , KC_G , KC_F , KC_Q , eszett , - XXXXXXX, KC_U , KC_I , KC_A , KC_E , KC_O , XXXXXXX, XXXXXXX, KC_S , KC_N , KC_R , KC_T , KC_D , KC_Y , - XXXXXXX, u_umlaut, o_umlaut, a_umlaut, KC_P , KC_Z , KC_B , KC_M , KC_COMM, KC_DOT , KC_J , XXXXXXX, - XXXXXXX, XXXXXXX , XXXXXXX , KC_LGUI , MO(L_4), XXXXXXX, XXXXXXX, MO(L_4), KC_RGUI, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LCTL, KC_LSFT, MO(L_3), MO(L_3), KC_RSFT, KC_SPC - ), - - [L_3] = LAYOUT_moonlander( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, KC_UNDS, KC_LBRC, KC_RBRC, KC_CIRC, XXXXXXX, XXXXXXX, KC_EXLM, KC_LABK, KC_RABK, KC_EQL , KC_AMPR, XXXXXXX, - XXXXXXX, KC_BSLS, KC_SLSH, KC_LCBR, KC_RCBR, KC_ASTR, XXXXXXX, XXXXXXX, KC_QUES, KC_LPRN, KC_RPRN, KC_MINS, KC_COLN, KC_AT , - XXXXXXX, KC_HASH, KC_DLR , KC_PIPE, KC_TILD, KC_GRV , KC_PLUS, KC_PERC, KC_DQUO, KC_QUOT, KC_SCLN, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - [L_4] = LAYOUT_moonlander( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, KC_PGUP, KC_BSPC, KC_UP , KC_DEL , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_7 , KC_8 , KC_9 , XXXXXXX, XXXXXXX, - XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , XXXXXXX, XXXXXXX, XXXXXXX, KC_4 , KC_5 , KC_6 , XXXXXXX, XXXXXXX, - XXXXXXX, KC_ESC , KC_TAB , XXXXXXX, KC_ENT , XXXXXXX, XXXXXXX, KC_1 , KC_2 , KC_3 , XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_0 - ), -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - ML_LED_1(false); - ML_LED_2(false); - ML_LED_3(false); - ML_LED_4(false); - ML_LED_5(false); - ML_LED_6(false); - - switch (get_highest_layer(state)) { - case 1: - ML_LED_1(1); - ML_LED_4(1); - break; - case 2: - ML_LED_2(1); - ML_LED_5(1); - break; - case 3: - ML_LED_3(1); - break; - case 4: - ML_LED_4(1); - break; - case 5: - ML_LED_5(1); - break; - case 6: - ML_LED_6(1); - break; - default: - break; - } - - return state; -} - -// only works after executing -// $ xmodmap -e "keycode 138 = Multi_key" -#define compose_key SS_TAP(X_MENU) - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case a_umlaut: - SEND_STRING(compose_key "\"a"); - return false; - case o_umlaut: - SEND_STRING(compose_key "\"o"); - return false; - case u_umlaut: - SEND_STRING(compose_key "\"u"); - return false; - case eszett: - SEND_STRING(compose_key "ss"); - return false; - } - } - return true; -} diff --git a/keyboards/moonlander/keymaps/shahn-neo/readme.md b/keyboards/moonlander/keymaps/shahn-neo/readme.md @@ -1,16 +0,0 @@ -# Sönke Hahn's Neo layout for the Moonlander keyboard - -This is my personal keyboard layout based on the Neo keyboard layout: -https://en.wikipedia.org/wiki/Neo_(keyboard_layout) -This layout is not meant as a general layout for other people using the -Neo keyboard layout. It's very specific to my personal needs. -It still might be useful as inspiration to other people who want to -create a Neo layout. - -Some notes: - -- I've put the ctrl key, the shift keys and the modifiers to switch to - layer 4 in the middle to be operated by the thumbs. I wanted to avoid - having to use my pinkies on the outer rows of the keyboard. -- The umlauts (äöü) and the ß only work on linux when configuring the - compose key properly. See `compose_key` in `./keymap.c`. diff --git a/keyboards/moonlander/readme.md b/keyboards/moonlander/readme.md @@ -1,58 +0,0 @@ -# Moonlander - -![Moonlander](https://zsa.io/static/gallery-white-case-7a2ef555f8f7f4ce1b9030477b16e517.png) - -A next-gen split, ergonomic keyboard with an active left side, USB type C, integrated wrist rest, and a thumb cluster that can move. - - -* Keyboard Maintainer: [drashna](https://github.com/drashna), [ZSA](https://github.com/zsa/) -* Hardware Supported: Moonlander MK 1 (STM32F303xC) -* Hardware Availability: [ZSA Store](https://zsa.io/moonlander/) - -Make example for this keyboard (after setting up your build environment): - - make moonlander:default - -Flashing example for this keyboard: - - make moonlander:default:flash - -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). - - -## Moonlander Customization - -### Indicator LEDs - -There are 6 functions for enabling and disabling the LEDs on the top of the boards. The functions are `ML_LED_1(bool)` through `ML_LED_6(bool)`, with the first LED being the left most LED on the left hand, and the sixth LED being the right most LED on the right side. - -By default, the Indicator LEDs are used to indicate the layer state for the keyboard. If you wish to change this (and indicate caps/num/scroll lock status instead), then define `MOONLANDER_USER_LEDS` in your `config.h` file. - - -### Oryx Configuration - -To enable the features from Oryx (ZSA's Configurator), either compile the `default` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file. - -This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR` keycode. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. - -### RGB Matrix Features - -If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. - -This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. - -Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. - -### Detecting split / Gaming mode - -To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak). - -Example for enabling a specific layer while right side is disconnected: - -``` -void housekeeping_task_user(void) { - if (!is_transport_connected()) { - // set layer - } -} -``` -\ No newline at end of file diff --git a/keyboards/moonlander/config.h b/keyboards/zsa/moonlander/config.h diff --git a/keyboards/moonlander/halconf.h b/keyboards/zsa/moonlander/halconf.h diff --git a/keyboards/moonlander/info.json b/keyboards/zsa/moonlander/info.json diff --git a/keyboards/moonlander/keymaps/default/config.h b/keyboards/zsa/moonlander/keymaps/default/config.h diff --git a/keyboards/moonlander/keymaps/default/keymap.c b/keyboards/zsa/moonlander/keymaps/default/keymap.c diff --git a/keyboards/moonlander/keymaps/via/keymap.c b/keyboards/zsa/moonlander/keymaps/via/keymap.c diff --git a/keyboards/moonlander/keymaps/via/readme.md b/keyboards/zsa/moonlander/keymaps/via/readme.md diff --git a/keyboards/moonlander/keymaps/via/rules.mk b/keyboards/zsa/moonlander/keymaps/via/rules.mk diff --git a/keyboards/moonlander/matrix.c b/keyboards/zsa/moonlander/matrix.c diff --git a/keyboards/moonlander/mcuconf.h b/keyboards/zsa/moonlander/mcuconf.h diff --git a/keyboards/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c diff --git a/keyboards/moonlander/moonlander.h b/keyboards/zsa/moonlander/moonlander.h diff --git a/keyboards/zsa/moonlander/readme.md b/keyboards/zsa/moonlander/readme.md @@ -0,0 +1,58 @@ +# Moonlander + +![Moonlander](https://i.imgur.com/st2PCgph.png) + +A next-gen split, ergonomic keyboard with an active left side, USB type C, integrated wrist rest, and a thumb cluster that can move. + + +* Keyboard Maintainer: [drashna](https://github.com/drashna), [ZSA](https://github.com/zsa/) +* Hardware Supported: Moonlander MK 1 (STM32F303xC) +* Hardware Availability: [ZSA Store](https://zsa.io/moonlander/) + +Make example for this keyboard (after setting up your build environment): + + make zsa/moonlander:default + +Flashing example for this keyboard: + + make zsa/moonlander:default:flash + +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). + + +## Moonlander Customization + +### Indicator LEDs + +There are 6 functions for enabling and disabling the LEDs on the top of the boards. The functions are `ML_LED_1(bool)` through `ML_LED_6(bool)`, with the first LED being the left most LED on the left hand, and the sixth LED being the right most LED on the right side. + +By default, the Indicator LEDs are used to indicate the layer state for the keyboard. If you wish to change this (and indicate caps/num/scroll lock status instead), then define `MOONLANDER_USER_LEDS` in your `config.h` file. + + +### Oryx Configuration + +To enable the features from Oryx (ZSA's Configurator), either compile the `default` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file. + +This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR` keycode. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. + +### RGB Matrix Features + +If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. + +This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. + +Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. + +### Detecting split / Gaming mode + +To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak). + +Example for enabling a specific layer while right side is disconnected: + +``` +void housekeeping_task_user(void) { + if (!is_transport_connected()) { + // set layer + } +} +``` diff --git a/keyboards/moonlander/rules.mk b/keyboards/zsa/moonlander/rules.mk