Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial support for Viendi8L #17943

Merged
merged 6 commits into from
Aug 11, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions keyboards/viendi8l/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
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 <https://www.gnu.org/licenses/>.
*/

#pragma once
#include "common_config.h"

/* USB Device descriptor parameter */
Gondolindrim marked this conversation as resolved.
Show resolved Hide resolved
#define VENDOR_ID 0x8673 // VI for Viendi
#define PRODUCT_ID 0x0877 // 8L + 1, 8L was prototype
#define DEVICE_VER 0x0001
#define MANUFACTURER Viendi
#define PRODUCT 8L

Gondolindrim marked this conversation as resolved.
Show resolved Hide resolved
/* 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 <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>
97 changes: 97 additions & 0 deletions keyboards/viendi8l/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"keyboard_name": "Viendi8L",
"url": "https://viendi.co/",
"maintainer": "gondolindrim",
Gondolindrim marked this conversation as resolved.
Show resolved Hide resolved
"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 @@
/*
Gondolindrim marked this conversation as resolved.
Show resolved Hide resolved
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 <https://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H


#include QMK_KEYBOARD_H
#include "config_common.h"
Gondolindrim marked this conversation as resolved.
Show resolved Hide resolved

#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