Skip to content

Commit

Permalink
[Keyboard] Add Viendi8L (qmk#17943)
Browse files Browse the repository at this point in the history
Co-authored-by: Ryan <[email protected]>
  • Loading branch information
2 people authored and imhoffman committed Aug 20, 2022
1 parent fac58d0 commit c079da8
Show file tree
Hide file tree
Showing 11 changed files with 697 additions and 0 deletions.
65 changes: 65 additions & 0 deletions keyboards/viendi8l/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*
Copyright 2022 Gondolindrim <[email protected]>
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:https://www.gnu.org/licenses/>.
*/

#pragma once
#include "common_config.h"

/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18

// C0 , C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10, C11, C12, C13, C14, C15, C16, C17
#define MATRIX_COL_PINS { C6 , C7 , C8 , C9 , A8 , B3 , B4 , A10, B5 , B8 , B9 , C13, C14, C15, A0 , A1 , A2 , A3 }
// R0 , R1 , R2 , R3 , R4 , R5
#define MATRIX_ROW_PINS { C3 , C2 , C1 , C0 , B14, A7 }
#define DIODE_DIRECTION COL2ROW

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

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

#define ENCODERS_PAD_A { B10 }
#define ENCODERS_PAD_B { B12 }
#define ENCODER_RESOLUTION 2

#define TAPPING_TERM 200

#define I2C_DRIVER I2CD1
#define I2C_SCL_PIN B6
#define I2C_SDA_PIN B7
#define I2C_SCL_PAL_MODE 4
#define I2C_SDA_PAL_MODE 4
#define EEPROM_I2C_24LC256
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2

#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

#define RGB_DI_PIN B15
#define RGBLED_NUM 4
#define RGBLIGHT_DEFAULT_VAL 0

#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6
24 changes: 24 additions & 0 deletions keyboards/viendi8l/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/* Copyright 2020 QMK
*
* 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:https://www.gnu.org/licenses/>.
*/

#pragma once

#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE

#define HAL_USE_I2C TRUE

#include_next <halconf.h>
103 changes: 103 additions & 0 deletions keyboards/viendi8l/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
{
"keyboard_name": "8L",
"manufacturer": "Viendi",
"url": "https://viendi.co/",
"maintainer": "gondolindrim",
"usb": {
"vid": "0x8673",
"pid": "0x0877",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_all": {
"layout": [
{"label":"Push", "x":0, "y":0},
{"label":"\u00d7", "x":1, "y":0},
{"label":"/", "x":2, "y":0},
{"label":"Del", "x":3, "y":0},
{"label":"Esc", "x":4.5, "y":0},
{"label":"!", "x":5.5, "y":0},
{"label":"@", "x":6.5, "y":0},
{"label":"#", "x":7.5, "y":0},
{"label":"$", "x":8.5, "y":0},
{"label":"%", "x":9.5, "y":0},
{"label":"^", "x":10.5, "y":0},
{"label":"&", "x":11.5, "y":0},
{"label":"*", "x":12.5, "y":0},
{"label":"(", "x":13.5, "y":0},
{"label":")", "x":14.5, "y":0},
{"label":"-", "x":15.5, "y":0},
{"label":"=", "x":16.5, "y":0},
{"label":"Bksp", "x":17.5, "y":0},
{"label":"Bksp", "x":18.5, "y":0},
{"label":"-", "x":0, "y":1},
{"label":"7", "x":1, "y":1},
{"label":"8", "x":2, "y":1},
{"label":"9", "x":3, "y":1},
{"label":"Tab", "x":4.5, "y":1, "w":1.5},
{"label":"Q", "x":6, "y":1},
{"label":"W", "x":7, "y":1},
{"label":"E", "x":8, "y":1},
{"label":"R", "x":9, "y":1},
{"label":"T", "x":10, "y":1},
{"label":"Y", "x":11, "y":1},
{"label":"U", "x":12, "y":1},
{"label":"I", "x":13, "y":1},
{"label":"O", "x":14, "y":1},
{"label":"P", "x":15, "y":1},
{"label":"{", "x":16, "y":1},
{"label":"}", "x":17, "y":1},
{"label":"|", "x":18, "y":1, "w":1.5},
{"label":"+", "x":0, "y":2},
{"label":"4", "x":1, "y":2},
{"label":"5", "x":2, "y":2},
{"label":"6", "x":3, "y":2},
{"label":"Caps Lock", "x":4.5, "y":2, "w":1.75},
{"label":"A", "x":6.25, "y":2},
{"label":"S", "x":7.25, "y":2},
{"label":"D", "x":8.25, "y":2},
{"label":"F", "x":9.25, "y":2},
{"label":"G", "x":10.25, "y":2},
{"label":"H", "x":11.25, "y":2},
{"label":"J", "x":12.25, "y":2},
{"label":"K", "x":13.25, "y":2},
{"label":"L", "x":14.25, "y":2},
{"label":":", "x":15.25, "y":2},
{"label":"\"", "x":16.25, "y":2},
{"x":17.25, "y":2},
{"label":"Enter", "x":18.25, "y":2, "w":1.25},
{"label":"Enter", "x":0, "y":3},
{"label":"1", "x":1, "y":3},
{"label":"2", "x":2, "y":3},
{"label":"3", "x":3, "y":3},
{"label":"Shift", "x":4.5, "y":3, "w":1.25},
{"x":5.75, "y":3},
{"label":"Z", "x":6.75, "y":3},
{"label":"X", "x":7.75, "y":3},
{"label":"C", "x":8.75, "y":3},
{"label":"V", "x":9.75, "y":3},
{"label":"B", "x":10.75, "y":3},
{"label":"N", "x":11.75, "y":3},
{"label":"M", "x":12.75, "y":3},
{"label":"<", "x":13.75, "y":3},
{"label":">", "x":14.75, "y":3},
{"label":"Shift", "x":15.75, "y":3, "w":1.75},
{"label":"\u2191", "x":17.5, "y":3},
{"x":18.5, "y":3},
{"label":"Enter", "x":0, "y":4},
{"label":".", "x":1, "y":4},
{"label":".", "x":2, "y":4},
{"label":"0", "x":3, "y":4},
{"label":"Ctrl", "x":4.5, "y":4, "w":1.25},
{"label":"Win", "x":5.75, "y":4, "w":1.25},
{"label":"Alt", "x":7, "y":4, "w":1.25},
{"x":8.25, "y":4, "w":6.25},
{"x":14.5, "y":4},
{"x":15.5, "y":4},
{"label":"\u2190", "x":16.5, "y":4},
{"label":"\u2193", "x":17.5, "y":4},
{"label":"\u2192", "x":18.5, "y":4}
]
}
}
}
56 changes: 56 additions & 0 deletions keyboards/viendi8l/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
Copyright 2020 Álvaro "Gondolindrim" Volpato <[email protected]>
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:https://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H


