Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 49c912f
Author: jpe230 <[email protected]>
Date:   Wed Feb 1 21:31:54 2023 -0600

    QP: Correct rotation and offset when using LVGL (qmk#19713)

    Co-authored-by: Nick Brassel <[email protected]>
    Co-authored-by: Joel Challis <[email protected]>

commit 7717630
Merge: 1c772eb 8dc6686
Author: QMK Bot <[email protected]>
Date:   Wed Feb 1 18:55:53 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 8dc6686
Author: adiabatic <[email protected]>
Date:   Wed Feb 1 10:55:12 2023 -0800

    zweihander-macos: Update keys, add capslock (qmk#19730)

    * Update to current Scroll Lock/Power names

    * Replace `'` with `⇪`

commit 1c772eb
Merge: 0ee48d2 ca8b4b8
Author: QMK Bot <[email protected]>
Date:   Wed Feb 1 17:27:17 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit ca8b4b8
Author: a_marmot <[email protected]>
Date:   Wed Feb 1 09:26:37 2023 -0800

    [Keyboard] Add modded Razer Orbweaver with RP2040 (qmk#19711)

    Co-authored-by: jack <[email protected]>
    Co-authored-by: Sergey Vlasov <[email protected]>

commit 0ee48d2
Merge: 944b610 252b041
Author: QMK Bot <[email protected]>
Date:   Wed Feb 1 14:14:10 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 252b041
Author: Patryk <[email protected]>
Date:   Wed Feb 1 14:13:18 2023 +0000

    add Mecx Labs mp1 macropad (qmk#19064)

    * add mecxlabs mp1 macropad
    Co-authored-by: Joel Challis <[email protected]>

commit 944b610
Author: Joel Challis <[email protected]>
Date:   Tue Jan 31 01:02:17 2023 +0000

    Fix midi after recent refactoring (qmk#19723)

commit b867522
Author: Ryan <[email protected]>
Date:   Tue Jan 31 07:45:41 2023 +1100

    Clean up Force NKRO in config.h (qmk#19718)

commit d84a735
Author: Joel Challis <[email protected]>
Date:   Mon Jan 30 20:40:12 2023 +0000

    Strip out more of config_common (qmk#19722)

commit f6dd8de
Author: Nick Brassel <[email protected]>
Date:   Tue Jan 31 06:03:30 2023 +1100

    Remove usages of config_common.h from config.h files. (qmk#19714)

commit 2d84308
Author: Ryan <[email protected]>
Date:   Tue Jan 31 05:37:19 2023 +1100

    Normalise Swap Hands keycodes (qmk#19720)

commit cc9520b
Merge: ef6505a e296d67
Author: QMK Bot <[email protected]>
Date:   Mon Jan 30 08:48:34 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit e296d67
Author: Nick Brassel <[email protected]>
Date:   Mon Jan 30 19:47:46 2023 +1100

    Accumulate version.h generator flags. (qmk#19716)

commit ef6505a
Merge: 242b80c 2c878b1
Author: fauxpark <[email protected]>
Date:   Mon Jan 30 18:55:36 2023 +1100

    Merge remote-tracking branch 'upstream/master' into develop

commit 242b80c
Author: Ryan <[email protected]>
Date:   Mon Jan 30 18:47:50 2023 +1100

    Move MIDI code out of tmk_core (qmk#19704)

commit 968cc1f
Author: Joel Challis <[email protected]>
Date:   Mon Jan 30 04:10:40 2023 +0000

    Relocate diode direction definitions (qmk#19715)

commit 2c878b1
Author: Ryan <[email protected]>
Date:   Mon Jan 30 14:37:02 2023 +1100

    Clean up `qmk generate-autocorrect-data` (qmk#19710)

commit 328279a
Author: Wolf Van Herreweghe <[email protected]>
Date:   Sun Jan 29 23:58:07 2023 +0100

    Add base firmware for the Frog Numpad (qmk#19698)

    Co-authored-by: Wolf Van Herreweghe <[email protected]>
    Co-authored-by: Drashna Jaelre <[email protected]>
    Co-authored-by: jack <[email protected]>

commit d322b4c
Author: yiancar <[email protected]>
Date:   Sun Jan 29 16:59:13 2023 +0000

    [Keyboard] Baion 808 (qmk#19690)

    Co-authored-by: jack <[email protected]>
    Co-authored-by: Joel Challis <[email protected]>
    Co-authored-by: yiancar <[email protected]>

commit 043d8e1
Author: Ryan <[email protected]>
Date:   Mon Jan 30 03:44:16 2023 +1100

    Remove deprecated Quantum keycodes (qmk#19712)

commit 80cc6ad
Author: Joel Challis <[email protected]>
Date:   Sat Jan 28 21:16:59 2023 +0000

    Fix 19701 merge

commit 8cc2e0e
Author: Joel Challis <[email protected]>
Date:   Sat Jan 28 21:07:51 2023 +0000

    Fix quantum ring_buffer for ChibiOS (qmk#19683)

commit 832479c
Author: Joel Challis <[email protected]>
Date:   Sat Jan 28 20:40:47 2023 +0000

    Split out mcu_selection to platform (qmk#19701)

commit 981f3c3
Author: Albert Y <[email protected]>
Date:   Sun Jan 29 00:41:50 2023 +0800

    Additional handedness by EEPROM examples (qmk#19686)

    Co-authored-by: jack <[email protected]>
    Co-authored-by: Dasky <[email protected]>

commit b727434
Author: Ryan <[email protected]>
Date:   Sun Jan 29 02:42:44 2023 +1100

    Remove commented out backlight config & stray "backlight levels" (qmk#19703)

commit ce7bb63
Author: azhizhinov <[email protected]>
Date:   Sat Jan 28 01:52:05 2023 +0300

    VIA keymap for Reviung 34. (qmk#19694)

    VIA keymap for Reviung 34.

commit acea06b
Author: adophoxia <[email protected]>
Date:   Fri Jan 27 13:39:38 2023 -0800

    [Keyboard] Update effects for Keychron Q2 (qmk#19685)

commit 9aaf1c2
Author: Patrick Muldoon <[email protected]>
Date:   Fri Jan 27 08:35:26 2023 -0800

    Swap LED_PIN_ON_STATE to 0. (qmk#19692)

    User reported that CAPS lock Led state was inverted after soldering a LED to their board.

    LED_PIN_ON_STATE defaults to 1, so just swap to low.

    Flashed board and now CAPS LED reflects the actual state

commit b3dca4b
Author: Jay Greco <[email protected]>
Date:   Fri Jan 27 00:03:57 2023 -0800

    Add RP2040 SCRAMBLE v2 (qmk#19489)

commit f1b5659
Author: wangfuco <[email protected]>
Date:   Thu Jan 26 22:11:29 2023 -0800

    fix pegasushoof caps light, add via keymap (qmk#19649)

    Co-authored-by: jack <[email protected]>
    Co-authored-by: Ryan <[email protected]>
    Co-authored-by: Fucong Wang <[email protected]>

commit 6e42b58
Author: AnotherStranger <[email protected]>
Date:   Thu Jan 26 22:14:34 2023 +0100

    VIA keymap for the dactyl manuform 4x6 (qmk#19668)

    Co-authored-by: adophoxia <[email protected]>
    Co-authored-by: Drashna Jaelre <[email protected]>

commit 19ecd69
Author: Charly Delay <[email protected]>
Date:   Fri Jan 27 03:43:08 2023 +0900

    Rename `LAYOUT` macros identifier that contained the keyboard name (qmk#19657)

commit ad817a7
Merge: 81ca832 3823046
Author: QMK Bot <[email protected]>
Date:   Thu Jan 26 16:35:07 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 3823046
Author: schwarzer-geiger <[email protected]>
Date:   Thu Jan 26 11:34:27 2023 -0500

    new keyboard: edinburgh41 (qmk#19569)

    * added edinburgh41

    Co-authored-by: Joel Challis <[email protected]>
    Co-authored-by: jack <[email protected]>
    Co-authored-by: Ryan <[email protected]>
    Co-authored-by: Drashna Jaelre <[email protected]>

commit 81ca832
Author: Sergey Vlasov <[email protected]>
Date:   Wed Jan 25 04:47:55 2023 +0300

    analog.c: Fix `pinToMux()` for STM32F0xx (qmk#19658)

    The `adc_read()` code for STM32F0xx expects to get the 0-based channel
    number in `mux.input`, but the `pinToMux()` code for STM32F0xx was
    attempting to pass the CHSELR bit mask in that field, which resulted in
    selecting a wrong channel, therefore `analogReadPin()` did not work
    properly for the STM32F0xx chips.  Fix `pinToMux()` to put the channel
    number in that field (this matches the behavior for other supported
    chips and also allows selection of channels 16...18, which can be used
    to access the builtin temperature, reference voltage and VBAT sensors).

commit 0edf478
Merge: 019c321 fa132ba
Author: QMK Bot <[email protected]>
Date:   Wed Jan 25 00:20:11 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit fa132ba
Author: Darkhan <[email protected]>
Date:   Wed Jan 25 00:19:32 2023 +0000

    Decrease LED animation frequency to improve performance (qmk#19677)

commit 019c321
Merge: 7ff55e6 8af8720
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 20:03:41 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 8af8720
Author: Christian Brauner <[email protected]>
Date:   Tue Jan 24 21:03:05 2023 +0100

    [Keymap] Update brauner preonic layout (qmk#19665)

commit 7ff55e6
Merge: d14863c 419a794
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 15:18:09 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 419a794
Author: arrowj <[email protected]>
Date:   Tue Jan 24 09:17:24 2023 -0600

    Update understanding_qmk.md (qmk#19664)

    Changed "...4 row by 5 column numpad" to "...5 row by 4 column numpad" on line 46.

commit d14863c
Merge: 8767e74 b24fa2f
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 14:20:10 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit b24fa2f
Author: Natan-P <[email protected]>
Date:   Tue Jan 24 15:19:34 2023 +0100

    escaped stray backslash in bux.py (qmk#19667)

commit 8767e74
Merge: fca6d16 1c69682
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 09:20:21 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 1c69682
Author: MJM <[email protected]>
Date:   Tue Jan 24 04:19:42 2023 -0500

    [Keyboard] Add the Black Hellebore (qmk#19655)

commit fca6d16
Merge: 025e530 695c4c6
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 08:52:36 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 695c4c6
Author: adophoxia <[email protected]>
Date:   Tue Jan 24 00:51:45 2023 -0800

    [Keyboard] Add missing `dip_switch_update_kb` for Keychron V2 (qmk#19674)

commit 025e530
Merge: dd7b244 4d180c9
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 08:05:37 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4d180c9
Author: jack <[email protected]>
Date:   Tue Jan 24 01:04:56 2023 -0700

    fixup splitkb/kyria VIA keymap (qmk#19676)

commit dd7b244
Author: jack <[email protected]>
Date:   Mon Jan 23 23:24:56 2023 -0700

    Fixup handwired/jscotto/scotto40 (qmk#19675)

commit 79d5f2f
Merge: 8ca3f0f 4c6415d
Author: QMK Bot <[email protected]>
Date:   Tue Jan 24 05:43:18 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4c6415d
Author: cole smith <[email protected]>
Date:   Mon Jan 23 21:42:38 2023 -0800

    [Keyboard] Fix boardsource/lulu/avr encoder pins (qmk#19672)

commit 8ca3f0f
Author: Stefan Kerkmann <[email protected]>
Date:   Mon Jan 23 22:24:21 2023 +0100

    [Bug] rp2040: fix timer wrap deadlock in ws2812 vendor driver (qmk#19652)

    Co-authored-by: Sergey Vlasov <[email protected]>

commit ea05045
Author: Nick Brassel <[email protected]>
Date:   Tue Jan 24 07:10:03 2023 +1100

    Allow overriding of keymap/encodermap layer count. (qmk#19325)

commit aea1194
Author: David Hoelscher <[email protected]>
Date:   Mon Jan 23 14:05:47 2023 -0600

    Corrections to uart driver for Chibios platform (qmk#19075)

commit dfb2833
Merge: 0a51ea2 4e658d4
Author: QMK Bot <[email protected]>
Date:   Mon Jan 23 10:23:39 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4e658d4
Author: youturn45 <[email protected]>
Date:   Mon Jan 23 05:23:00 2023 -0500

    [Keymap] Add youturn/yt keymap for think65 (qmk#19300)

    Co-authored-by: jack <[email protected]>
    Co-authored-by: Drashna Jaelre <[email protected]>
    Co-authored-by: Jue Liu <[email protected]>

commit 0a51ea2
Merge: 603c86b 9c7490d
Author: QMK Bot <[email protected]>
Date:   Mon Jan 23 09:39:16 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 9c7490d
Author: Joe Scotto <[email protected]>
Date:   Mon Jan 23 04:38:22 2023 -0500

    [Keyboard] Add Scotto40 Keyboard (qmk#18453)

    Co-authored-by: Drashna Jaelre <[email protected]>
    Co-authored-by: James Young <[email protected]>
  • Loading branch information
freznel10 committed Feb 2, 2023
1 parent 71ae0cb commit f2b29ca
Show file tree
Hide file tree
Showing 20 changed files with 504 additions and 49 deletions.
29 changes: 20 additions & 9 deletions keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
Copyright 2015 Jack Humbert
========
This is the c configuration file for the keymap
Expand All @@ -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
Expand All @@ -25,12 +26,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#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
Expand Down
4 changes: 2 additions & 2 deletions keyboards/handwired/jscotto/scotto40/keymaps/default/config.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
<<<<<<<< HEAD:keyboards/zerf9/chunky2040/post_config.h
<<<<<<<< HEAD:keyboards/zerf9/spacetrack/post_config.h
Copyright 2012 Jun Wako <[email protected]>
Copyright 2015 Jack Humbert
========
Expand All @@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#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
Expand Down
24 changes: 24 additions & 0 deletions keyboards/handwired/orbweaver/config.h
Original file line number Diff line number Diff line change
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
//
// 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 }
59 changes: 59 additions & 0 deletions keyboards/handwired/orbweaver/info.json
Original file line number Diff line number Diff line change
@@ -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 }
]
}
}
}
110 changes: 110 additions & 0 deletions keyboards/handwired/orbweaver/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
*/

#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;
}

84 changes: 84 additions & 0 deletions keyboards/handwired/orbweaver/orbweaver.c
Original file line number Diff line number Diff line change
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
//
// 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
}
};



39 changes: 39 additions & 0 deletions keyboards/handwired/orbweaver/readme.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions keyboards/handwired/orbweaver/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Add support for 3731 RGB matrix controller
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3731
Loading

0 comments on commit f2b29ca

Please sign in to comment.