~ruther/qmk_firmware

33587254a02e8c87f1c4c26338e77659ef477742 — Matthias Liffers 4 years ago ab10ce4
[Keyboard] Fix pins, add VIA support for Stream Cheap 2x4 (#14001)

Co-authored-by: Drashna Jaelre <drashna@live.com>
M keyboards/handwired/stream_cheap/2x4/2x4.h => keyboards/handwired/stream_cheap/2x4/2x4.h +2 -2
@@ 3,8 3,8 @@
#include "quantum.h"

#define LAYOUT_ortho_2x4(\
	K00, K01, K02,K03, \
	K04, K05, K06,K07  \
    K00, K01, K02, K03, \
    K04, K05, K06, K07  \
) \
  { \
    { K00,K01,K02,K03}, \

M keyboards/handwired/stream_cheap/2x4/config.h => keyboards/handwired/stream_cheap/2x4/config.h +4 -5
@@ 3,19 3,18 @@
#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define VENDOR_ID       0x7363 // Stream Cheap
#define PRODUCT_ID      0x1214
#define DEVICE_VER      0x0001
#define MANUFACTURER    Kyle Hart
#define PRODUCT         Stream Cheap 2x4
#define MANUFACTURER    Stream Cheap
#define PRODUCT         2x4

/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4

/* define direct pins used */
#define DIRECT_PINS { { B5,D7,C6,D1}, { B4,E6,D4,D0} }

#define DIRECT_PINS { { D1,D0,D4,C6}, { D7,E6,B4,B5} }

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5

A keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c => keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c +43 -0
@@ 0,0 1,43 @@
/* Copyright 2021 Matthias Liffers
  *
  * 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

enum layers {
  NORMAL_LAYER,
  SECOND_LAYER,
  THIRD_LAYER,
  FOURTH_LAYER
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [NORMAL_LAYER] = LAYOUT_ortho_2x4(
        KC_A, KC_A, KC_A, TO(3),
        KC_A, KC_A, KC_A, TO(1)
    ),
    [SECOND_LAYER] = LAYOUT_ortho_2x4(
        KC_B, KC_B, KC_B, TO(0),
        KC_B, KC_B, KC_B, TO(2)
    ),
    [THIRD_LAYER] = LAYOUT_ortho_2x4(
        KC_C, KC_C, KC_C, TO(1),
        KC_C, KC_C, KC_C, TO(3)
    ),
    [FOURTH_LAYER] = LAYOUT_ortho_2x4(
        KC_D, KC_D, KC_D, TO(2),
        KC_D, KC_D, KC_D, TO(0)
    )
};

A keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk => keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes