diff options
Diffstat (limited to 'keyboards/idobao/id80')
37 files changed, 1792 insertions, 0 deletions
diff --git a/keyboards/idobao/id80/v1/ansi/config.h b/keyboards/idobao/id80/v1/ansi/config.h new file mode 100644 index 0000000000..253c0757b8 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/config.h @@ -0,0 +1,27 @@ +/* +Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + +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/>. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 /* "id" */ +#define PRODUCT_ID 0x0080 +#define DEVICE_VER 0x0001 +#define MANUFACTURER IDOBAO +#define PRODUCT ID80 diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c new file mode 100644 index 0000000000..ac2fb15b83 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), +}; diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md new file mode 100644 index 0000000000..8ae9f656cd --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for id80 diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h b/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h new file mode 100644 index 0000000000..4f3cc95f30 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/msf/config.h @@ -0,0 +1,24 @@ +/* Copyright 2021 msf@github + * + * 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/>. + */ + +/* + Set any config.h overrides for your specific keymap here. + See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file +*/ +#pragma once + +#define COMBO_COUNT 3 +#define COMBO_TERM 200 diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c new file mode 100644 index 0000000000..6bb91f0f19 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/msf/keymap.c @@ -0,0 +1,59 @@ +/* Copyright 2021 Miguel Filipe <miguel.filipe@gmail.com> + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_VOLD, KC_VOLU, KC_F8, KC_F9, KC_F10, KC_PSTE, KC_PSCR, KC_DEL, MO(1), + KC_GRV, 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_HOME, + 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_END, + KC_CAPS, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, KC_CALC, _______, _______, _______, KC_MUTE, KC_F6, KC_F7, KC_MPLY, KC_MSTP, KC_BRID, KC_BRIU, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +enum combos { + SLSHDN_PGDN, + SLSHUP_PGUP, + RALTBKSPC_DELETE, +}; + +const uint16_t PROGMEM slashDown_combo[] = {KC_SLSH, KC_DOWN, COMBO_END}; +const uint16_t PROGMEM slashUp_combo[] = {KC_SLSH, KC_UP, COMBO_END}; +const uint16_t PROGMEM raltBackspace_combo[] = {KC_RALT, KC_BSPACE, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [SLSHDN_PGDN] = COMBO(slashDown_combo, KC_PGDN), + [SLSHUP_PGUP] = COMBO(slashUp_combo, KC_PGUP), + [RALTBKSPC_DELETE] = COMBO(raltBackspace_combo, KC_DEL), +}; diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md new file mode 100644 index 0000000000..7ab300f672 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/msf/readme.md @@ -0,0 +1,4 @@ +# slightly modified: +- some key combos +- don't use f-keys, +- pgup/down, home/end tweaks diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk b/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk new file mode 100644 index 0000000000..ab1e438182 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/msf/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c new file mode 100644 index 0000000000..3656f48dfe --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 Robert Verst <robert@verst.eu> @rverst + * + * 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 "rverst.h" + +//#define CLOSED_CASE // no underglow RGB visible + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , MO(4) , KC_DEL , + KC_GRV , 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_PGUP, + 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_PGDN, + KC_ESC , 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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RV_SNAP, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_TRNS, KC_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, + KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, RV_SINC, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [2] = LAYOUT( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_TRNS, MO(4) , KC_MUTE, + KC_GRV , 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_VOLU, + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, + KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [3] = LAYOUT( + RV_SNAP, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_TRNS, KC_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, + KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, RV_SINC, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [4] = LAYOUT( + DEBUG , RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) , + RV_SAYM, RV_SM3 , RV_SM4 , 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_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG, + KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD + ), + [5] = LAYOUT( + RESET , RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, + KC_NO , RV_SM3S, RV_SM4S, 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 , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO + ) +}; +// clang-format on + +void keyboard_post_init_keymap(void) { +#ifdef CLOSED_CASE + if (rgblight_is_enabled()) { + rgblight_disable(); + } +#endif +} diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md new file mode 100644 index 0000000000..ba33980edb --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/readme.md @@ -0,0 +1,23 @@ +# idobao id80 + +This is my layout for the idobao id80. It depends of my [user files](../../../../users/rverst) +and the main goal is to give an convenient and unified access to some special keys +(umlauts, ß, €) for different operating systems (Mac, Windows and Linux). + +## Overview + +- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar. +- Layer 1 has the special keys and some media-functions like mute, volume up/down etc. +- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout +- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc. + + +## Keyboard modes + +- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source) +- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software) +- *F3:* Linux Unicode mode (not tested yet but should work out of the box) +- *1:* Mac legacy mode (uses option-sequences, e.g. `<option>+u a` for an `ä`), if I'm not able to set the input source +- *2:* Windows legacy mode (uses altgr-sequences e.g. `<altgr>+0228` for an `ä`, if I'm not able to use WinCompose) + +Layer 4 to switch the modes temporary, layer 5 to switch and save to eeprom. diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json new file mode 100644 index 0000000000..50235498fe --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/rverst/rverst.json @@ -0,0 +1,499 @@ +{ + "keyboard": "id80", + "keymap": "rverst", + "layout": "LAYOUT", + "layers": [ + [ + "KC_ESC", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_F11", + "KC_F12", + "MO(4)", + "KC_DEL", + "KC_GRV", + "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_PGUP", + "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_PGDN", + "KC_ESC", + "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_LSFT", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_UP", + "KC_LCTL", + "KC_LALT", + "KC_LGUI", + "KC_SPC", + "OSL(1)", + "KC_RCTL", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT" + ], + [ + "RV_SNAP", + "KC_F13", + "KC_F14", + "KC_F15", + "KC_F16", + "KC_F17", + "KC_F18", + "KC_F19", + "KC_F20", + "KC_F21", + "KC_F22", + "KC_F23", + "KC_F24", + "KC_TRNS", + "KC_MUTE", + "RV_DEG", + "RV_SUP1", + "RV_SUP2", + "RV_SUP3", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_UNEQ", + "RV_PM", + "KC_TRNS", + "KC_VOLU", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_EUR", + "RV_RT", + "RV_TM", + "KC_TRNS", + "RV_UUML", + "KC_TRNS", + "RV_OUML", + "KC_TRNS", + "RV_VDEC", + "RV_VINC", + "RV_SEQU", + "KC_VOLD", + "KC_CAPS", + "RV_AUML", + "RV_SZ", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_LOCK", + "KC_TRNS", + "RV_SINC", + "KC_PENT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_CC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_PDOT", + "RV_SDEC", + "KC_TRNS", + "KC_MSTP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_RGUI", + "KC_MPRV", + "KC_MPLY", + "KC_MNXT" + ], + [ + "KC_ESC", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_F11", + "KC_TRNS", + "MO(4)", + "KC_MUTE", + "KC_GRV", + "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_VOLU", + "KC_TAB", + "KC_Q", + "KC_W", + "KC_F", + "KC_P", + "KC_G", + "KC_J", + "KC_L", + "KC_U", + "KC_Y", + "KC_SCLN", + "KC_LBRC", + "KC_RBRC", + "KC_BSLS", + "KC_VOLD", + "KC_ESC", + "KC_A", + "KC_R", + "KC_S", + "KC_T", + "KC_D", + "KC_H", + "KC_N", + "KC_E", + "KC_I", + "KC_O", + "KC_QUOT", + "KC_ENT", + "KC_LSFT", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_K", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_UP", + "KC_LCTL", + "KC_LALT", + "KC_LGUI", + "KC_SPC", + "OSL(3)", + "KC_RCTL", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT" + ], + [ + "RV_SNAP", + "KC_F13", + "KC_F14", + "KC_F15", + "KC_F16", + "KC_F17", + "KC_F18", + "KC_F19", + "KC_F20", + "KC_F21", + "KC_F22", + "KC_F23", + "KC_F24", + "KC_TRNS", + "KC_MUTE", + "RV_DEG", + "RV_SUP1", + "RV_SUP2", + "RV_SUP3", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_UNEQ", + "RV_PM", + "KC_TRNS", + "KC_VOLU", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_LOCK", + "RV_UUML", + "KC_TRNS", + "KC_TRNS", + "RV_VDEC", + "RV_VINC", + "RV_SEQU", + "KC_VOLD", + "KC_CAPS", + "RV_AUML", + "RV_RT", + "RV_SZ", + "RV_TM", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_EUR", + "KC_TRNS", + "RV_OUML", + "RV_SINC", + "KC_PENT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RV_CC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_PDOT", + "RV_SDEC", + "KC_TRNS", + "KC_MSTP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_RGUI", + "KC_MPRV", + "KC_MPLY", + "KC_MNXT" + ], + [ + "EEP_RST", + "RV_SM0", + "RV_SM1", + "RV_SM2", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "DF(0)", + "DF(2)", + "KC_TRNS", + "MO(5)", + "RV_SAYM", + "RV_SM3", + "RV_SM4", + "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_TRNS", + "RGB_HUI", + "RGB_SAI", + "RGB_VAI", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "RGB_TOG", + "KC_NO", + "KC_NO", + "GUI_ON", + "KC_NO", + "KC_NO", + "RCG_SWP", + "RGB_RMOD", + "RGB_M_P", + "RGB_MOD" + ], + [ + "RESET", + "RV_SM0S", + "RV_SM1S", + "RV_SM2S", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_NO", + "RV_SM3S", + "RV_SM4S", + "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", + "GUI_OFF", + "KC_NO", + "KC_NO", + "RCG_NRM", + "KC_NO", + "KC_NO", + "KC_NO" + ] + ] +} diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c new file mode 100644 index 0000000000..669eb702d8 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk b/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk new file mode 100644 index 0000000000..ca9fed0e6b --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/idobao/id80/v1/ansi/readme.md b/keyboards/idobao/id80/v1/ansi/readme.md new file mode 100644 index 0000000000..1bfae43735 --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/readme.md @@ -0,0 +1 @@ +# The ANSI variant of the id80 diff --git a/keyboards/idobao/id80/v1/ansi/rules.mk b/keyboards/idobao/id80/v1/ansi/rules.mk new file mode 100644 index 0000000000..323c12fc6e --- /dev/null +++ b/keyboards/idobao/id80/v1/ansi/rules.mk @@ -0,0 +1 @@ +# see common rules.mk diff --git a/keyboards/idobao/id80/v1/config.h b/keyboards/idobao/id80/v1/config.h new file mode 100644 index 0000000000..c6cf667382 --- /dev/null +++ b/keyboards/idobao/id80/v1/config.h @@ -0,0 +1,87 @@ +/* +Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + +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/>. +*/ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 11 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + * The matrix description in the vendor-supplied JSON file for kbfirmware.com + * had 9 columns: + * { D0, D1, D2, D3, D5, D4, D6, D7, B4 } + * and 12 rows: + * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 } + * However, the row 6 was completely empty, and the pin F0 was not actually + * routed anywhere on the PCB, therefore this row was removed to save some + * resources (the EEPROM space for dynamic keymaps is especially scarce). + * + * After doing the above change, the matrix was transposed (rows and columns + * were swapped), because a matrix with the COL2ROW layout can be scanned much + * more efficiently than a matrix with the ROW2COL layout (depending on various + * optimizations, the difference in scan rate can be over 2 times). Because of + * this, the "columns" in the matrix layout now mostly correspond to physical + * rows, and the "rows" have mostly vertical physical orientation. + */ +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 } +#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 } + +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 + +#define LED_CAPS_LOCK_PIN C7 +#define LED_PIN_ON_STATE 0 + +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 20 /* 16 underglow LEDs, 4 top LEDs */ + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif + +/* Bootmagic Lite key configuration: use the Esc key */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 5 diff --git a/keyboards/idobao/id80/v1/info.json b/keyboards/idobao/id80/v1/info.json new file mode 100644 index 0000000000..072b4ca4db --- /dev/null +++ b/keyboards/idobao/id80/v1/info.json @@ -0,0 +1,188 @@ +{ + "keyboard_name": "ID80", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Fn", "x":14, "y":0}, + {"label":"Insert", "x":15.25, "y":0}, + + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Home", "x":15.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + {"label":"\\", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";", "x":10.75, "y":3.25}, + {"label":"'", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",", "x":9.25, "y":4.25}, + {"label":".", "x":10.25, "y":4.25}, + {"label":"/", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"\u2191", "x":14.25, "y":4.5}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":13.25, "y":5.5}, + {"label":"\u2193", "x":14.25, "y":5.5}, + {"label":"\u2192", "x":15.25, "y":5.5} + ] + }, + + "LAYOUT_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Fn", "x":14, "y":0}, + {"label":"Insert", "x":15.25, "y":0}, + + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Home", "x":15.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + {"label":"Delete", "x":15.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";", "x":10.75, "y":3.25}, + {"label":"'", "x":11.75, "y":3.25}, + {"label":"ISO #", "x":12.75, "y":3.25}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":4.25, "w":1.25}, + {"label":"ISO \\", "x":1.25, "y":4.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",", "x":9.25, "y":4.25}, + {"label":".", "x":10.25, "y":4.25}, + {"label":"/", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"Up", "x":14.25, "y":4.5}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, + + {"label":"Left", "x":13.25, "y":5.5}, + {"label":"Down", "x":14.25, "y":5.5}, + {"label":"Right", "x":15.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/idobao/id80/v1/iso/config.h b/keyboards/idobao/id80/v1/iso/config.h new file mode 100644 index 0000000000..cd9c497442 --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/config.h @@ -0,0 +1,27 @@ +/* +Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + +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/>. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 /* "id" */ +#define PRODUCT_ID 0x0081 +#define DEVICE_VER 0x0001 +#define MANUFACTURER IDOBAO +#define PRODUCT ID80 ISO diff --git a/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c new file mode 100644 index 0000000000..9784ce8253 --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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] = { + [0] = LAYOUT_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), +}; diff --git a/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md b/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md new file mode 100644 index 0000000000..8ae9f656cd --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for id80 diff --git a/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c new file mode 100644 index 0000000000..808c4d3c89 --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2020 Carsten Rose + * + * 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] = { + [0] = LAYOUT_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), + [2] = LAYOUT_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk b/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk new file mode 100644 index 0000000000..ca9fed0e6b --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/idobao/id80/v1/iso/readme.md b/keyboards/idobao/id80/v1/iso/readme.md new file mode 100644 index 0000000000..3e0d8ce231 --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/readme.md @@ -0,0 +1 @@ +# The ISO variant of the id80 diff --git a/keyboards/idobao/id80/v1/iso/rules.mk b/keyboards/idobao/id80/v1/iso/rules.mk new file mode 100644 index 0000000000..323c12fc6e --- /dev/null +++ b/keyboards/idobao/id80/v1/iso/rules.mk @@ -0,0 +1 @@ +# see common rules.mk diff --git a/keyboards/idobao/id80/v1/readme.md b/keyboards/idobao/id80/v1/readme.md new file mode 100644 index 0000000000..8a26378b3b --- /dev/null +++ b/keyboards/idobao/id80/v1/readme.md @@ -0,0 +1,27 @@ +# IDOBAO ID80 + +![ID80](https://ae01.alicdn.com/kf/H0f617c6129c24cfaa26a8c9e8e54851aj.jpg) + +A 75% hotswap keyboard from IDOBAO. + +## ANSI support: + +* Keyboard Maintainer: [Sergey Vlasov](https://github.com/sigprof) +* Hardware Supported: IDOBAO ID80 +* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/4000590804514.html), [Drop](https://drop.com/buy/idobao-id80-75-hot-swappable-mechanical-keyboard-kit?mode=guest_open) + +Make example for this keyboard (after setting up your build environment): + + make idobao/id80/v1/ansi:default + +## ISO support: + +* Keyboard Maintainer: [Carsten Rose](https://github.com/cwr10010) +* Hardware Supported: IDOBAO ID80v2 +* Hardware Availability: [IDOBAO](https://www.idobao.net/products/idobao-id80v2-75-hot-swappable-mechanical-keyboard-kit) + +Make example for this keyboard (after setting up your build environment): + + make idobao/id80/v1/iso:default + +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). diff --git a/keyboards/idobao/id80/v1/rules.mk b/keyboards/idobao/id80/v1/rules.mk new file mode 100644 index 0000000000..0baebd07fc --- /dev/null +++ b/keyboards/idobao/id80/v1/rules.mk @@ -0,0 +1,24 @@ +# Defalt to the ansi version +DEFAULT_FOLDER = idobao/id80/v1/ansi + +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# partially generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/idobao/id80/v1/v1.c b/keyboards/idobao/id80/v1/v1.c new file mode 100644 index 0000000000..7147b6163e --- /dev/null +++ b/keyboards/idobao/id80/v1/v1.c @@ -0,0 +1,16 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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 "v1.h" diff --git a/keyboards/idobao/id80/v1/v1.h b/keyboards/idobao/id80/v1/v1.h new file mode 100644 index 0000000000..a016e39083 --- /dev/null +++ b/keyboards/idobao/id80/v1/v1.h @@ -0,0 +1,56 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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/>. + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K83, K82, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, \ + K10, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \ + K00, K01, K02, K06, K08, K07, K05, K04, K03 \ +) { \ + { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K01, KC_NO, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \ + { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \ + { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \ + { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \ + { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \ + { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \ + { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \ +} + +#define LAYOUT_iso( \ + K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K82, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, K83, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \ + K00, K01, K02, K06, K08, K07, K05, K04, K03 \ +) { \ + { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \ + { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \ + { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \ + { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \ + { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \ + { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \ + { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \ +} diff --git a/keyboards/idobao/id80/v3/config.h b/keyboards/idobao/id80/v3/config.h new file mode 100644 index 0000000000..4b2fb8d056 --- /dev/null +++ b/keyboards/idobao/id80/v3/config.h @@ -0,0 +1,131 @@ +/* +Copyright 2020 Sergey Vlasov <sigprof@gmail.com> +Copyright 2022 peepeetee + +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/>. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 /* "id" */ +#define PRODUCT_ID 0x0080 +#define DEVICE_VER 0x0003 +#define MANUFACTURER IDOBAO +#define PRODUCT ID80 v3 + + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 11 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + * The matrix description in the vendor-supplied JSON file for kbfirmware.com + * had 9 columns: + * { D0, D1, D2, D3, D5, D4, D6, D7, B4 } + * and 12 rows: + * { B7, B3, B2, B1, B0, E6, F0, F1, F4, F5, F6, F7 } + * However, the row 6 was completely empty, and the pin F0 was not actually + * routed anywhere on the PCB, therefore this row was removed to save some + * resources (the EEPROM space for dynamic keymaps is especially scarce). + * + * After doing the above change, the matrix was transposed (rows and columns + * were swapped), because a matrix with the COL2ROW layout can be scanned much + * more efficiently than a matrix with the ROW2COL layout (depending on various + * optimizations, the difference in scan rate can be over 2 times). Because of + * this, the "columns" in the matrix layout now mostly correspond to physical + * rows, and the "rows" have mostly vertical physical orientation. + */ +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4 } +#define MATRIX_COL_PINS { B7, B3, B2, B1, B0, E6, F1, F4, F5, F6, F7 } + +#define DIODE_DIRECTION COL2ROW + +#undef RGB_DI_PIN +#define RGB_DI_PIN B6 +#ifdef RGB_MATRIX_ENABLE +# define DRIVER_LED_TOTAL 96 /* 16 Bottom 80 top*/ +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define RGB_MATRIX_KEYPRESSES +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_BAND_SAT +# define ENABLE_RGB_MATRIX_BAND_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_DUAL_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# define ENABLE_RGB_MATRIX_HUE_BREATHING +# define ENABLE_RGB_MATRIX_HUE_PENDULUM +# define ENABLE_RGB_MATRIX_HUE_WAVE +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define ENABLE_RGB_MATRIX_SPLASH +# define ENABLE_RGB_MATRIX_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif + +/* Bootmagic Lite key configuration: use the Esc key */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 5 + +#define ENCODERS_PAD_A { C7 } +#define ENCODERS_PAD_B { C6 } + + + + diff --git a/keyboards/idobao/id80/v3/info.json b/keyboards/idobao/id80/v3/info.json new file mode 100644 index 0000000000..0dc8efaf02 --- /dev/null +++ b/keyboards/idobao/id80/v3/info.json @@ -0,0 +1,96 @@ +{ + "keyboard_name": "ID80 v3", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Fn", "x":14, "y":0}, + {"label":"Insert", "x":15.25, "y":0}, + + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Home", "x":15.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + {"label":"\\", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";", "x":10.75, "y":3.25}, + {"label":"'", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",", "x":9.25, "y":4.25}, + {"label":".", "x":10.25, "y":4.25}, + {"label":"/", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"\u2191", "x":14.25, "y":4.5}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":13.25, "y":5.5}, + {"label":"\u2193", "x":14.25, "y":5.5}, + {"label":"\u2192", "x":15.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/idobao/id80/v3/keymaps/default/keymap.c b/keyboards/idobao/id80/v3/keymaps/default/keymap.c new file mode 100644 index 0000000000..f7886f1e0e --- /dev/null +++ b/keyboards/idobao/id80/v3/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), +}; + diff --git a/keyboards/idobao/id80/v3/keymaps/default/readme.md b/keyboards/idobao/id80/v3/keymaps/default/readme.md new file mode 100644 index 0000000000..8ae9f656cd --- /dev/null +++ b/keyboards/idobao/id80/v3/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for id80 diff --git a/keyboards/idobao/id80/v3/keymaps/via/keymap.c b/keyboards/idobao/id80/v3/keymaps/via/keymap.c new file mode 100644 index 0000000000..19787b6b89 --- /dev/null +++ b/keyboards/idobao/id80/v3/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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] = { + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_INS, + KC_GRV, 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_HOME, + 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_DEL, + KC_CAPS, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/idobao/id80/v3/keymaps/via/rules.mk b/keyboards/idobao/id80/v3/keymaps/via/rules.mk new file mode 100644 index 0000000000..ca9fed0e6b --- /dev/null +++ b/keyboards/idobao/id80/v3/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/idobao/id80/v3/readme.md b/keyboards/idobao/id80/v3/readme.md new file mode 100644 index 0000000000..dc6c67b4f4 --- /dev/null +++ b/keyboards/idobao/id80/v3/readme.md @@ -0,0 +1,27 @@ +# ID80v3 + +![ID80v3](https://i.imgur.com/PGvZfQj.jpg) + +A 75% hotswap in-switch RGB keyboard with an encoder. + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) +* Hardware Supported: ID80v3 +* Hardware Availability: Not avaliable yet + +Make example for this keyboard (after setting up your build environment): + + make idobao/id80/v3:default + +Flashing example for this keyboard: + + make idobao/id80/v3: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 (usually the top left key or Escape) 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/idobao/id80/v3/rules.mk b/keyboards/idobao/id80/v3/rules.mk new file mode 100644 index 0000000000..6805b8f0f9 --- /dev/null +++ b/keyboards/idobao/id80/v3/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +LTO_ENABLE = yes + +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 diff --git a/keyboards/idobao/id80/v3/v3.c b/keyboards/idobao/id80/v3/v3.c new file mode 100644 index 0000000000..cd05a26a49 --- /dev/null +++ b/keyboards/idobao/id80/v3/v3.c @@ -0,0 +1,62 @@ +// Copyright 2022 peepeetee (@peepeetee) +// Copyright 2022 Xelus22 +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "v3.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + return true; +} +#endif + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 8, 9, 34, 35, 64, 65, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 7, NO_LED, 33, 36, 63, 66, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 6, 10, 32, 37, 62, 67, NO_LED, NO_LED, 49, 50, 79 }, + { 0, 11, 31, 38, 61, 68, 21, NO_LED, 48, NO_LED, 77 }, + { 1, 12, 30, 39, 60, 69, 20, 22, 47, 52, 76 }, + { 2, 13, 29, 40, 59, 70, 19, 23, 46, 53, 75 }, + { 5, 14, 28, 41, 58, 71, NO_LED, NO_LED, NO_LED, 51, 78 }, + { 3, 15, 27, 42, 57, 72, 18, 24, 45, 54, 74 }, + { 4, 16, 26, 43, 56, 73, 17, 25, 44, 55, NO_LED }, +}, { + // LED Index to Physical Position +{224, 64}, {209, 64}, {195, 64}, {173, 61}, {151, 61}, {94 , 61}, {39 , 61}, {20 , 61}, {2 , 61}, {9 , 50}, {33 , 50}, +{48 , 50}, {62 , 50}, {77 , 50}, {92 , 50}, {106, 50}, {121, 50}, {136, 50}, {151, 50}, {165, 50}, {185, 50}, {209, 53}, +{196, 39}, {173, 39}, {158, 39}, {143, 39}, {129, 39}, {114, 39}, {99 , 39}, {84 , 39}, {70 , 39}, {55 , 39}, {40 , 39}, +{26 , 39}, {6 , 39}, {4 , 28}, {22 , 28}, {37 , 28}, {51 , 28}, {66 , 28}, {81 , 28}, {95 , 28}, {110, 28}, {125, 28}, +{140, 28}, {154, 28}, {169, 28}, {184, 28}, {202, 28}, {224, 28}, {224, 17}, {198, 17}, {176, 17}, {162, 17}, {147, 17}, +{132, 17}, {118, 17}, {103, 17}, {88 , 17}, {73 , 17}, {59 , 17}, {44 , 17}, {29 , 17}, {15 , 17}, {0 , 17}, {0 , 0}, +{18 , 0}, {33 , 0}, {48 , 0}, {62 , 0}, {81 , 0}, {95 , 0}, {110, 0}, {125, 0}, {143, 0}, {158, 0}, {173, 0}, +{187, 0}, {206, 0}, {224, 0}, + +{ 207, 13}, +{ 207, 32}, +{ 207, 51},{ 174, 51},{ 141, 51},{ 108, 51},{ 73, 51},{ 40, 51},{ 13, 51 }, +{ 13, 32}, +{ 13, 13},{ 40, 13},{ 73, 13},{ 108, 13},{ 141, 13},{ 174, 13}, + +}, { + // LED Index to Flag +1,1,1,1,1,4,1,1,1, +1,4,4,4,4,4,4,4,4,4,4,1,1, +1,4,4,4,4,4,4,4,4,4,4,4,1, +1,4,4,4,4,4,4,4,4,4,4,4,4,4,1, +1,1,4,4,4,4,4,4,4,4,4,4,4,4,4, +1,4,4,4,4,1,1,1,1,4,4,4,4,1,1, +2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + +} }; + +#endif diff --git a/keyboards/idobao/id80/v3/v3.h b/keyboards/idobao/id80/v3/v3.h new file mode 100644 index 0000000000..94626fe4f6 --- /dev/null +++ b/keyboards/idobao/id80/v3/v3.h @@ -0,0 +1,37 @@ +/* Copyright 2020 Sergey Vlasov <sigprof@gmail.com> + * + * 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/>. + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K50, K51, K52, K53, K54, K55, K56, K57, K58, KA7, KA5, KA4, KA3, KA6, KA2, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K98, K97, K95, K94, K96, K92, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K88, K87, K85, K84, K83, K82, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K78, K77, K75, K74, \ + K10, K12, K13, K14, K15, K16, K17, K18, K68, K67, K65, K64, K63, \ + K00, K01, K02, K06, K08, K07, K05, K04, K03 \ +) { \ + { K00, K10, K20, K30, K40, K50, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K01, KC_NO, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, K82, K92, KA2 }, \ + { K03, K13, K23, K33, K43, K53, K63, KC_NO, K83, KC_NO, KA3 }, \ + { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4 }, \ + { K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, KA5 }, \ + { K06, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, K96, KA6 }, \ + { K07, K17, K27, K37, K47, K57, K67, K77, K87, K97, KA7 }, \ + { K08, K18, K28, K38, K48, K58, K68, K78, K88, K98, KC_NO }, \ +} |