#include QMK_KEYBOARD_H
#include "config_common.h"

#define LTCAPS LT(2, KC_CAPS)
#define MTRSFT RSFT_T(KC_UP)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_MUTE, KC_PSLS, KC_PAST, KC_BSPC, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC,
KC_PMNS, KC_P7 , KC_P8 , KC_P9 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS,
KC_PPLS, KC_P4 , KC_P5 , KC_P6 , LTCAPS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_BSPC,
KC_PENT, KC_P1 , KC_P2 , KC_P3 , KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, MTRSFT , KC_NUHS,
KC_PENT, KC_P0 , KC_P0 , KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , TG(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
),
[1] = LAYOUT_all(
KC_MUTE, KC_PSLS, KC_PAST, KC_BSPC, KC_GESC, 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_BSPC,
KC_PMNS, KC_P7 , KC_P8 , KC_P9 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS,
KC_PPLS, KC_P4 , KC_P5 , KC_P6 , LTCAPS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_BSPC,
KC_PENT, KC_P1 , KC_P2 , KC_P3 , KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, MTRSFT , KC_NUHS,
KC_PENT, KC_P0 , KC_P0 , KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , TG(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT, MO(2)
),
[2] = LAYOUT_all(
KC_MUTE, KC_F10 , KC_F11 , KC_NUM , KC_GRV , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_NO ,
KC_MINS, KC_F7 , KC_F8 , KC_F9 , KC_TAB , KC_NO , KC_PGUP, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_INS , KC_NO , KC_PSCR, KC_NO , KC_NO , KC_DEL ,
KC_EQL , KC_F4 , KC_F5 , KC_F6 , KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_NO , KC_NO , KC_LPRN, KC_RPRN, KC_NO , KC_NO , KC_NO , KC_NO , KC_MUTE, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_CALC, KC_CALC, KC_DEL , KC_NO , GUI_TOG, KC_SLEP, KC_NO , KC_NO , KC_TRNS, KC_NO , KC_NO , KC_NO , KC_TRNS
),
[3] = LAYOUT_all(
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO
)
};
Loading

0 comments on commit c079da8

Please sign in to comment.