diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h index 9b5c00e9e4bd..6ae21db39277 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h @@ -1,6 +1,7 @@ /* -<<<<<<<< HEAD:keyboards/handwired/jscotto/scotto40/keymaps/default/config.h -Copyright 2022 Joe Scotto +<<<<<<<< HEAD:keyboards/zerf9/space_control1/post_config.h +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert ======== This is the c configuration file for the keymap @@ -16,7 +17,7 @@ the Free Software Foundation, either version 2 of the License, or 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 +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 @@ -25,12 +26,22 @@ along with this program. If not, see . #pragma once -<<<<<<<< HEAD:keyboards/handwired/jscotto/scotto40/keymaps/default/config.h -// Define options -#define IGNORE_MOD_TAP_INTERRUPT -#define TAPPING_TERM 135 -#define PERMISSIVE_HOLD -#define TAPPING_TERM_PER_KEY +<<<<<<<< HEAD:keyboards/zerf9/space_control1/post_config.h +#ifndef RGBLIGHT_LIMIT_VAL +# if defined(OLED_ENABLE) +# define RGBLIGHT_LIMIT_VAL 100 +# else +# define RGBLIGHT_LIMIT_VAL 150 +# endif +#endif + +#ifndef OLED_BRIGHTNESS +# ifdef RGBLIGHT_ENABLE +# define OLED_BRIGHTNESS 80 +# else +# define OLED_BRIGHTNESS 150 +# endif +#endif ======== /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/handwired/jscotto/scotto40/keymaps/default/config.h b/keyboards/handwired/jscotto/scotto40/keymaps/default/config.h index 496bf865fd82..981a63774fd9 100644 --- a/keyboards/handwired/jscotto/scotto40/keymaps/default/config.h +++ b/keyboards/handwired/jscotto/scotto40/keymaps/default/config.h @@ -1,5 +1,5 @@ /* -<<<<<<<< HEAD:keyboards/zerf9/chunky2040/post_config.h +<<<<<<<< HEAD:keyboards/zerf9/spacetrack/post_config.h Copyright 2012 Jun Wako Copyright 2015 Jack Humbert ======== @@ -22,7 +22,7 @@ along with this program. If not, see . #pragma once -<<<<<<<< HEAD:keyboards/zerf9/chunky2040/post_config.h +<<<<<<<< HEAD:keyboards/zerf9/spacetrack/post_config.h #ifndef RGBLIGHT_LIMIT_VAL # if defined(OLED_ENABLE) # define RGBLIGHT_LIMIT_VAL 100 diff --git a/keyboards/handwired/orbweaver/config.h b/keyboards/handwired/orbweaver/config.h new file mode 100644 index 000000000000..ab7cb9d9d5e9 --- /dev/null +++ b/keyboards/handwired/orbweaver/config.h @@ -0,0 +1,24 @@ +// Copyright 2023 a_marmot +// +// 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/>. +// +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DRIVER_COUNT 1 +#define DRIVER_ADDR_1 0b1110100 +#define RGB_MATRIX_LED_COUNT 20 +#define I2C1_CLOCK_SPEED 100000 +#define RGB_MATRIX_CENTER { 40, 30 } diff --git a/keyboards/handwired/orbweaver/info.json b/keyboards/handwired/orbweaver/info.json new file mode 100644 index 000000000000..e9b37e1c81cb --- /dev/null +++ b/keyboards/handwired/orbweaver/info.json @@ -0,0 +1,59 @@ +{ + "manufacturer": "a_marmot", + "keyboard_name": "orbweaver", + "maintainer": "a_marmot", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "cols": ["GP12", "GP13", "GP14", "GP15", "GP16"] + }, + "processor": "RP2040", + "url": "https://geekhack.org/index.php?topic=119396.0", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1 }, + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2 }, + { "matrix": [3, 0], "x": 0, "y": 3 }, + { "matrix": [3, 1], "x": 1, "y": 3 }, + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [4, 0], "x": 0, "y": 4 }, + { "matrix": [4, 1], "x": 1, "y": 4 }, + { "matrix": [4, 2], "x": 2, "y": 4 }, + { "matrix": [4, 3], "x": 3, "y": 4 }, + { "matrix": [4, 4], "x": 4, "y": 4 }, + { "matrix": [5, 0], "x": 0, "y": 5 }, + { "matrix": [5, 1], "w": 4, "x": 1, "y": 5 } + ] + } + } +} diff --git a/keyboards/handwired/orbweaver/keymaps/default/keymap.c b/keyboards/handwired/orbweaver/keymaps/default/keymap.c new file mode 100644 index 000000000000..fb168264306a --- /dev/null +++ b/keyboards/handwired/orbweaver/keymaps/default/keymap.c @@ -0,0 +1,110 @@ +/* Copyright 2023 a_marmot +* +* 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +//generic default keymap with Razor defaults (+ mode toggle) + + /* + * ┌───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ + * ├───┼───┼───┼───┼───┤ + * │Tab│ q │ w │ e │ r │ + * ├───┼───┼───┼───┼───┤ + * │Cap│ a │ s │ d │ f │ + * ├───┼───┼───┼───┼───┤ + * │Shi│ z │ x │ c │ v │ + * ├───┼───┼───┼───┼───┤ + * │Alt│ ↑ │ ↓ │ → │ ← │ + * ├───────┴┬──┴───┴───┤ + * │Spacebar│change map│ + * └────────┴──────────┘ + */ + + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, + KC_LALT, KC_UP, KC_DOWN, KC_RIGHT, KC_LEFT, + KC_SPACE, TO(1) + ), + +//Second example keymap with all modifier keys replaced with numbers or letters + + /* + * ┌───┬───┬───┬───┬───┐ + * │ 0 │ 1 │ 2 │ 3 │ 4 │ + * ├───┼───┼───┼───┼───┤ + * │ i │ q │ w │ e │ r │ + * ├───┼───┼───┼───┼───┤ + * │ j │ a │ s │ d │ f │ + * ├───┼───┼───┼───┼───┤ + * │ k │ z │ x │ c │ v │ + * ├───┼───┼───┼───┼───┤ + * │ l │ ↑ │ ↓ │ → │ ← │ + * ├───────┴┬──┴───┴───┤ + * │Spacebar│change map│ + * └────────┴──────────┘ + */ + + [1] = LAYOUT( + KC_0, KC_1, KC_2, KC_3, KC_4, + KC_I, KC_Q, KC_W, KC_E, KC_R, + KC_J, KC_A, KC_S, KC_D, KC_F, + KC_K, KC_Z, KC_X, KC_C, KC_V, + KC_L, KC_UP, KC_DOWN, KC_RIGHT, KC_LEFT, + KC_SPACE, TO(0) + ) +//, add more keymaps here + +}; + +static const uint8_t colormap[][20][3] = { + +// colors for the default key map in hex RGB values + { + {0x00, 0x00, 0xFF},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00}, + {0xFF, 0x70, 0x00},{0x00, 0xFF, 0xFF},{0x80, 0x00, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF}, + {0xFF, 0x70, 0x00},{0x80, 0x00, 0xFF},{0x80, 0x00, 0xFF},{0x80, 0x00, 0xFF},{0x00, 0xFF, 0xFF}, + {0xFF, 0x70, 0x00},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF} + }, + +// colors for the 2nd key map + { + {0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00},{0xE7, 0xFF, 0x00}, + {0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x80, 0x00, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF}, + {0x00, 0xFF, 0xFF},{0x80, 0x00, 0xFF},{0x80, 0x00, 0xFF},{0x80, 0x00, 0xFF},{0x00, 0xFF, 0xFF}, + {0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF},{0x00, 0xFF, 0xFF} + } +//, add more keymaps here + +}; + + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + for (uint8_t i = led_min; i < led_max; i++) { + rgb_matrix_set_color(i, + colormap[get_highest_layer(layer_state|default_layer_state)][i][0], + colormap[get_highest_layer(layer_state|default_layer_state)][i][1], + colormap[get_highest_layer(layer_state|default_layer_state)][i][2]); + } + + return false; +} + diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c new file mode 100644 index 000000000000..f6485b6adfa0 --- /dev/null +++ b/keyboards/handwired/orbweaver/orbweaver.c @@ -0,0 +1,84 @@ +// Copyright 2023 a_marmot +// +// 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/>. +// +// SPDX-License-Identifier: GPL-2.0-or-later + +// This IS31FL3731 configuration is for a Razer Orbweaver Chroma. +// It was reverse-engineered by testing all possible Cx_y combinations (144 total), +// and determining which ones addressed individual diodes (60 total). These were then +// placed in order R-G-B, sweeping left to right, and then top to bottom. + +#include "rgb_matrix.h" + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, C9_1, C8_1, C7_1}, //top left key. + {0, C9_2, C8_2, C7_2}, + {0, C9_3, C8_3, C7_3}, + {0, C9_4, C8_4, C7_4}, + {0, C9_5, C8_5, C7_5}, //top right key. + {0, C9_6, C8_6, C7_6}, + {0, C9_7, C8_7, C6_6}, + {0, C9_8, C7_7, C6_7}, + {0, C1_8, C2_8, C3_8}, + {0, C1_7, C2_7, C3_7}, + {0, C1_6, C2_6, C3_6}, + {0, C1_5, C2_5, C3_5}, + {0, C1_4, C2_4, C3_4}, + {0, C1_3, C2_3, C3_3}, + {0, C1_2, C2_2, C4_3}, + {0, C1_1, C3_2, C4_2}, //lower left key + {0, C9_9, C8_9, C7_9}, + {0, C9_10, C8_10, C7_10}, + {0, C9_11, C8_11, C7_11}, + {0, C9_12, C8_12, C7_12} //lower right key + +}; + +led_config_t g_led_config = { + // Matrix location to LED index + { + { 0, 2, 3, 4, 5 }, + { 6, 7, 8, 9, 10 }, + { 11, 12, 13, 14, 15 }, + { 16, 17, 18, 19, 19 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED } + }, + + // LED index to physical location + { + {0,0}, {20,0}, {40,0}, {60,0}, {80,0}, + {0,20}, {20,20}, {40,20}, {60,20}, {80,20}, + {0,40}, {20,40}, {40,40}, {60,40}, {80,40}, + {0,60}, {20,60}, {40,60}, {60,60}, {80,60} + }, + + // LED index to flags + { + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4 + } + }; + + + diff --git a/keyboards/handwired/orbweaver/readme.md b/keyboards/handwired/orbweaver/readme.md new file mode 100644 index 000000000000..7075d8a6a319 --- /dev/null +++ b/keyboards/handwired/orbweaver/readme.md @@ -0,0 +1,39 @@ +# orbweaver + +This firmware is for a Razer Orbweaver Chroma keypad, modded to replace the stock MCU +with an Elite Pi RP2040 microcontroller. Mod instructions can be found on [geekhack](https://geekhack.org/index.php?topic=119396.0). + +The firmware controls a 6x5 key matrix (4x5 keypad + 6 additional keys +on the thumb pad and up to 4 additional keys added by user). It also controls a +IS31FL3731 RGB Matrix controller (on the Chroma model) via I2C interface. This requires +a single I2C Driver with 20 common anode RGB LEDs. I found that the I2C clock speed must +be slowed down to 100 kHz for the IS31 chip to keep up (the default for RP2040 seems to +be 400 kHz unless specified otherwise). + +The default key map (layer 0) is a generic layer based on the original Razer defaults. +You can change or add layers as needed, and change static colors in keymap.c + +Many thanks to bomtarnes, Drashna, Dasky, sigprof, and casuanoob for helpful discussions +and coding suggestions and snippets. + +* Keyboard Maintainer: [a_marmot](https://github.com/a-marmot) +* Hardware Supported: RP2040 + IS31FL3731 +* Hardware Availability: [https://geekhack.org/index.php?topic=119396.0](https://geekhack.org/index.php?topic=119396.0) + +Make example for this keyboard (after setting up your build environment): + + make handwired/orbweaver:default + +Flashing example for this keyboard: + + make handwired/orbweaver: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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* Press and hold the upper left hand key on the main keyboard while you plug in the USB. +* Press and release both reset buttons on the top of the RP2040 inside the modded unit. diff --git a/keyboards/handwired/orbweaver/rules.mk b/keyboards/handwired/orbweaver/rules.mk new file mode 100644 index 000000000000..07c357daaccb --- /dev/null +++ b/keyboards/handwired/orbweaver/rules.mk @@ -0,0 +1,3 @@ +# Add support for 3731 RGB matrix controller +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3731 diff --git a/keyboards/mecxlabs/mp1/info.json b/keyboards/mecxlabs/mp1/info.json new file mode 100644 index 000000000000..db989e5517f9 --- /dev/null +++ b/keyboards/mecxlabs/mp1/info.json @@ -0,0 +1,46 @@ +{ + "keyboard_name": "mp1", + "manufacturer": "Mecx Labs", + "maintainer": "patrykf03", + "usb": { + "vid": "0xC6C6", + "pid": "0x6C6C", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { "pin_a": "A10", "pin_b": "A9", "resolution": 2 } + ] + }, + "matrix_pins": { + "direct": [ + ["B14", "A14", "A15"], + ["B13", "B12", "A2"], + ["A5", "A4", "A3"] + ] + }, + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + { "matrix": [0, 0], "x": 0.0, "y": 0.0 }, + { "matrix": [0, 1], "x": 1.0, "y": 0.0 }, + { "matrix": [0, 2], "x": 2.0, "y": 0.0 }, + { "matrix": [1, 0], "x": 0.0, "y": 1.0 }, + { "matrix": [1, 1], "x": 1.0, "y": 1.0 }, + { "matrix": [1, 2], "x": 2.0, "y": 1.0 }, + { "matrix": [2, 0], "x": 0.0, "y": 2.0 }, + { "matrix": [2, 1], "x": 1.0, "y": 2.0 }, + { "matrix": [2, 2], "x": 2.0, "y": 2.0 } + ] + } + } +} diff --git a/keyboards/mecxlabs/mp1/keymaps/default/keymap.c b/keyboards/mecxlabs/mp1/keymaps/default/keymap.c new file mode 100644 index 000000000000..a58fefbd2d73 --- /dev/null +++ b/keyboards/mecxlabs/mp1/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_3x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, KC_9 + ) + +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} diff --git a/keyboards/mecxlabs/mp1/readme.md b/keyboards/mecxlabs/mp1/readme.md new file mode 100644 index 000000000000..de0c6e6255ce --- /dev/null +++ b/keyboards/mecxlabs/mp1/readme.md @@ -0,0 +1,23 @@ +# mecxlabs mp1 + +* Keyboard Maintainer: [Patrykf03](https://github.com/Patrykf03) +* Hardware Supported: Mecx Labs mp1 macropad (STM32/APM32F072) +* Hardware Availability: [mecxlabs.com](https://mecxlabs.com/products/mp1-framework) + +Make example for this keyboard (after setting up your build environment): + + make mecxlabs/mp1:default + +Flashing example for this keyboard: + + make mecxlabs/mp1: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (encoder in top left) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/mecxlabs/mp1/rules.mk b/keyboards/mecxlabs/mp1/rules.mk new file mode 100644 index 000000000000..ee2a7c0d6a92 --- /dev/null +++ b/keyboards/mecxlabs/mp1/rules.mk @@ -0,0 +1,4 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ryanbaekr/rb18/config.h b/keyboards/ryanbaekr/rb18/config.h index cc813fa08e52..d6d244cee273 100644 --- a/keyboards/ryanbaekr/rb18/config.h +++ b/keyboards/ryanbaekr/rb18/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 4 - /* * Keyboard Matrix Assignments * diff --git a/keyboards/ryanbaekr/rb69/config.h b/keyboards/ryanbaekr/rb69/config.h index 6022c32960a0..29ff3cf39e0e 100644 --- a/keyboards/ryanbaekr/rb69/config.h +++ b/keyboards/ryanbaekr/rb69/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 - /* * Keyboard Matrix Assignments * diff --git a/keyboards/ryanbaekr/rb86/config.h b/keyboards/ryanbaekr/rb86/config.h index 8c51531f273d..321b9db230b7 100644 --- a/keyboards/ryanbaekr/rb86/config.h +++ b/keyboards/ryanbaekr/rb86/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 17 - /* * Keyboard Matrix Assignments * diff --git a/keyboards/zerf9/space_control1/post_config.h b/keyboards/zerf9/space_control1/post_config.h index 2aea1373cd71..6ae21db39277 100644 --- a/keyboards/zerf9/space_control1/post_config.h +++ b/keyboards/zerf9/space_control1/post_config.h @@ -1,6 +1,14 @@ /* +<<<<<<<< HEAD:keyboards/zerf9/space_control1/post_config.h Copyright 2012 Jun Wako Copyright 2015 Jack Humbert +======== +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2023 André Büsgen +>>>>>>>> upstream/develop:keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h 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 @@ -18,6 +26,7 @@ along with this program. If not, see . #pragma once +<<<<<<<< HEAD:keyboards/zerf9/space_control1/post_config.h #ifndef RGBLIGHT_LIMIT_VAL # if defined(OLED_ENABLE) # define RGBLIGHT_LIMIT_VAL 100 @@ -33,3 +42,10 @@ along with this program. If not, see . # define OLED_BRIGHTNESS 150 # endif #endif +======== +/* Select hand configuration */ +// #define MASTER_LEFT +// #define MASTER_RIGHT + +#define EE_HANDS +>>>>>>>> upstream/develop:keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h diff --git a/keyboards/zerf9/spacetrack/post_config.h b/keyboards/zerf9/spacetrack/post_config.h index 2aea1373cd71..981a63774fd9 100644 --- a/keyboards/zerf9/spacetrack/post_config.h +++ b/keyboards/zerf9/spacetrack/post_config.h @@ -1,6 +1,10 @@ /* +<<<<<<<< HEAD:keyboards/zerf9/spacetrack/post_config.h Copyright 2012 Jun Wako Copyright 2015 Jack Humbert +======== +Copyright 2022 Joe Scotto +>>>>>>>> upstream/develop:keyboards/handwired/jscotto/scotto40/keymaps/default/config.h 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 @@ -9,7 +13,7 @@ the Free Software Foundation, either version 2 of the License, or 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 +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 @@ -18,6 +22,7 @@ along with this program. If not, see . #pragma once +<<<<<<<< HEAD:keyboards/zerf9/spacetrack/post_config.h #ifndef RGBLIGHT_LIMIT_VAL # if defined(OLED_ENABLE) # define RGBLIGHT_LIMIT_VAL 100 @@ -33,3 +38,10 @@ along with this program. If not, see . # define OLED_BRIGHTNESS 150 # endif #endif +======== +// Define options +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY +>>>>>>>> upstream/develop:keyboards/handwired/jscotto/scotto40/keymaps/default/config.h diff --git a/layouts/community/ergodox/zweihander-macos/keymap.c b/layouts/community/ergodox/zweihander-macos/keymap.c index d1c444f48dda..07d076f2d3f2 100644 --- a/layouts/community/ergodox/zweihander-macos/keymap.c +++ b/layouts/community/ergodox/zweihander-macos/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | L⌃ | L⌥ | L⌘ | ← | → | | ↑ | ↓ | [ | ] | ↩︎ | * `----------------------------------' `----------------------------------' * ,-------------. ,---------------. - * | `~ | '" | | ⎋ | ⌫ | + * | `~ | ⇪ | | ⎋ | ⌫ | * ,------|------|------| |------+--------+------. * | | | PgUp | | PgDn | | | * | ↩︎ | ⇥ |------| |------| ⇥ | | @@ -34,14 +34,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), - KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, - KC_LCTL, KC_LALT, KC_LGUI,KC_LEFT,KC_RGHT, - KC_GRV, KC_QUOT, - KC_PGUP, - KC_ENT ,KC_TAB ,KC_RALT, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, + KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT,KC_RGHT, + KC_GRV, KC_CAPS, + KC_LALT, + KC_ENT ,KC_TAB ,KC_LCTL, // right hand TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, MO(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, @@ -117,16 +117,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ // MEDIA AND MOUSE [MDIA] = LAYOUT_ergodox( - KC_TRNS, KC_F14 , KC_F15 , KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, /* F14 dims screen, F15 brightens */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_HOME, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_F14 , KC_F15 , KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, /* F14 dims screen, F15 brightens */ + KC_TRNS, KC_TRNS, LALT(KC_UP), KC_PGUP, LALT(KC_DOWN), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, // right hand - KC_TRNS, LGUI(KC_W), LGUI(LSFT(KC_GRV)), LGUI(KC_GRV), KC_TRNS, KC_TRNS, KC_PWR, + KC_TRNS, LGUI(KC_W), LGUI(LSFT(KC_GRV)), LGUI(KC_GRV), KC_TRNS, KC_EJCT, KC_PWR, KC_TRNS, LGUI(KC_RBRC), LGUI(LALT(KC_UP)), KC_UP , LGUI(LALT(KC_DOWN)), KC_TRNS, KC_TRNS, LGUI(KC_LBRC), KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_F16 , KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, diff --git a/layouts/community/ergodox/zweihander-macos/readme.markdown b/layouts/community/ergodox/zweihander-macos/readme.markdown index 8921647bd3a7..443b547625e1 100644 --- a/layouts/community/ergodox/zweihander-macos/readme.markdown +++ b/layouts/community/ergodox/zweihander-macos/readme.markdown @@ -70,4 +70,12 @@ Have you looked at the Page Up, Page Down, Home, and End keys on the EDSF keys a F16, accessed by holding ; and pressing the ' key next to it, is intended for Siri. +## use the fn/🌐︎︎︎ key + +A thumb key is bound to Caps Lock. You are not expected to use this for Caps Lock. You would probably be happier going into System Settings, opening the “Customize modifier keys” part of it, and having Caps Lock work as the fn key. macOS is convinced that Ergodoxen EZ have fn keys, so you might as well have one in a place that lends itself tolerably well to keyboard shortcuts. + +## use it with an iPad + +This layout overrides `USB_MAX_POWER_CONSUMPTION` to turn it down to 100 mA instead of the default of 500 mA. This is not what you want if your Ergodox EZ has the Shine or Glow lights, but good if you want to be able to plug it into your iPad’s lightning port with a USB adapter. The indicator lights that tell you what layer you’re on are _not_ Shine or Glow lights. + \* I pronounce “fn” as “effin’”. Your mileage may vary. diff --git a/quantum/painter/lvgl/qp_lvgl.c b/quantum/painter/lvgl/qp_lvgl.c index 41ca3f98c248..c6dd08ef97ee 100644 --- a/quantum/painter/lvgl/qp_lvgl.c +++ b/quantum/painter/lvgl/qp_lvgl.c @@ -109,14 +109,20 @@ bool qp_lvgl_attach(painter_device_t device) { selected_display = device; + uint16_t panel_width, panel_height, offset_x, offset_y; + qp_get_geometry(selected_display, &panel_width, &panel_height, NULL, &offset_x, &offset_y); + + panel_width -= offset_x; + panel_height -= offset_y; + // Setting up display driver - static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ - lv_disp_drv_init(&disp_drv); /*Basic initialization*/ - disp_drv.flush_cb = qp_lvgl_flush; /*Set your driver function*/ - disp_drv.draw_buf = &draw_buf; /*Assign the buffer to the display*/ - disp_drv.hor_res = driver->panel_width; /*Set the horizontal resolution of the display*/ - disp_drv.ver_res = driver->panel_height; /*Set the vertical resolution of the display*/ - lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ + static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ + lv_disp_drv_init(&disp_drv); /*Basic initialization*/ + disp_drv.flush_cb = qp_lvgl_flush; /*Set your driver function*/ + disp_drv.draw_buf = &draw_buf; /*Assign the buffer to the display*/ + disp_drv.hor_res = panel_width; /*Set the horizontal resolution of the display*/ + disp_drv.ver_res = panel_height; /*Set the vertical resolution of the display*/ + lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ return true; }