From 15290f43669d1ca0a97631f144fa361477d329d3 Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon, 17 Jan 2022 03:53:11 +0800 Subject: rename idobo to idobao/id75, move to vendor folder (#15661) * rename idobo to idobao/id75, move to vendor folder * add image, amend readme to id75 * add buying link --- keyboards/idobao/id75/config.h | 122 ++++++++++ keyboards/idobao/id75/id75.c | 16 ++ keyboards/idobao/id75/id75.h | 41 ++++ keyboards/idobao/id75/info.json | 10 + keyboards/idobao/id75/keymaps/default/keymap.c | 54 +++++ keyboards/idobao/id75/keymaps/default/readme.md | 1 + keyboards/idobao/id75/keymaps/default75/keymap.c | 67 ++++++ keyboards/idobao/id75/keymaps/default75/readme.md | 1 + keyboards/idobao/id75/keymaps/drewdobo/config.h | 23 ++ keyboards/idobao/id75/keymaps/drewdobo/keymap.c | 65 +++++ keyboards/idobao/id75/keymaps/drewdobo/readme.md | 1 + keyboards/idobao/id75/keymaps/drewdobo/rules.mk | 17 ++ keyboards/idobao/id75/keymaps/egstad/config.h | 68 ++++++ keyboards/idobao/id75/keymaps/egstad/keymap.c | 267 +++++++++++++++++++++ keyboards/idobao/id75/keymaps/egstad/readme.md | 17 ++ keyboards/idobao/id75/keymaps/egstad/rules.mk | 3 + keyboards/idobao/id75/keymaps/gkbd/config.h | 25 ++ keyboards/idobao/id75/keymaps/gkbd/keymap.c | 41 ++++ keyboards/idobao/id75/keymaps/gkbd/readme.md | 7 + keyboards/idobao/id75/keymaps/gkbd/rules.mk | 1 + keyboards/idobao/id75/keymaps/gkbd_75/config.h | 21 ++ keyboards/idobao/id75/keymaps/gkbd_75/keymap.c | 35 +++ keyboards/idobao/id75/keymaps/gkbd_75/readme.md | 7 + keyboards/idobao/id75/keymaps/gkbd_orthon/config.h | 20 ++ keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c | 78 ++++++ .../idobao/id75/keymaps/gkbd_orthon/readme.md | 11 + .../keyboard-layout-editor-gsm-idobo.json | 190 +++++++++++++++ .../idobao/id75/keymaps/greenshadowmaker/keymap.c | 140 +++++++++++ .../idobao/id75/keymaps/greenshadowmaker/readme.md | 5 + .../idobao/id75/keymaps/greenshadowmaker/rules.mk | 3 + keyboards/idobao/id75/keymaps/ifohancroft/config.h | 27 +++ keyboards/idobao/id75/keymaps/ifohancroft/keymap.c | 104 ++++++++ .../idobao/id75/keymaps/ifohancroft/readme.md | 14 ++ keyboards/idobao/id75/keymaps/ifohancroft/rules.mk | 6 + keyboards/idobao/id75/keymaps/pathnirvana/config.h | 24 ++ keyboards/idobao/id75/keymaps/pathnirvana/keymap.c | 44 ++++ keyboards/idobao/id75/keymaps/pathnirvana/rules.mk | 3 + keyboards/idobao/id75/keymaps/revok75/config.h | 15 ++ keyboards/idobao/id75/keymaps/revok75/keymap.c | 90 +++++++ keyboards/idobao/id75/keymaps/revok75/readme.md | 1 + keyboards/idobao/id75/keymaps/revok75/rules.mk | 14 ++ keyboards/idobao/id75/keymaps/via/keymap.c | 52 ++++ keyboards/idobao/id75/keymaps/via/rules.mk | 1 + .../idobao/id75/keymaps/xaceofspaidsx/config.h | 19 ++ .../idobao/id75/keymaps/xaceofspaidsx/keymap.c | 67 ++++++ .../idobao/id75/keymaps/xaceofspaidsx/readme.md | 1 + .../idobao/id75/keymaps/xaceofspaidsx/rules.mk | 19 ++ keyboards/idobao/id75/readme.md | 19 ++ keyboards/idobao/id75/rules.mk | 21 ++ 49 files changed, 1898 insertions(+) create mode 100644 keyboards/idobao/id75/config.h create mode 100644 keyboards/idobao/id75/id75.c create mode 100644 keyboards/idobao/id75/id75.h create mode 100644 keyboards/idobao/id75/info.json create mode 100644 keyboards/idobao/id75/keymaps/default/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/default/readme.md create mode 100644 keyboards/idobao/id75/keymaps/default75/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/default75/readme.md create mode 100644 keyboards/idobao/id75/keymaps/drewdobo/config.h create mode 100644 keyboards/idobao/id75/keymaps/drewdobo/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/drewdobo/readme.md create mode 100644 keyboards/idobao/id75/keymaps/drewdobo/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/egstad/config.h create mode 100644 keyboards/idobao/id75/keymaps/egstad/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/egstad/readme.md create mode 100644 keyboards/idobao/id75/keymaps/egstad/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/gkbd/config.h create mode 100644 keyboards/idobao/id75/keymaps/gkbd/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/gkbd/readme.md create mode 100644 keyboards/idobao/id75/keymaps/gkbd/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/gkbd_75/config.h create mode 100644 keyboards/idobao/id75/keymaps/gkbd_75/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/gkbd_75/readme.md create mode 100644 keyboards/idobao/id75/keymaps/gkbd_orthon/config.h create mode 100644 keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md create mode 100644 keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json create mode 100644 keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/greenshadowmaker/readme.md create mode 100644 keyboards/idobao/id75/keymaps/greenshadowmaker/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/ifohancroft/config.h create mode 100644 keyboards/idobao/id75/keymaps/ifohancroft/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/ifohancroft/readme.md create mode 100644 keyboards/idobao/id75/keymaps/ifohancroft/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/pathnirvana/config.h create mode 100644 keyboards/idobao/id75/keymaps/pathnirvana/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/pathnirvana/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/revok75/config.h create mode 100644 keyboards/idobao/id75/keymaps/revok75/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/revok75/readme.md create mode 100644 keyboards/idobao/id75/keymaps/revok75/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/via/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/via/rules.mk create mode 100644 keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h create mode 100644 keyboards/idobao/id75/keymaps/xaceofspaidsx/keymap.c create mode 100644 keyboards/idobao/id75/keymaps/xaceofspaidsx/readme.md create mode 100644 keyboards/idobao/id75/keymaps/xaceofspaidsx/rules.mk create mode 100644 keyboards/idobao/id75/readme.md create mode 100644 keyboards/idobao/id75/rules.mk (limited to 'keyboards/idobao') diff --git a/keyboards/idobao/id75/config.h b/keyboards/idobao/id75/config.h new file mode 100644 index 0000000000..ffe0bb7011 --- /dev/null +++ b/keyboards/idobao/id75/config.h @@ -0,0 +1,122 @@ +/* +Copyright 2018 MechMerlin + +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 // ID +#define PRODUCT_ID 0x0075 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Generic +#define PRODUCT Idobo + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * 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) + * +*/ +#define MATRIX_ROW_PINS { B0, B3, C7, B6, C6 } +#define MATRIX_COL_PINS { F6, F5, F4, F1, E6, D5, D3, D2, D1, D0, D4, D6, D7, B4, B5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN F0 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 16 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* 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 + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +// #define BOOTMAGIC_LITE_ROW 0 +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/idobao/id75/id75.c b/keyboards/idobao/id75/id75.c new file mode 100644 index 0000000000..0a0e08cc32 --- /dev/null +++ b/keyboards/idobao/id75/id75.c @@ -0,0 +1,16 @@ +/* Copyright 2018 MechMerlin + * + * 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 . + */ +#include "id75.h" diff --git a/keyboards/idobao/id75/id75.h b/keyboards/idobao/id75/id75.h new file mode 100644 index 0000000000..9643a1efd3 --- /dev/null +++ b/keyboards/idobao/id75/id75.h @@ -0,0 +1,41 @@ +/* Copyright 2018 MechMerlin + * + * 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 . + */ + +#pragma once + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ortho_5x15( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E } \ +} diff --git a/keyboards/idobao/id75/info.json b/keyboards/idobao/id75/info.json new file mode 100644 index 0000000000..bacdc42235 --- /dev/null +++ b/keyboards/idobao/id75/info.json @@ -0,0 +1,10 @@ +{ + "keyboard_name": "IDOBO", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_ortho_5x15": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + } + } +} diff --git a/keyboards/idobao/id75/keymaps/default/keymap.c b/keyboards/idobao/id75/keymaps/default/keymap.c new file mode 100644 index 0000000000..6c0c09804d --- /dev/null +++ b/keyboards/idobao/id75/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2018 MechMerlin + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + QMKBEST = SAFE_RANGE, + QMKURL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15( + KC_ESC, 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_BSLS, KC_GRV, + 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_BSPC, 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_ENT, KC_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QMKBEST: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING("QMK is the best thing ever!"); + } else { + // when keycode QMKBEST is released + } + break; + case QMKURL: + if (record->event.pressed) { + // when keycode QMKURL is pressed + SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER)); + } else { + // when keycode QMKURL is released + } + break; + } + return true; +} diff --git a/keyboards/idobao/id75/keymaps/default/readme.md b/keyboards/idobao/id75/keymaps/default/readme.md new file mode 100644 index 0000000000..577c62b51f --- /dev/null +++ b/keyboards/idobao/id75/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for idobo diff --git a/keyboards/idobao/id75/keymaps/default75/keymap.c b/keyboards/idobao/id75/keymaps/default75/keymap.c new file mode 100644 index 0000000000..8d8ae4414c --- /dev/null +++ b/keyboards/idobao/id75/keymaps/default75/keymap.c @@ -0,0 +1,67 @@ +/* Copyright 2018 Milton Griffin + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Keyboard Layers +#define _QW 0 +#define _FN 1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| + * | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | SPACE | SPACE | FN | RALT | RGUI | RCTRL | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL + ), + +/* FUNCTION + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, + KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, + KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, + _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ + ), +}; diff --git a/keyboards/idobao/id75/keymaps/default75/readme.md b/keyboards/idobao/id75/keymaps/default75/readme.md new file mode 100644 index 0000000000..a1c0236ed9 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/default75/readme.md @@ -0,0 +1 @@ +# The default keymap for xd75, with led controls \ No newline at end of file diff --git a/keyboards/idobao/id75/keymaps/drewdobo/config.h b/keyboards/idobao/id75/keymaps/drewdobo/config.h new file mode 100644 index 0000000000..58787ce12b --- /dev/null +++ b/keyboards/idobao/id75/keymaps/drewdobo/config.h @@ -0,0 +1,23 @@ +/* Copyright 2017 Benjamin Kesselring + * + * 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 . + */ + +#pragma once + + +// place overrides here + + +#define TAPPING_TOGGLE 5 diff --git a/keyboards/idobao/id75/keymaps/drewdobo/keymap.c b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c new file mode 100644 index 0000000000..9dfc335e82 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/drewdobo/keymap.c @@ -0,0 +1,65 @@ +/* Copyright 2020 Drew Smathers + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Keyboard Layers +enum layer_names { + _QW, + _QW_MAC, + _FN, + _MOUSE, +}; + +// Some short-cut aliases +#define Z_LALT LALT_T(KC_ESC) +#define Z_MAC DF(_QW_MAC) +#define Z_PC DF(_QW) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, \ + Z_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RALT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, XXXXXXX, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + TT(_FN), XXXXXXX, XXXXXXX, TT(_MOUSE), KC_EQL, KC_BSPC, KC_DEL, XXXXXXX, KC_ENT, KC_SPC, KC_MINUS, KC_GRAVE, KC_LBRC, KC_RBRC, XXXXXXX \ + ), + + [_QW_MAC] = LAYOUT_ortho_5x15( /* QWERTY MAC */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BRMU, KC_MUTE, KC__VOLUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BRMD, XXXXXXX, KC__VOLDOWN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, \ + Z_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RALT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCMD, XXXXXXX, KC_RCMD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + TT(_FN), KC_LCTL, XXXXXXX, TT(_MOUSE), KC_EQL, KC_BSPC, KC_DEL, XXXXXXX, KC_ENT, KC_SPC, KC_MINUS, KC_GRAVE, KC_LBRC, KC_RBRC, KC_RCTL \ + ), + + [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, RESET, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, Z_MAC, _______, XXXXXXX, KC_HOME, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, \ + TT(_FN), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, Z_PC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ + ), + + [_MOUSE] = LAYOUT_ortho_5x15( /* MOUSE */ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, XXXXXXX, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + TT(_FN), XXXXXXX, XXXXXXX, TT(_MOUSE), XXXXXXX, KC_ACL1, KC_ACL2, XXXXXXX, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ + ) +}; diff --git a/keyboards/idobao/id75/keymaps/drewdobo/readme.md b/keyboards/idobao/id75/keymaps/drewdobo/readme.md new file mode 100644 index 0000000000..209808ca87 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/drewdobo/readme.md @@ -0,0 +1 @@ +# Drew's thumb-friendly keymap for idobo boards diff --git a/keyboards/idobao/id75/keymaps/drewdobo/rules.mk b/keyboards/idobao/id75/keymaps/drewdobo/rules.mk new file mode 100644 index 0000000000..f9bbfd4948 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/drewdobo/rules.mk @@ -0,0 +1,17 @@ +# Copyright 2013 Jun Wako +# +# 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 . + + +MOUSEKEY_ENABLE = yes diff --git a/keyboards/idobao/id75/keymaps/egstad/config.h b/keyboards/idobao/id75/keymaps/egstad/config.h new file mode 100644 index 0000000000..45dbd3df82 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/egstad/config.h @@ -0,0 +1,68 @@ +/* Copyright 2020 Jordan Egstad + * + * 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 . + */ + +#pragma once +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT +#define RGBLIGHT_SLEEP + + + +/* Leader Key + ========================================================================== */ + +// Activates the leader key +// #define LEADER_PER_KEY_TIMING +// resets the timeout after each key is tapped +// #define LEADER_TIMEOUT 240 + + + + + + +/* Autoshifting + ========================================================================== */ + +// This controls how long you have to hold a key before you get the shifted state. +#define AUTO_SHIFT_TIMEOUT 150 + +// Do not Auto Shift special keys -_, =+, [{, ]}, ;:, '", ,<, .>, and /? +// #define NO_AUTO_SHIFT_SPECIAL + +// Do not Auto Shift numeric keys, zero through nine. +#define NO_AUTO_SHIFT_NUMERIC + +// Do not Auto Shift alpha characters, which include A through Z. +// #define NO_AUTO_SHIFT_ALPHA + +// Lower the Auto Shift timeout variable (down) +// KC_ASDN + +// Raise the Auto Shift timeout variable (up) +// KC_ASUP + +// Report your current Auto Shift timeout value +// KC_ASRP + +// Turns on the Auto Shift Function +// KC_ASON + +// Turns off the Auto Shift Function +// KC_ASOFF + +// Toggles the state of the Auto Shift feature +// KC_ASTG diff --git a/keyboards/idobao/id75/keymaps/egstad/keymap.c b/keyboards/idobao/id75/keymaps/egstad/keymap.c new file mode 100644 index 0000000000..febbad7c6e --- /dev/null +++ b/keyboards/idobao/id75/keymaps/egstad/keymap.c @@ -0,0 +1,267 @@ +/* Copyright 2020 Jordan Egstad + * + * 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 . + */ + +#include QMK_KEYBOARD_H + + + + + + +/* ========================================================================== + LAYERS + ========================================================================== */ + +// qwerty +#define _QW 0 +// functions +#define _FN 1 + + + + + + +/* ========================================================================== + CUSTOM KEYS + ========================================================================== */ + +// Tap dances +#define TD_ESCP TD(TD_GV_ESC) // Tap for grave, twice for escape +#define TD_MINS TD(TD_MIN) // Tap for minus, twice for equal +#define TD_BRAC TD(TD_BRC) // Tap for open brace, twice for close + +// Layers +#define FN_SPC LT(_FN, KC_SPC) // Tap for space, hold for _FN + +// Modifiers +#define LG_ZMIN LGUI(KC_EQUAL) // Command + plus (zoom in) +#define LG_ZMOT LGUI(KC_MINUS) // Command + minus (zoom out) +#define MT_SHFT MT(MOD_RSFT, KC_ENT) // Tap for enter, hold for shift + +// Tap Dances +enum { + TD_BRC = 0, + TD_MIN, + TD_GV_ESC, + TD_BS +}; + +// Tap Dance Definitions +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for Left Brace, twice for Right Brace + [TD_BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), + //Tap once for Minus, twice for Equal + [TD_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_MINUS, KC_EQUAL), + // Tap once for Grave, tap twice for Escape + [TD_GV_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRAVE, KC_ESCAPE) +}; + + + + + + +/* ========================================================================== + KEYMAPS + ========================================================================== */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY (_QW) + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | \| | 6 | 7 | 8 | 9 | 0 | - + | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | [ ] | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | CAP LK | A | S | D | F | G | | | | H | J | K | L | ; | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | LSHIFT | Z | X | C | V | B | | | | N | M | , | . | / | RSHIFT | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| + * | ZOOM- | ZOOM+ | LALT | FN | CMD | BSPC | | | FN | SPACE | ENTER | LEFT | UP | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ + TD_ESCP, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_PIPE, KC_6, KC_7, KC_8, KC_9, KC_0, TD_MINS, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BRAC, \ + _______, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_SHFT, \ + LG_ZMOT, LG_ZMIN, KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, _______, RESET, _______, FN_SPC, KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \ + ), + + +/* FUNCTION (_FN) + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | | P | | F7 | F8 | F9 | F10 | F11 | F12 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | RGB HD | RGB HI | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | A-SFT | | | | | | RGB SD | RGB SI | | | LEFT | UP | DOWN | RIGHT | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | RGB | | | | | | RGB VD | RGB VI | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | RESET | | | | | | RGB RMD| RGB MD | | | PLAY | PREV | VOL UP | VOL DN | NEXT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, \ + KC_ASTG, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, \ + RGB_TOG, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, \ + RESET, _______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, KC_MPLY, KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD \ + ), +}; + + + + + + +/* ========================================================================== + LEDs + ========================================================================== */ + +// RGB MODES +// 1 = Static +// 2-5 = Breathing +// 6-8 = Rainbow +// 9-14 = Swirl +// 15-20 = Snake +// 21-24 = Nightrider +// 25 = Christmas +// 26-30 = Static Gradient + +// Default LED colors +uint8_t h = 170; +uint8_t s = 255; +uint8_t v; + +// default animation +uint8_t rgbMode = RGBLIGHT_MODE_STATIC_LIGHT; +// boot animation +uint8_t rgbBootMode = RGBLIGHT_MODE_SNAKE; +// boot timeout vars +uint8_t bootComplete = 0; +int bootTimeoutDuration = 2000; +int bootTimeout; + + +void init_hsv(void) { + // fetch what the brightness was last sesion + v = rgblight_get_val(); + rgblight_sethsv(h,s,v); +} + +// fetch current HSV vals +void get_hsv(void) { + h = rgblight_get_hue(); + s = rgblight_get_sat(); + v = rgblight_get_val(); +} + +// reset HSV vals +void reset_hsv(void) { + int currentV = rgblight_get_val(); + rgblight_sethsv(h,s,currentV); +} + +// deterimes when to stop bootup animation +void bootupAnimation(void) { + bootComplete = (timer_elapsed(bootTimeout) > bootTimeoutDuration) ? 1 : 0; + + if (bootComplete) { + rgblight_mode(rgbMode); + } +} + + + + + + +/* ========================================================================== + INITIALIZATION FUNCTION + ========================================================================== */ + +void keyboard_post_init_user(void) { + // start a timeout + bootTimeout = timer_read(); + // set rgb color + init_hsv(); + // init rgb + rgblight_enable(); + // animate in snake ledGreende + rgblight_mode(rgbBootMode); +}; + + + + + + +/* ========================================================================== + ALWAYS RUNNING + ========================================================================== */ +void matrix_scan_user(void) { + // keep an eye on these layers + uint8_t layer = get_highest_layer(layer_state); + // handle boot-up sequence + bootupAnimation(); + // watch the brightness for changes + v = rgblight_get_val(); + + switch (layer) { + case _FN: + // set leds to white + rgblight_sethsv_noeeprom(h,0,v); + break; + default: + break; + } +}; + + + + + + +/* ========================================================================== + KEYPRESS CALLBACKS + ========================================================================== */ + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // keep an eye on these layers + uint8_t layer = get_highest_layer(layer_state); + + switch (keycode) { + case FN_SPC: + // stash and pop color on key down and key up + (record->event.pressed) ? get_hsv() : reset_hsv(); + return true; + default: + switch (layer) { + case _QW: + // tick the hue up with each keypress + rgblight_increase_hue(); + break; + default: + break; + } + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/idobao/id75/keymaps/egstad/readme.md b/keyboards/idobao/id75/keymaps/egstad/readme.md new file mode 100644 index 0000000000..2de44ad9cc --- /dev/null +++ b/keyboards/idobao/id75/keymaps/egstad/readme.md @@ -0,0 +1,17 @@ +# Egstad's Idobo + +## LEDs +By default, LEDs are enabled. There is a short bootup animation (`bootupAnimation()`) to indicate that the keyboard has powered up correctly. + +On each keypress, the LEDs hue increases. This increase is determined the the `RGBLIGHT_HUE_STEP` value, which is assigned in `../config.h` (parent idobo directory). My local copy has this value set to `1`, so the incremental color shift is rather slow. + + +## Keeping up to date +To update your fork’s master, run the following, hitting the Enter key after each line: + +```bash +git checkout master +git fetch upstream +git pull upstream master +git push origin master +``` diff --git a/keyboards/idobao/id75/keymaps/egstad/rules.mk b/keyboards/idobao/id75/keymaps/egstad/rules.mk new file mode 100644 index 0000000000..ca3becc383 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/egstad/rules.mk @@ -0,0 +1,3 @@ +TAP_DANCE_ENABLE = yes +AUTO_SHIFT_ENABLE = yes +RGBLIGHT_ENABLE = yes diff --git a/keyboards/idobao/id75/keymaps/gkbd/config.h b/keyboards/idobao/id75/keymaps/gkbd/config.h new file mode 100644 index 0000000000..35572307c0 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd/config.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#pragma once + +#define UNICODE_SELECTED_MODES UC_WINC + +/* Selected Unicode input method relies on WinCompose + * https://docs.qmk.fm/#/feature_unicode?id=input-modes + * Linux users are better served by xkb configuration + * https://gitlab.com/lykt/geotype/-/blob/master/xkb/dsae + */ diff --git a/keyboards/idobao/id75/keymaps/gkbd/keymap.c b/keyboards/idobao/id75/keymaps/gkbd/keymap.c new file mode 100644 index 0000000000..16e16cd855 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd/keymap.c @@ -0,0 +1,41 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15(/* Latin base */ + KC_ESC, KC_PSLS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PSCR, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_DEL, + KC_TAB, KC_SCLN, KC_P, KC_Y, KC_T, KC_U, KC_G, KC_PGUP, KC_H, KC_N, KC_V, KC_K, KC_X, KC_MINS, KC_INS, + KC_CAPS, KC_W, KC_D, KC_S, KC_A, KC_E, KC_O, KC_PGDN, KC_L, KC_R, KC_I, KC_M, KC_B, KC_C, KC_ENT, + KC_LSFT, KC_BSLS, KC_J, KC_LBRC, KC_RBRC, KC_COMM, KC_DOT, KC_UP, KC_QUOT, KC_Z, KC_Q, KC_F, KC_SLSH, KC_GRV, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(2), KC_HOME, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_END, MO(2), KC_RALT, RGUI_T(KC_APP), KC_RCTL + ), + [1] = LAYOUT_ortho_5x15(/* Unicode layer */ + KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, UC(0x10EB), UC(0x10DE), UC(0x10E8), UC(0x10E2), UC(0x10E3), UC(0x10D2), KC_TRNS, UC(0x10EE), UC(0x10DC), UC(0x10D5), UC(0x10D9), UC(0x10E9), KC_TRNS, KC_TRNS, + KC_SCLN, UC(0x10D7), UC(0x10D3), UC(0x10E1), UC(0x10D0), UC(0x10D4), UC(0x10DD), KC_TRNS, UC(0x10DA), UC(0x10E0), UC(0x10D8), UC(0x10DB), UC(0x10D1), UC(0x10EA), KC_TRNS, + KC_TRNS, UC(0x10DF), UC(0x10EF), UC(0x10E7), UC(0x10EC), KC_TRNS, KC_TRNS, KC_TRNS, UC(0x10E6), UC(0x10D6), UC(0x10E5), UC(0x10E4), UC(0x10F0), UC(0x10ED), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_5x15(/* Function keys */ + RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_SLCK, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_PAUS, + KC_TRNS, KC_NO, KC_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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_F11, KC_NO, KC_NO, KC_NO, KC_F12, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/idobao/id75/keymaps/gkbd/readme.md b/keyboards/idobao/id75/keymaps/gkbd/readme.md new file mode 100644 index 0000000000..3951f3e564 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd/readme.md @@ -0,0 +1,7 @@ +![Georgian linear layout](https://lykt.xyz/kbd/linear/dsae.svg) + +# Georgian linear layout configuration for idobo + +Based on Georgian Carpalx optimized linear layout from [https://gitlab.com/lykt](https://gitlab.com/lykt) + +Some documentation (in Georgian) and resources (xkb, klc, json configurations) are available at [https://lykt.xyz/kbd/linear/](https://lykt.xyz/kbd/linear/) diff --git a/keyboards/idobao/id75/keymaps/gkbd/rules.mk b/keyboards/idobao/id75/keymaps/gkbd/rules.mk new file mode 100644 index 0000000000..039f07c8e3 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd/rules.mk @@ -0,0 +1 @@ +UNICODE_ENABLE = yes diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/config.h b/keyboards/idobao/id75/keymaps/gkbd_75/config.h new file mode 100644 index 0000000000..7813d776e5 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_75/config.h @@ -0,0 +1,21 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#pragma once + +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c new file mode 100644 index 0000000000..be67aead4e --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_75/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_F7, + KC_TAB, KC_K, KC_P, KC_L, KC_R, KC_C, KC_F2, KC_F5, KC_M, KC_U, KC_O, KC_W, KC_X, KC_SLSH, KC_F8, + KC_CAPS, KC_D, KC_S, KC_T, KC_F, KC_N, KC_F3, KC_F6, KC_I, RSFT_T(KC_J), KC_E, KC_A, KC_H, KC_ENT, KC_F9, + KC_PGUP, KC_Q, KC_B, KC_G, KC_COMM, KC_DOT, KC_LGUI, KC_RALT, KC_MINS, KC_V, KC_Y, KC_QUOT, KC_Z, KC_UP, KC_F10, + KC_PGDN, KC_PSCR, KC_INS, KC_DEL, LT(1,KC_F11), KC_BSPC, KC_LSFT, KC_RCTL, KC_SPC, LT(1,KC_F12), KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ortho_5x15( + RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_SLCK, KC_NO, KC_NO, KC_PAUS, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_WAKE, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_GRV, KC_TRNS, KC_TRNS, KC_TILD, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_APP + ) +}; + diff --git a/keyboards/idobao/id75/keymaps/gkbd_75/readme.md b/keyboards/idobao/id75/keymaps/gkbd_75/readme.md new file mode 100644 index 0000000000..aa14049420 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_75/readme.md @@ -0,0 +1,7 @@ +![Orthocarpus layout](https://lykt.xyz/jnsf/ortho/ortho.jpg) + +# Orthocarpus layout configuration for idobo + +Based on ortholinear carpalx optimized layout from [https://gitlab.com/lykt](https://gitlab.com/lykt) + +Some documentation and resources (carpalx report, json configuration) are available at [https://lykt.xyz/jnsf/ortho/](https://lykt.xyz/jnsf/ortho/) diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h b/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h new file mode 100644 index 0000000000..e8fc39faad --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_orthon/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#pragma once + +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c new file mode 100644 index 0000000000..a603eae657 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_orthon/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2021 Giorgi Chavchanidze + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +#define MIN_PROXIMITY 8000 + +uint16_t predecessor_key = KC_NO; +uint16_t adaptive_key = KC_NO; + +static uint16_t vowel_proximity; + +enum custom_keycodes { + ON = SAFE_RANGE, +}; + +bool promote_consonants(void) { + return predecessor_key == KC_O && timer_elapsed(vowel_proximity) < MIN_PROXIMITY && !(get_mods() & ~MOD_MASK_SHIFT & MOD_MASK_CAG); +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + if (keycode == ON) { + + if (record->event.pressed) { + + keycode = promote_consonants()?KC_N:KC_O; + register_code(keycode); + adaptive_key = keycode; + + } + else { + unregister_code(adaptive_key); + } + } + + if (!IS_MOD(keycode) && record->event.pressed) { + if(keycode == KC_E || keycode == KC_A || keycode == KC_O || keycode == KC_I || keycode == KC_U) { + predecessor_key = KC_O; + vowel_proximity = timer_read(); + } + else { + predecessor_key = keycode; + } + } + + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15(/* Base */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_APP, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_QUOT, KC_Z, KC_Y, KC_U, KC_F, KC_W, KC_LCBR, KC_PSCR, KC_RCBR, KC_G, KC_M, KC_P, KC_N, KC_J, KC_MINS, + KC_ESC, KC_H, KC_I, KC_E, KC_A, KC_C, KC_LPRN, MO(1), KC_RPRN, KC_L, KC_R, KC_T, KC_S, KC_D, KC_ENT, + KC_TAB, KC_SCLN, KC_X, KC_O, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI, KC_BSLS, KC_K, KC_V, KC_B, RSFT_T(KC_Q), KC_UP, KC_INS, + KC_CAPS, KC_HOME, KC_END, KC_DEL, KC_BSPC, ON, KC_LSFT, KC_RCTL, KC_RALT, KC_SPC, KC_PGDN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ortho_5x15(/* Function keys */ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_SLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PAUS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG + ) +}; diff --git a/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md b/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md new file mode 100644 index 0000000000..36479ff9ba --- /dev/null +++ b/keyboards/idobao/id75/keymaps/gkbd_orthon/readme.md @@ -0,0 +1,11 @@ +![Orthon layout](https://lykt.xyz/rtsd/orthon.svg) + +# Orthon layout + +Ortholinear carpalx optimized layout with adaptive thumb key. + +Adaptive key is + * **n** after **eaoiu** vowels + * **o** otherwise + +Some documentation and resources (carpalx report, json configuration) are available at [https://lykt.xyz/rtsd/#orthon](https://lykt.xyz/rtsd/#orthon) diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json b/keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json new file mode 100644 index 0000000000..19c0780463 --- /dev/null +++ b/keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json @@ -0,0 +1,190 @@ +[ + { + "name": "gsm-idobo", + "notes": "Massdrop xd75\n\nFront Legend = \"Adust\" layer (both lower and Raise)" + }, + [ + { + "a": 3 + }, + "Esc\n\n\n\nreset", + { + "t": "#0000ff\n#ff0000", + "a": 4 + }, + "\nF1\n\n\n\n\n\n\n\n1 !", + "\nF2\n\n\n\n\n\n\n\n2 @", + "\nF3\n\n\n\n\n\n\n\n3 #", + "\nF4\n\n\n\n\n\n\n\n4 $", + "\nF5\n\n\n\n\n\n\n\n5 %", + { + "t": "#000000", + "a": 7 + }, + "= +", + "", + "- _", + { + "t": "#0000ff\n#ff0000", + "a": 0 + }, + "\nF6\n\n\nrgbplain\n\n\n\n\n6 ^", + "\nF7\n\n\nrgbtest\n\n\n\n\n7 &", + "\nF8\n\n\nrgbmode\n\n\n\n\n8 *", + { + "a": 4 + }, + "\nF9\n\n\n\n\n\n\n\n9 (", + "\nF10\n\n\n\n\n\n\n\n0 )", + { + "t": "#000000", + "a": 7 + }, + "Bksp" + ], + [ + "Tab", + "Q", + { + "t": "#0000ff\n#ff0000", + "a": 4 + }, + "PgUp\nUP\n\n\n\n\n\n\n\nW", + { + "t": "#000000", + "a": 7 + }, + "E", + { + "a": 3 + }, + "R\n\n\n\nrgb_tog", + "T\n\n\n\nbl_tog", + { + "a": 7 + }, + "", + "", + "[ {", + "T", + "Y", + "I", + "O", + "P", + "]" + ], + [ + { + "c": "#0000ff", + "t": "#ffffff" + }, + "Raise", + { + "c": "#cccccc", + "t": "#0000ff\n#ff0000", + "a": 4 + }, + "Home\nLEFT\n\n\n\n\n\n\n\nA", + { + "a": 0 + }, + "PgDwn\nDOWN\n\n\nrgb_hai\n\n\n\n\nS", + "End\nRIGHT\n\n\nrgb_sai\n\n\n\n\nD", + { + "t": "#000000", + "a": 3 + }, + "F\n\n\n\nrgb_vai", + "G\n\n\n\nbl_inc", + { + "a": 7 + }, + "", + "UP", + "PrtScr", + "H", + "J", + "K", + "L", + "; :", + "' \"" + ], + [ + { + "a": 3 + }, + "Shift\n\n\n\neep_rst", + { + "a": 7 + }, + "Z", + { + "a": 3 + }, + "X\n\n\n\nrgb_hud", + "C\n\n\n\nrgb_sad", + "V\n\n\n\nrgb_vad", + "B\n\n\n\nbl_dec", + { + "a": 7 + }, + "LEFT", + "DOWN", + "RIGHT", + "N", + "M", + ", <", + ". >", + "/ ?", + { + "a": 6 + }, + "Shift" + ], + [ + { + "a": 7 + }, + "` ~", + "\\ |", + "Alt", + "Ctrl", + { + "c": "#ff0000" + }, + "Lower", + { + "c": "#eb7c15" + }, + "Space", + { + "c": "#cccccc", + "t": "#0000ff\n#ff0000", + "a": 4 + }, + "\nApp\n\n\n\n\n\n\n\nOS", + { + "t": "#000000", + "a": 7 + }, + "Del", + "Enter", + { + "c": "#eb7c15" + }, + "Space", + { + "c": "#0000ff", + "t": "#ffffff" + }, + "Raise", + { + "c": "#cccccc", + "t": "#000000" + }, + "Left", + "Down", + "Up", + "Right" + ] +] \ No newline at end of file diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c new file mode 100644 index 0000000000..d23bc7c7df --- /dev/null +++ b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c @@ -0,0 +1,140 @@ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, +}; + +enum layer_names { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 | BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | | | [ | Y | U | I | O | P | ] | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | RAISE | A | S | D | F | G | | UP | PrtScr | H | J | K | L | ; | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | LSHIFT | Z | X | C | V | B | LEFT | DOWN | RIGHT | N | M | , | . | / | RSHIFT | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| + * | ` | \ | LALT | LCTRL | LOWER | SPACE | LGUI | DEL | ENTER | SPACE | RAISE | LEFT | DOWN | UP | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_ortho_5x15( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, XXXXXXX, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, + RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_UP, KC_PSCR, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LEFT, KC_DOWN, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_GRAVE, KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC, KC_LGUI, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + + +/* LOWER + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * |