From 58ebb39d8161236f015175231cc858bbbb57b738 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Mon, 4 Oct 2021 21:13:01 +0200 Subject: [PATCH 01/18] mkbd65 added --- keyboards/mkbd65/README.md | 17 ++ keyboards/mkbd65/config.h | 158 +++++++++++ keyboards/mkbd65/info.json | 310 +++++++++++++++++++++ keyboards/mkbd65/keymaps/default/README.md | 52 ++++ keyboards/mkbd65/keymaps/default/config.h | 19 ++ keyboards/mkbd65/keymaps/default/keymap.c | 45 +++ keyboards/mkbd65/mkbd65.c | 43 +++ keyboards/mkbd65/mkbd65.h | 56 ++++ keyboards/mkbd65/rules.mk | 80 ++++++ 9 files changed, 780 insertions(+) create mode 100644 keyboards/mkbd65/README.md create mode 100644 keyboards/mkbd65/config.h create mode 100644 keyboards/mkbd65/info.json create mode 100644 keyboards/mkbd65/keymaps/default/README.md create mode 100644 keyboards/mkbd65/keymaps/default/config.h create mode 100644 keyboards/mkbd65/keymaps/default/keymap.c create mode 100644 keyboards/mkbd65/mkbd65.c create mode 100644 keyboards/mkbd65/mkbd65.h create mode 100644 keyboards/mkbd65/rules.mk diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md new file mode 100644 index 0000000000..b9946cfd26 --- /dev/null +++ b/keyboards/mkbd65/README.md @@ -0,0 +1,17 @@ +# mkbd65 + +![mkbd65](https://gitlab.com/mkbd65/pcb/raw/master/mkbd65.png) + +A mobile keyboard addon for smartphones. + +Keyboard Maintainer: [XenGi](https://xengi.de) +Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65) +Hardware Availability: - + +Make example for this keyboard (after setting up your build environment): + +``` +make mkbd65: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/mkbd65/config.h b/keyboards/mkbd65/config.h new file mode 100644 index 0000000000..704fe8f4dc --- /dev/null +++ b/keyboards/mkbd65/config.h @@ -0,0 +1,158 @@ +/* +Copyright 2018 XenGi + +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 0xDEAD +#define PRODUCT_ID 0xBEAF +#define DEVICE_VER 0x0001 +#define MANUFACTURER XenGi +#define PRODUCT mkbd65 +#define DESCRIPTION Custom keyboard addon for smartphones + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +/* + * 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 { D4, D6, D7, B4, B5 } +#define MATRIX_COL_PINS { D5, C7, C6, D3, D2, D1, D0, B7, B3, B2, B1, B0 } +#define UNUSED_PINS { E6, F0, F1, F4, F5, F6, F7 } + +/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +// #define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +// #define LOCKING_RESYNC_ENABLE + +/* 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 + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * 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 diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json new file mode 100644 index 0000000000..a63e1f9a43 --- /dev/null +++ b/keyboards/mkbd65/info.json @@ -0,0 +1,310 @@ +{ + "keyboard_name": "MKBD65", + "url": "https://gitlab.com/xengi/mkbd65", + "maintainer": "XenGi", + "width": 12, + "height": 5, + "layouts": { + "LAYOUT": { + "key_count": 58, + "layout": [ + { + "label": "Esc", + "x": 0, + "y": 0 + }, + { + "label": "1", + "x": 1, + "y": 0 + }, + { + "label": "2", + "x": 2, + "y": 0 + }, + { + "label": "3", + "x": 3, + "y": 0 + }, + { + "label": "4", + "x": 4, + "y": 0 + }, + { + "label": "5", + "x": 5, + "y": 0 + }, + { + "label": "6", + "x": 6, + "y": 0 + }, + { + "label": "7", + "x": 7, + "y": 0 + }, + { + "label": "8", + "x": 8, + "y": 0 + }, + { + "label": "9", + "x": 9, + "y": 0 + }, + { + "label": "0", + "x": 10, + "y": 0 + }, + { + "label": "Delete", + "x": 11, + "y": 0 + }, + { + "label": "Q", + "x": 0, + "y": 1 + }, + { + "label": "W", + "x": 1, + "y": 1 + }, + { + "label": "E", + "x": 2, + "y": 1 + }, + { + "label": "R", + "x": 3, + "y": 1 + }, + { + "label": "T", + "x": 4, + "y": 1 + }, + { + "label": "Y", + "x": 5, + "y": 1 + }, + { + "label": "U", + "x": 6, + "y": 1 + }, + { + "label": "I", + "x": 7, + "y": 1 + }, + { + "label": "O", + "x": 8, + "y": 1 + }, + { + "label": "P", + "x": 9, + "y": 1 + }, + { + "label": "{", + "x": 10, + "y": 1 + }, + { + "label": "}", + "x": 11, + "y": 1 + }, + { + "label": "A", + "x": 0, + "y": 3 + }, + { + "label": "S", + "x": 1, + "y": 3 + }, + { + "label": "D", + "x": 2, + "y": 3 + }, + { + "label": "F", + "x": 3, + "y": 3 + }, + { + "label": "G", + "x": 4, + "y": 3 + }, + { + "label": "H", + "x": 5, + "y": 3 + }, + { + "label": "J", + "x": 6, + "y": 3 + }, + { + "label": "K", + "x": 7, + "y": 3 + }, + { + "label": "L", + "x": 8, + "y": 3 + }, + { + "label": ":", + "x": 9, + "y": 3 + }, + { + "label": "\"", + "x": 10, + "y": 3 + }, + { + "label": "Enter", + "x": 11, + "y": 3, + "w": 2.25 + }, + { + "label": "Z", + "x": 0, + "y": 4 + }, + { + "label": "X", + "x": 1, + "y": 4 + }, + { + "label": "C", + "x": 2, + "y": 4 + }, + { + "label": "V", + "x": 3, + "y": 4 + }, + { + "label": "B", + "x": 4, + "y": 4 + }, + { + "label": "N", + "x": 5, + "y": 4 + }, + { + "label": "M", + "x": 6, + "y": 4 + }, + { + "label": "<", + "x": 7, + "y": 4 + }, + { + "label": ">", + "x": 8, + "y": 4 + }, + { + "label": "?", + "x": 9, + "y": 4 + }, + { + "label": "↑", + "x": 10, + "y": 4 + }, + { + "label": "Shift", + "x": 11, + "y": 4 + }, + { + "label": "Ctrl", + "x": 0, + "y": 5 + }, + { + "label": "Fn", + "x": 1, + "y": 5 + }, + { + "label": "Shift", + "x": 2, + "y": 5 + }, + { + "label": "Alt", + "x": 3, + "y": 5 + }, + { + "label": "|", + "x": 4, + "y": 5 + }, + { + "x": 5, + "y": 5, + "w": 2 + }, + { + "label": "_", + "x": 7, + "y": 5 + }, + { + "label": "+", + "x": 8, + "y": 5 + }, + { + "label": "←", + "x": 9, + "y": 5 + }, + { + "label": "↓", + "x": 10, + "y": 5 + }, + { + "label": "→", + "x": 11, + "y": 5 + } + ] + } + } +} diff --git a/keyboards/mkbd65/keymaps/default/README.md b/keyboards/mkbd65/keymaps/default/README.md new file mode 100644 index 0000000000..2f7e9c220f --- /dev/null +++ b/keyboards/mkbd65/keymaps/default/README.md @@ -0,0 +1,52 @@ +# The default keymap for mkbd65 + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ +║ ESC║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║BKSP║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ RET║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║SHFT║ +╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ +║CTRL║ FN ║SHFT║ ALT║ \ ║ SPACE ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║ +╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║BKSP║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ RET║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░║ +╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ +║CTRL║ FN ║░░░░║ ALT║ | ║ SPACE ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║ +╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +2: mod alt +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║BKSP║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ RET║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║SHFT║ +╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ +║CTRL║ FN ║SHFT║░░░░║ ║ SPACE ║ ║ ║ ◀ ║ ▼ ║ ▶ ║ +╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Del║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║SUPR║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║SHFT║ +╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ +║CTRL║░░░░║SHFT║ ALT║ ║ Tab ║ ║ ` ║Pos1║PgDn║ End║ +╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +``` diff --git a/keyboards/mkbd65/keymaps/default/config.h b/keyboards/mkbd65/keymaps/default/config.h new file mode 100644 index 0000000000..d08c67c094 --- /dev/null +++ b/keyboards/mkbd65/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2018 XenGi + * + * 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 diff --git a/keyboards/mkbd65/keymaps/default/keymap.c b/keyboards/mkbd65/keymaps/default/keymap.c new file mode 100644 index 0000000000..f57e6871fb --- /dev/null +++ b/keyboards/mkbd65/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2018 XenGi + * + * 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( /* Base layer */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_BSLS, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( /* Function layer */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END + ), +}; + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { +} + +void led_set_user(uint8_t usb_led) { +} + diff --git a/keyboards/mkbd65/mkbd65.c b/keyboards/mkbd65/mkbd65.c new file mode 100644 index 0000000000..ab03178a44 --- /dev/null +++ b/keyboards/mkbd65/mkbd65.c @@ -0,0 +1,43 @@ +/* Copyright 2018 XenGi + * + * 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 "mkbd65.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/mkbd65/mkbd65.h b/keyboards/mkbd65/mkbd65.h new file mode 100644 index 0000000000..b9437d02b3 --- /dev/null +++ b/keyboards/mkbd65/mkbd65.h @@ -0,0 +1,56 @@ +/* Copyright 2018 XenGi + * + * 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 . + */ +#ifndef MKBD65_H +#define MKBD65_H + +#include "quantum.h" + +/* LAYOUT + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ 2.0U │ │ │ │ │ │ + * └───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┘ + * 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( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K45, K47, K48, K49, K410, K411 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311 }, \ + { K40, K41, K42, K43, K44, K45, KC_NO, K47, K48, K49, K410, K411 } \ +} + +#endif diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk new file mode 100644 index 0000000000..0187f822d3 --- /dev/null +++ b/keyboards/mkbd65/rules.mk @@ -0,0 +1,80 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# atmega32a bootloadHID +BOOTLOADER = halfkay + + +# If you don't know the bootloader type, then you can specify the +# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +# OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) From d7ebb14089b49446dfdbbdd293290288eaec615c Mon Sep 17 00:00:00 2001 From: XenGi Date: Thu, 4 Nov 2021 17:45:28 +0000 Subject: [PATCH 02/18] Update README.md --- keyboards/mkbd65/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index b9946cfd26..887aa2a795 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -2,11 +2,11 @@ ![mkbd65](https://gitlab.com/mkbd65/pcb/raw/master/mkbd65.png) -A mobile keyboard addon for smartphones. +A mobile keyboard addon for modern smartphones. -Keyboard Maintainer: [XenGi](https://xengi.de) -Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65) -Hardware Availability: - +- Keyboard Maintainer: [XenGi](https://xengi.de) +- Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65/pcb) +- Hardware Availability: - Make example for this keyboard (after setting up your build environment): From 822e0caf42e190d846d4ef2496a740f1af625ef2 Mon Sep 17 00:00:00 2001 From: XenGi Date: Thu, 4 Nov 2021 17:48:29 +0000 Subject: [PATCH 03/18] Update keyboards/mkbd65/mkbd65.png, keyboards/mkbd65/README.md --- keyboards/mkbd65/README.md | 2 +- keyboards/mkbd65/mkbd65.png | Bin 0 -> 812 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 keyboards/mkbd65/mkbd65.png diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index 887aa2a795..08852e8fc2 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -1,6 +1,6 @@ # mkbd65 -![mkbd65](https://gitlab.com/mkbd65/pcb/raw/master/mkbd65.png) +![mkbd65](https://gitlab.com/mkbd65/qmk-firmware/-/raw/mkbd65/keyboards/mkbd65/mkbd65.png?inline=false) A mobile keyboard addon for modern smartphones. diff --git a/keyboards/mkbd65/mkbd65.png b/keyboards/mkbd65/mkbd65.png new file mode 100644 index 0000000000000000000000000000000000000000..b873771c748a467ea808d6c7f91220fe7642e11c GIT binary patch literal 812 zcmeAS@N?(olHy`uVBq!ia0y~yVDMsKU@+%kVqjoU;q$g+U|?*?baoE#baqxKD9TUE z%t>Wn(3n^|(bnUzgUr$R%UwZQO}ZM7CM>jy6c8=Eq9wA>X@zK1slm=K+_OwnboKh0 zvJW2YKf0>9d-FQJbxjIC7#}@*w&aD9>OXzWEgc^p?2v!|&i36sMyJJROtcO7GODin zs6I+k+pSf$U#WxPm*BC6GdjtBlO}zTiU0oL<5#_7oA;dmYgu)5&QXT>9yX_WHhb-H zwAmYJYVls!Jt8oy^L*!VpIr(cm9L9Vzi%NfBUX`i#Ao@lPURy>3!A6%rMU(x&r|AK zHOud()3Ma4pT*MG#w4$;{v_U3^y`$-^-MnHMpqrjCJt89DFJSxhEb(KI!iL_-#wHs z`XjVcq-g4a6B`@2OiuL4|KYDI&wi?|erHL5%!{gxZ~FxoREuX^%l-ZP#HAX4HWh(Z*iu2j;oqsWVlfw@&j&(ct zZv9sHi($#i)lYZ}3OIViG^+1DzH2*o@89ZWSMT$y&MWHZ6T5Pofq{Xuz$3Dlfk96h zgc&QA+LtjfFtC?+`ns||EZzkx!g~flkEm$e^vd7w~p1<#LG+X z*IfVhA#h>pBrff{Vawkv`gAnB?yBC`poGZxYvVRQS74qSe0$f27ImAh88;6swplmr z+l&v>$^!TQ5Wg?M;Zo6ZGT&?A$+H{^h3@A9WQsy!D$hO4KNXqFv;By~|DTgsa@wO} ztLrr0dRAYW_surb|JLMhOKdaW`)?_K8Q@~Md`tPVy$Al9uk*e5KsMk`{ULjX`!&i( VH6?xTGcYhPc)I$ztaD0e0s!C_ZHNE> literal 0 HcmV?d00001 From 706bbd9228da354a6a653421b4030b5f72e7fc19 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Wed, 5 Jan 2022 00:59:33 +0100 Subject: [PATCH 04/18] support new PCB and ANSI and ISO layout --- keyboards/mkbd65/README.md | 11 ++- keyboards/mkbd65/config.h | 19 ++-- keyboards/mkbd65/info.json | 2 +- .../keymaps/{default => ansi}/README.md | 92 ++++++++++--------- .../mkbd65/keymaps/{default => ansi}/config.h | 2 +- keyboards/mkbd65/keymaps/ansi/keymap.c | 45 +++++++++ keyboards/mkbd65/keymaps/default | 1 + keyboards/mkbd65/keymaps/iso/README.md | 54 +++++++++++ keyboards/mkbd65/keymaps/iso/config.h | 19 ++++ .../mkbd65/keymaps/{default => iso}/keymap.c | 14 +-- keyboards/mkbd65/mkbd65.c | 2 +- keyboards/mkbd65/mkbd65.h | 78 +++++++++++----- 12 files changed, 248 insertions(+), 91 deletions(-) rename keyboards/mkbd65/keymaps/{default => ansi}/README.md (52%) rename keyboards/mkbd65/keymaps/{default => ansi}/config.h (96%) create mode 100644 keyboards/mkbd65/keymaps/ansi/keymap.c create mode 120000 keyboards/mkbd65/keymaps/default create mode 100644 keyboards/mkbd65/keymaps/iso/README.md create mode 100644 keyboards/mkbd65/keymaps/iso/config.h rename keyboards/mkbd65/keymaps/{default => iso}/keymap.c (78%) diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index 08852e8fc2..045589252f 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -1,7 +1,7 @@ -# mkbd65 - ![mkbd65](https://gitlab.com/mkbd65/qmk-firmware/-/raw/mkbd65/keyboards/mkbd65/mkbd65.png?inline=false) +# mkbd65 + A mobile keyboard addon for modern smartphones. - Keyboard Maintainer: [XenGi](https://xengi.de) @@ -14,4 +14,11 @@ Make example for this keyboard (after setting up your build environment): make mkbd65:default ``` +Available layouts: + + - ansi (default) + - iso (upright `Enter` key) + +_Don't forget to connect the correct solder joints on the PCB to switch the layout._ + 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/mkbd65/config.h b/keyboards/mkbd65/config.h index 704fe8f4dc..6b4e2fbe05 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -1,5 +1,5 @@ /* -Copyright 2018 XenGi +Copyright 2022 XenGi 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 @@ -20,8 +20,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xDEAD -#define PRODUCT_ID 0xBEAF +#define VENDOR_ID 0x1209 +#define PRODUCT_ID 0x4803 #define DEVICE_VER 0x0001 #define MANUFACTURER XenGi #define PRODUCT mkbd65 @@ -29,7 +29,7 @@ along with this program. If not, see . /* key matrix size */ #define MATRIX_ROWS 5 -#define MATRIX_COLS 12 +#define MATRIX_COLS 13 /* * Keyboard Matrix Assignments @@ -41,16 +41,17 @@ along with this program. If not, see . * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ -#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5 } -#define MATRIX_COL_PINS { D5, C7, C6, D3, D2, D1, D0, B7, B3, B2, B1, B0 } -#define UNUSED_PINS { E6, F0, F1, F4, F5, F6, F7 } +#define MATRIX_COL_PINS { D4, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 } +#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0 } +#define UNUSED_PINS { B3, B2, B1, B0, E6 } /* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ -#define DIODE_DIRECTION COL2ROW +#define DIODE_DIRECTION ROW2COL -#define BACKLIGHT_PIN B6 +#define BACKLIGHT_PIN B7 #define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_ON_STATE 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCING_DELAY 5 diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json index a63e1f9a43..dd4edfcd06 100644 --- a/keyboards/mkbd65/info.json +++ b/keyboards/mkbd65/info.json @@ -1,6 +1,6 @@ { "keyboard_name": "MKBD65", - "url": "https://gitlab.com/xengi/mkbd65", + "url": "https://gitlab.com/mkbd65", "maintainer": "XenGi", "width": 12, "height": 5, diff --git a/keyboards/mkbd65/keymaps/default/README.md b/keyboards/mkbd65/keymaps/ansi/README.md similarity index 52% rename from keyboards/mkbd65/keymaps/default/README.md rename to keyboards/mkbd65/keymaps/ansi/README.md index 2f7e9c220f..00feeefc77 100644 --- a/keyboards/mkbd65/keymaps/default/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -1,52 +1,54 @@ -# The default keymap for mkbd65 +# The ANSI keymap for mkbd65 + +This is the default layout. ``` 0: no mod -╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ -║ ESC║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║BKSP║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ RET║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║SHFT║ -╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ -║CTRL║ FN ║SHFT║ ALT║ \ ║ SPACE ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║ -╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ 1: mod shift -╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ -║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║BKSP║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ RET║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░║ -╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ -║CTRL║ FN ║░░░░║ ALT║ | ║ SPACE ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║ -╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ | ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║░░░░║AltG║ Space ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ 2: mod alt -╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ -║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║BKSP║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ RET║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║SHFT║ -╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ -║CTRL║ FN ║SHFT║░░░░║ ║ SPACE ║ ║ ║ ◀ ║ ▼ ║ ▶ ║ -╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║░░░░║ Space ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ 3: mod fn -╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╗ -║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Del║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║SUPR║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║SHFT║ -╠════╬════╬════╬════╬════╬════╩════╬════╬════╬════╬════╬════╣ -║CTRL║░░░░║SHFT║ ALT║ ║ Tab ║ ║ ` ║Pos1║PgDn║ End║ -╚════╩════╩════╩════╩════╩═════════╩════╩════╩════╩════╩════╝ +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` diff --git a/keyboards/mkbd65/keymaps/default/config.h b/keyboards/mkbd65/keymaps/ansi/config.h similarity index 96% rename from keyboards/mkbd65/keymaps/default/config.h rename to keyboards/mkbd65/keymaps/ansi/config.h index d08c67c094..b0d0727509 100644 --- a/keyboards/mkbd65/keymaps/default/config.h +++ b/keyboards/mkbd65/keymaps/ansi/config.h @@ -1,4 +1,4 @@ -/* Copyright 2018 XenGi +/* Copyright 2022 XenGi * * 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 diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c new file mode 100644 index 0000000000..4b7b3520a4 --- /dev/null +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2022 XenGi + * + * 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_ANSI( /* Base layer */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, + ), + + [1] = LAYOUT_ANSI( /* Function layer */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, + ), +}; + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { +} + +void led_set_user(uint8_t usb_led) { +} + diff --git a/keyboards/mkbd65/keymaps/default b/keyboards/mkbd65/keymaps/default new file mode 120000 index 0000000000..44ad4f4f7e --- /dev/null +++ b/keyboards/mkbd65/keymaps/default @@ -0,0 +1 @@ +ansi \ No newline at end of file diff --git a/keyboards/mkbd65/keymaps/iso/README.md b/keyboards/mkbd65/keymaps/iso/README.md new file mode 100644 index 0000000000..d08f8c1b9e --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/README.md @@ -0,0 +1,54 @@ +# The iso-like keymap for mkbd65 + +It's actually just ANSI but with an upright `Enter` key. + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ \ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ SPACE ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ | ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║░░░░║AltG║ SPACE ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod alt +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ¬ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║░░░░║ SPACE ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` diff --git a/keyboards/mkbd65/keymaps/iso/config.h b/keyboards/mkbd65/keymaps/iso/config.h new file mode 100644 index 0000000000..b0d0727509 --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/config.h @@ -0,0 +1,19 @@ +/* Copyright 2022 XenGi + * + * 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 diff --git a/keyboards/mkbd65/keymaps/default/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c similarity index 78% rename from keyboards/mkbd65/keymaps/default/keymap.c rename to keyboards/mkbd65/keymaps/iso/keymap.c index f57e6871fb..155a2b205b 100644 --- a/keyboards/mkbd65/keymaps/default/keymap.c +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2018 XenGi +/* Copyright 2022 XenGi * * 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 @@ -17,20 +17,20 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base layer */ + [0] = LAYOUT_ISO( /* Base layer */ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_BSLS, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, ), - [1] = LAYOUT( /* Function layer */ + [1] = LAYOUT_ISO( /* Function layer */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, ), }; diff --git a/keyboards/mkbd65/mkbd65.c b/keyboards/mkbd65/mkbd65.c index ab03178a44..fae93a8ea5 100644 --- a/keyboards/mkbd65/mkbd65.c +++ b/keyboards/mkbd65/mkbd65.c @@ -1,4 +1,4 @@ -/* Copyright 2018 XenGi +/* Copyright 2022 XenGi * * 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 diff --git a/keyboards/mkbd65/mkbd65.h b/keyboards/mkbd65/mkbd65.h index b9437d02b3..1a53cad69f 100644 --- a/keyboards/mkbd65/mkbd65.h +++ b/keyboards/mkbd65/mkbd65.h @@ -1,4 +1,4 @@ -/* Copyright 2018 XenGi +/* Copyright 2022 XenGi * * 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 @@ -18,19 +18,19 @@ #include "quantum.h" -/* LAYOUT - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ 2.0U │ │ │ │ │ │ - * └───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┘ - * This a shortcut to help you visually see your layout. +/* LAYOUT_ANSI + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ 3.0U │ │ │ │ │ │ │ + * └───┴───┴───┴───┴───────────┴───┴───┴───┴───┴───┴───┘ + * This is 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. @@ -38,19 +38,47 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ -#define LAYOUT( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ - K40, K41, K42, K43, K44, K45, K47, K48, K49, K410, K411 \ +#define LAYOUT_ANSI( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ ) \ { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011 }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111 }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211 }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311 }, \ - { K40, K41, K42, K43, K44, K45, KC_NO, K47, K48, K49, K410, K411 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ +} + +/* LAYOUT_ISO + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ 3.0U │ │ │ │ │ │ │ + * └───┴───┴───┴───┴───────────┴───┴───┴───┴───┴───┴───┘ + */ +#define LAYOUT_ISO( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ } #endif From ae675071394ce10ae1698f34b4bbae446cf070bc Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Wed, 26 Jan 2022 00:06:05 +0100 Subject: [PATCH 05/18] fix code; first successful flash --- keyboards/mkbd65/README.md | 4 +- keyboards/mkbd65/info.json | 310 ------------------------- keyboards/mkbd65/keymaps/ansi/keymap.c | 6 +- keyboards/mkbd65/rules.mk | 2 +- 4 files changed, 6 insertions(+), 316 deletions(-) delete mode 100644 keyboards/mkbd65/info.json diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index 045589252f..d130cbf8e2 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -8,10 +8,10 @@ A mobile keyboard addon for modern smartphones. - Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65/pcb) - Hardware Availability: - -Make example for this keyboard (after setting up your build environment): +Flashing this keyboard with ANSI layout (after setting up your build environment): ``` -make mkbd65:default +qmk flash -kb mkbd65 -km ansi ``` Available layouts: diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json deleted file mode 100644 index dd4edfcd06..0000000000 --- a/keyboards/mkbd65/info.json +++ /dev/null @@ -1,310 +0,0 @@ -{ - "keyboard_name": "MKBD65", - "url": "https://gitlab.com/mkbd65", - "maintainer": "XenGi", - "width": 12, - "height": 5, - "layouts": { - "LAYOUT": { - "key_count": 58, - "layout": [ - { - "label": "Esc", - "x": 0, - "y": 0 - }, - { - "label": "1", - "x": 1, - "y": 0 - }, - { - "label": "2", - "x": 2, - "y": 0 - }, - { - "label": "3", - "x": 3, - "y": 0 - }, - { - "label": "4", - "x": 4, - "y": 0 - }, - { - "label": "5", - "x": 5, - "y": 0 - }, - { - "label": "6", - "x": 6, - "y": 0 - }, - { - "label": "7", - "x": 7, - "y": 0 - }, - { - "label": "8", - "x": 8, - "y": 0 - }, - { - "label": "9", - "x": 9, - "y": 0 - }, - { - "label": "0", - "x": 10, - "y": 0 - }, - { - "label": "Delete", - "x": 11, - "y": 0 - }, - { - "label": "Q", - "x": 0, - "y": 1 - }, - { - "label": "W", - "x": 1, - "y": 1 - }, - { - "label": "E", - "x": 2, - "y": 1 - }, - { - "label": "R", - "x": 3, - "y": 1 - }, - { - "label": "T", - "x": 4, - "y": 1 - }, - { - "label": "Y", - "x": 5, - "y": 1 - }, - { - "label": "U", - "x": 6, - "y": 1 - }, - { - "label": "I", - "x": 7, - "y": 1 - }, - { - "label": "O", - "x": 8, - "y": 1 - }, - { - "label": "P", - "x": 9, - "y": 1 - }, - { - "label": "{", - "x": 10, - "y": 1 - }, - { - "label": "}", - "x": 11, - "y": 1 - }, - { - "label": "A", - "x": 0, - "y": 3 - }, - { - "label": "S", - "x": 1, - "y": 3 - }, - { - "label": "D", - "x": 2, - "y": 3 - }, - { - "label": "F", - "x": 3, - "y": 3 - }, - { - "label": "G", - "x": 4, - "y": 3 - }, - { - "label": "H", - "x": 5, - "y": 3 - }, - { - "label": "J", - "x": 6, - "y": 3 - }, - { - "label": "K", - "x": 7, - "y": 3 - }, - { - "label": "L", - "x": 8, - "y": 3 - }, - { - "label": ":", - "x": 9, - "y": 3 - }, - { - "label": "\"", - "x": 10, - "y": 3 - }, - { - "label": "Enter", - "x": 11, - "y": 3, - "w": 2.25 - }, - { - "label": "Z", - "x": 0, - "y": 4 - }, - { - "label": "X", - "x": 1, - "y": 4 - }, - { - "label": "C", - "x": 2, - "y": 4 - }, - { - "label": "V", - "x": 3, - "y": 4 - }, - { - "label": "B", - "x": 4, - "y": 4 - }, - { - "label": "N", - "x": 5, - "y": 4 - }, - { - "label": "M", - "x": 6, - "y": 4 - }, - { - "label": "<", - "x": 7, - "y": 4 - }, - { - "label": ">", - "x": 8, - "y": 4 - }, - { - "label": "?", - "x": 9, - "y": 4 - }, - { - "label": "↑", - "x": 10, - "y": 4 - }, - { - "label": "Shift", - "x": 11, - "y": 4 - }, - { - "label": "Ctrl", - "x": 0, - "y": 5 - }, - { - "label": "Fn", - "x": 1, - "y": 5 - }, - { - "label": "Shift", - "x": 2, - "y": 5 - }, - { - "label": "Alt", - "x": 3, - "y": 5 - }, - { - "label": "|", - "x": 4, - "y": 5 - }, - { - "x": 5, - "y": 5, - "w": 2 - }, - { - "label": "_", - "x": 7, - "y": 5 - }, - { - "label": "+", - "x": 8, - "y": 5 - }, - { - "label": "←", - "x": 9, - "y": 5 - }, - { - "label": "↓", - "x": 10, - "y": 5 - }, - { - "label": "→", - "x": 11, - "y": 5 - } - ] - } - } -} diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index 4b7b3520a4..cc7c6018cc 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, + KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL ), [1] = LAYOUT_ANSI( /* Function layer */ @@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, - ), + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) }; void matrix_init_user(void) { diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk index 0187f822d3..a6bdd38bae 100644 --- a/keyboards/mkbd65/rules.mk +++ b/keyboards/mkbd65/rules.mk @@ -45,7 +45,7 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT # LUFA DFU lufa-dfu # QMK DFU qmk-dfu # atmega32a bootloadHID -BOOTLOADER = halfkay +BOOTLOADER = atmel-dfu # If you don't know the bootloader type, then you can specify the From 7b8e2a8ea070d6bf4b9878788fb52892fef71447 Mon Sep 17 00:00:00 2001 From: XenGi Date: Thu, 27 Jan 2022 19:46:54 +0000 Subject: [PATCH 06/18] Update keyboards/mkbd65/keymaps/ansi/README.md --- keyboards/mkbd65/keymaps/ansi/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index 00feeefc77..99bec108a1 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -30,7 +30,7 @@ This is the default layout. 2: mod alt ╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ ║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ -╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +╠════╬════╬════╬════╬════╬════╬════╬════╬══` ══╬════╬════╬════╦════╣ ║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ ║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Return ║ @@ -45,10 +45,10 @@ This is the default layout. ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Super ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ -║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ +║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ║Pos1║PgDn║ End║Ctrl║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` From f0cb73c17581fb40cc5db36d7a182218aaabfb49 Mon Sep 17 00:00:00 2001 From: XenGi Date: Thu, 27 Jan 2022 19:47:25 +0000 Subject: [PATCH 07/18] Update keyboards/mkbd65/keymaps/ansi/README.md --- keyboards/mkbd65/keymaps/ansi/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index 99bec108a1..87759b323b 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -30,12 +30,12 @@ This is the default layout. 2: mod alt ╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ ║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ -╠════╬════╬════╬════╬════╬════╬════╬════╬══` ══╬════╬════╬════╦════╣ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ ║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Return ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ ║Ctrl║ Fn ║Shft║░░░░║ Space ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ From acb282080a689bfe8eb64792f15433f8a14501c4 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sat, 19 Feb 2022 18:31:46 +0100 Subject: [PATCH 08/18] make AltGr a sticky key, Fixes #1 --- keyboards/mkbd65/config.h | 5 +++-- keyboards/mkbd65/keymaps/ansi/keymap.c | 2 +- keyboards/mkbd65/keymaps/iso/keymap.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h index 6b4e2fbe05..8eff7c175d 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -22,9 +22,9 @@ along with this program. If not, see . /* USB Device descriptor parameter */ #define VENDOR_ID 0x1209 #define PRODUCT_ID 0x4803 -#define DEVICE_VER 0x0001 +#define DEVICE_VER 0x0002 #define MANUFACTURER XenGi -#define PRODUCT mkbd65 +#define PRODUCT mkbd65 rev1 #define DESCRIPTION Custom keyboard addon for smartphones /* key matrix size */ @@ -48,6 +48,7 @@ along with this program. If not, see . /* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ #define DIODE_DIRECTION ROW2COL +/* (back)light configuration */ #define BACKLIGHT_PIN B7 #define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 3 diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index cc7c6018cc..52e6bb289e 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL ), [1] = LAYOUT_ANSI( /* Function layer */ diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c index 155a2b205b..9187478d99 100644 --- a/keyboards/mkbd65/keymaps/iso/keymap.c +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, KC_RALT, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, ), [1] = LAYOUT_ISO( /* Function layer */ From 4dcbaafb78c86cdbb7d0bdf70413bcd55db1c8ae Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sat, 19 Feb 2022 21:58:06 +0100 Subject: [PATCH 09/18] add media controls --- keyboards/mkbd65/keymaps/ansi/keymap.c | 6 +++--- keyboards/mkbd65/keymaps/iso/keymap.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index 52e6bb289e..972410b3dd 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -27,9 +27,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ANSI( /* Function layer */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_LGUI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ ) }; diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c index 9187478d99..eff19b0c4f 100644 --- a/keyboards/mkbd65/keymaps/iso/keymap.c +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -28,8 +28,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ISO( /* Function layer */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, _______, KC_LGUI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_APP, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, ), }; From 9c3912ba8fb9cc211bbe57ee56b08cbb057affa6 Mon Sep 17 00:00:00 2001 From: XenGi Date: Fri, 26 May 2023 11:11:10 +0000 Subject: [PATCH 10/18] Update README.md --- keyboards/mkbd65/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index d130cbf8e2..6c694a5f92 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -19,6 +19,4 @@ Available layouts: - ansi (default) - iso (upright `Enter` key) -_Don't forget to connect the correct solder joints on the PCB to switch the layout._ - 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). From 2ba9ed711088e7ccfa0df89fa9948aed6161cae9 Mon Sep 17 00:00:00 2001 From: XenGi Date: Fri, 26 May 2023 11:13:43 +0000 Subject: [PATCH 11/18] Update README.md --- keyboards/mkbd65/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index 6c694a5f92..f30b7c91ea 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -8,15 +8,19 @@ A mobile keyboard addon for modern smartphones. - Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65/pcb) - Hardware Availability: - -Flashing this keyboard with ANSI layout (after setting up your build environment): +Flashing this keyboard with `en-us-intl` layout (after setting up your build environment): ``` -qmk flash -kb mkbd65 -km ansi +qmk flash -kb mkbd65 -km en-us-intl ``` Available layouts: - - ansi (default) - - iso (upright `Enter` key) + - en-us-intl (ansi) + - de-de (iso) + +You can find community provided layouts here: https://gitlab.com/mkbd65/community + +--- 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). From 1bb2a178572b1fb6416032b5898d956436902aab Mon Sep 17 00:00:00 2001 From: XenGi Date: Fri, 26 May 2023 11:27:32 +0000 Subject: [PATCH 12/18] Update README.md --- keyboards/mkbd65/keymaps/ansi/README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index 87759b323b..923a3ccf57 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -1,6 +1,9 @@ -# The ANSI keymap for mkbd65 +# The English US International keymap for mkbd65 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. -This is the default layout. ``` 0: no mod From 462077f2dd3d5069986ac9a34ac779c36047c900 Mon Sep 17 00:00:00 2001 From: XenGi Date: Fri, 26 May 2023 11:33:48 +0000 Subject: [PATCH 13/18] Update README.md --- keyboards/mkbd65/keymaps/ansi/README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index 923a3ccf57..b394d98f2c 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -4,6 +4,7 @@ This is the default layout for the mkbd65 keyboard. You can use it as a referenc It is based on the "English (intl., with AltGr dead keys)" layout. +This is the key matrix (no label means the key from layer 0 will be used): ``` 0: no mod @@ -20,27 +21,27 @@ It is based on the "English (intl., with AltGr dead keys)" layout. ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ 1: mod shift ╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ -║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║Backspace║ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ | ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ -║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ Return ║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░░░░░░║ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ║░░░░░░░░░║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ -║Ctrl║ Fn ║░░░░║AltG║ Space ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ -2: mod alt +2: mod altgr ╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ -║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ -║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Return ║ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ -║Ctrl║ Fn ║Shft║░░░░║ Space ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ 3: mod fn ╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ @@ -50,8 +51,8 @@ It is based on the "English (intl., with AltGr dead keys)" layout. ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ -║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ║Pos1║PgDn║ End║Ctrl║ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` From 725bf551684ee117cea6e60208289ecb043c6593 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sun, 11 Jun 2023 19:51:12 +0200 Subject: [PATCH 14/18] updated to fit qmk standards --- keyboards/mkbd65/README.md | 21 ++- keyboards/mkbd65/config.h | 159 +----------------- keyboards/mkbd65/info.json | 20 +++ keyboards/mkbd65/keymaps/ansi/README.md | 2 +- keyboards/mkbd65/keymaps/ansi/config.h | 19 --- keyboards/mkbd65/keymaps/ansi/keymap.c | 49 ++---- keyboards/mkbd65/keymaps/de/README.md | 56 ++++++ keyboards/mkbd65/keymaps/de/keymap.c | 23 +++ .../mkbd65/keymaps/{default => en-us-intl} | 0 keyboards/mkbd65/keymaps/iso/README.md | 2 +- keyboards/mkbd65/keymaps/iso/config.h | 19 --- keyboards/mkbd65/keymaps/iso/keymap.c | 27 +-- keyboards/mkbd65/mkbd65.c | 43 ----- keyboards/mkbd65/rev0/info.json | 147 ++++++++++++++++ keyboards/mkbd65/rev0/mkbd65.c | 4 + keyboards/mkbd65/{ => rev0}/mkbd65.h | 48 ++---- keyboards/mkbd65/rev0/rules.mk | 9 + keyboards/mkbd65/rev1/info.json | 157 +++++++++++++++++ keyboards/mkbd65/rev1/mkbd65.c | 4 + keyboards/mkbd65/rev1/mkbd65.h | 42 +++++ keyboards/mkbd65/rev1/rules.mk | 3 + keyboards/mkbd65/rules.mk | 85 +--------- 22 files changed, 530 insertions(+), 409 deletions(-) create mode 100644 keyboards/mkbd65/info.json delete mode 100644 keyboards/mkbd65/keymaps/ansi/config.h create mode 100644 keyboards/mkbd65/keymaps/de/README.md create mode 100644 keyboards/mkbd65/keymaps/de/keymap.c rename keyboards/mkbd65/keymaps/{default => en-us-intl} (100%) delete mode 100644 keyboards/mkbd65/keymaps/iso/config.h delete mode 100644 keyboards/mkbd65/mkbd65.c create mode 100644 keyboards/mkbd65/rev0/info.json create mode 100644 keyboards/mkbd65/rev0/mkbd65.c rename keyboards/mkbd65/{ => rev0}/mkbd65.h (65%) create mode 100644 keyboards/mkbd65/rev0/rules.mk create mode 100644 keyboards/mkbd65/rev1/info.json create mode 100644 keyboards/mkbd65/rev1/mkbd65.c create mode 100644 keyboards/mkbd65/rev1/mkbd65.h create mode 100644 keyboards/mkbd65/rev1/rules.mk diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md index f30b7c91ea..817bde28b3 100644 --- a/keyboards/mkbd65/README.md +++ b/keyboards/mkbd65/README.md @@ -11,16 +11,31 @@ A mobile keyboard addon for modern smartphones. Flashing this keyboard with `en-us-intl` layout (after setting up your build environment): ``` -qmk flash -kb mkbd65 -km en-us-intl +qmk flash -kb mkbd65:rev1 -km en-us-intl ``` Available layouts: - en-us-intl (ansi) - - de-de (iso) + - de (iso) You can find community provided layouts here: https://gitlab.com/mkbd65/community +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). + --- -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). +Copyright 2023 XenGi mkbd65@xengi.de @XenGi + +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 . diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h index 8eff7c175d..4ac3a7eaf5 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -1,160 +1,13 @@ -/* -Copyright 2022 XenGi - -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 . -*/ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x1209 -#define PRODUCT_ID 0x4803 -#define DEVICE_VER 0x0002 -#define MANUFACTURER XenGi -#define PRODUCT mkbd65 rev1 -#define DESCRIPTION Custom keyboard addon for smartphones - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 13 - -/* - * 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_COL_PINS { D4, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0 } -#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0 } -#define UNUSED_PINS { B3, B2, B1, B0, E6 } - -/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ -#define DIODE_DIRECTION ROW2COL - -/* (back)light configuration */ -#define BACKLIGHT_PIN B7 -#define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 3 -#define BACKLIGHT_ON_STATE 1 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCING_DELAY 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -// #define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -// #define LOCKING_RESYNC_ENABLE - -/* 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 - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ +// disable debugging //#define NO_DEBUG - -/* disable print */ +// disable printing/debugging using hid_listen //#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER +// disable tap dance and other tapping features //#define NO_ACTION_TAPPING +// disable one-shot modifiers //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json new file mode 100644 index 0000000000..aea164d043 --- /dev/null +++ b/keyboards/mkbd65/info.json @@ -0,0 +1,20 @@ +{ + "keyboard_name": "mkbd65", + "manufacturer": "XenGi", + "url": "https://mkbd65.xengi.de", + "maintainer": "XenGi", + "author": ["XenGi"], + "usb": { + "vid": "0x1209", + "pid": "0x4803" + }, + "debounce": 5, + "diode_direction": "ROW2COL", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "tags": ["mobile", "65%"], + "description": "A mobile keyboard addon for modern smartphones. Fits any smartphones within some minimal size requirements. Supports any keyboard layout you want, as long as it doesn't need more keys.", + "short": "A mobile keyboard addon for modern smartphones." +} diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index b394d98f2c..96e8f7bb14 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -1,4 +1,4 @@ -# The English US International keymap for mkbd65 by XenGi +# The English US International keymap for mkbd65 rev0 by XenGi This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. diff --git a/keyboards/mkbd65/keymaps/ansi/config.h b/keyboards/mkbd65/keymaps/ansi/config.h deleted file mode 100644 index b0d0727509..0000000000 --- a/keyboards/mkbd65/keymaps/ansi/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 XenGi - * - * 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 diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index 972410b3dd..ddda2b83bc 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -1,45 +1,22 @@ -/* Copyright 2022 XenGi - * - * 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 . - */ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ANSI( /* Base layer */ - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + [0] = LAYOUT( /* Base layer */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC, + 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL ), - [1] = LAYOUT_ANSI( /* Function layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + [1] = LAYOUT( /* Function layer */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, - _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ ) }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -void led_set_user(uint8_t usb_led) { -} - diff --git a/keyboards/mkbd65/keymaps/de/README.md b/keyboards/mkbd65/keymaps/de/README.md new file mode 100644 index 0000000000..f5c29d8e85 --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/README.md @@ -0,0 +1,56 @@ +# The German keymap for mkbd65 rev1 by XenGi + +This is the german layout for the mkbd65 keyboard. You can use it as a reference for other ISO based layouts. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ z ║ u ║ i ║ o ║ p ║ ü ║ + ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ö ║ ä ║ # ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ y ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ - ║ ▲ ║ < ║Shft║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ ß ║ ´ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ° ║ ! ║ " ║ § ║ $ ║ % ║ & ║ / ║ ( ║ ) ║ = ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ Ü ║ * ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ Ö ║ Ä ║ ' ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ ; ║ : ║ _ ║ ║ > ║░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║░░░░║ ║ ║ ? ║ ` ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ ║ ║ { ║ [ ║ ] ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ @ ║ ║ € ║ ║ ║ ║ ║ ║ ║ ║ ║ ~ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ║ ║ | ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║░░░░║ ║ \ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ^ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` diff --git a/keyboards/mkbd65/keymaps/de/keymap.c b/keyboards/mkbd65/keymaps/de/keymap.c new file mode 100644 index 0000000000..1246f1e8bc --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "keymap_german.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( /* Base layer */ + KC_GESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_BSPC, KC_BSPC, + DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, KC_ENT, + DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, + DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_UP, DE_LABK, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, DE_SS, DE_ACUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT( /* Function layer */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/default b/keyboards/mkbd65/keymaps/en-us-intl similarity index 100% rename from keyboards/mkbd65/keymaps/default rename to keyboards/mkbd65/keymaps/en-us-intl diff --git a/keyboards/mkbd65/keymaps/iso/README.md b/keyboards/mkbd65/keymaps/iso/README.md index d08f8c1b9e..beb5cc2783 100644 --- a/keyboards/mkbd65/keymaps/iso/README.md +++ b/keyboards/mkbd65/keymaps/iso/README.md @@ -1,4 +1,4 @@ -# The iso-like keymap for mkbd65 +# The iso-like keymap for mkbd65 rev0 It's actually just ANSI but with an upright `Enter` key. diff --git a/keyboards/mkbd65/keymaps/iso/config.h b/keyboards/mkbd65/keymaps/iso/config.h deleted file mode 100644 index b0d0727509..0000000000 --- a/keyboards/mkbd65/keymaps/iso/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 XenGi - * - * 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 diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c index eff19b0c4f..2b59ffd0cf 100644 --- a/keyboards/mkbd65/keymaps/iso/keymap.c +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -1,18 +1,5 @@ -/* Copyright 2022 XenGi - * - * 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 . - */ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H @@ -33,13 +20,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, ), }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -void led_set_user(uint8_t usb_led) { -} - diff --git a/keyboards/mkbd65/mkbd65.c b/keyboards/mkbd65/mkbd65.c deleted file mode 100644 index fae93a8ea5..0000000000 --- a/keyboards/mkbd65/mkbd65.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2022 XenGi - * - * 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 "mkbd65.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/mkbd65/rev0/info.json b/keyboards/mkbd65/rev0/info.json new file mode 100644 index 0000000000..cea5523e84 --- /dev/null +++ b/keyboards/mkbd65/rev0/info.json @@ -0,0 +1,147 @@ +{ + "usb": { + "device_version": "0.0.0" + }, + "layouts": { + "LAYOUT_ansi": { + "layout": [ + {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, + {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, + {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, + {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, + {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, + {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, + {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, + {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, + {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, + {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, + {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, + {"x": 11, "y": 0, "w": 2, "label": "Backspace", "matrix": [0, 11]}, + + {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, + {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, + {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, + {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, + {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, + {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, + {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, + {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, + {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, + {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, + {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, + {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, + {"x": 12, "y": 1, "label": "\\", "matrix": [1, 12]}, + + {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, + {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, + {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, + {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, + {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, + {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, + {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, + {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, + {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, + {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, + {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, + {"x": 11, "y": 2, "w": 2, "label": "Enter", "matrix": [2, 11]}, + + {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, + {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, + {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, + {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, + {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, + {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, + {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, + {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, + {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, + {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, + {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, + {"x": 11, "y": 3, "w": 2, "label": "RShift", "matrix": [3, 11]}, + + {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, + {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, + {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, + {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, + {"x": 4, "y": 4, "w": 3, "label": "Space", "matrix": [4, 4]}, + {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, + {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, + {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, + {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, + {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, + {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, + {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, + {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, + {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, + {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, + {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, + {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, + {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, + {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, + {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, + {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, + {"x": 11, "y": 0, "w": 2, "label": "Backspace", "matrix": [0, 11]}, + + {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, + {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, + {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, + {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, + {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, + {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, + {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, + {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, + {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, + {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, + {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, + {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, + + {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, + {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, + {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, + {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, + {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, + {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, + {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, + {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, + {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, + {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, + {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, + {"x": 11, "y": 2, "label": "\\", "matrix": [2, 11]}, + {"x": 12, "y": 2, "h": 2, "label": "Enter", "matrix": [2, 12]}, + + {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, + {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, + {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, + {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, + {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, + {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, + {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, + {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, + {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, + {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, + {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, + {"x": 11, "y": 3, "w": 2, "label": "RShift", "matrix": [3, 11]}, + + {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, + {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, + {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, + {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, + {"x": 4, "y": 4, "w": 3, "label": "Space", "matrix": [4, 4]}, + {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, + {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, + {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, + {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, + {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, + {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} + ] + } + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + } +} diff --git a/keyboards/mkbd65/rev0/mkbd65.c b/keyboards/mkbd65/rev0/mkbd65.c new file mode 100644 index 0000000000..baca6508d4 --- /dev/null +++ b/keyboards/mkbd65/rev0/mkbd65.c @@ -0,0 +1,4 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" diff --git a/keyboards/mkbd65/mkbd65.h b/keyboards/mkbd65/rev0/mkbd65.h similarity index 65% rename from keyboards/mkbd65/mkbd65.h rename to keyboards/mkbd65/rev0/mkbd65.h index 1a53cad69f..aae0d388fa 100644 --- a/keyboards/mkbd65/mkbd65.h +++ b/keyboards/mkbd65/rev0/mkbd65.h @@ -1,24 +1,12 @@ -/* Copyright 2022 XenGi - * - * 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 . - */ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + #ifndef MKBD65_H #define MKBD65_H #include "quantum.h" -/* LAYOUT_ANSI +/* LAYOUT_ansi * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ @@ -38,7 +26,7 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ -#define LAYOUT_ANSI( \ +#define LAYOUT_ansi( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ @@ -53,20 +41,20 @@ { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ } -/* LAYOUT_ISO - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ - * ├───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───┤ - * │ │ │ │ │ 3.0U │ │ │ │ │ │ │ - * └───┴───┴───┴───┴───────────┴───┴───┴───┴───┴───┴───┘ +/* LAYOUT_iso + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══════╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ║ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ 3.0U │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══════════╧═══╧═══╧═══╧═══╧═══╧═══╝ */ -#define LAYOUT_ISO( \ +#define LAYOUT_iso( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk new file mode 100644 index 0000000000..94d4ac53b6 --- /dev/null +++ b/keyboards/mkbd65/rev0/rules.mk @@ -0,0 +1,9 @@ +# A list of layouts this keyboard supports. +LAYOUTS = ansi iso + +MCU = atmega32u4 +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +BOOTLOADER = atmel-dfu diff --git a/keyboards/mkbd65/rev1/info.json b/keyboards/mkbd65/rev1/info.json new file mode 100644 index 0000000000..276775db17 --- /dev/null +++ b/keyboards/mkbd65/rev1/info.json @@ -0,0 +1,157 @@ +{ + "usb": { + "device_version": "1.0.0" + }, + "layouts": { + "LAYOUT_en-us-intl": { + "layout": [ + {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, + {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, + {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, + {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, + {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, + {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, + {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, + {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, + {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, + {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, + {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, + {"x": 11, "y": 0, "label": "Backspace", "matrix": [0, 11]}, + {"x": 12, "y": 0, "label": "Backspace", "matrix": [0, 12]}, + + {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, + {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, + {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, + {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, + {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, + {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, + {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, + {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, + {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, + {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, + {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, + {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, + {"x": 12, "y": 1, "label": "\\", "matrix": [1, 12]}, + + {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, + {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, + {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, + {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, + {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, + {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, + {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, + {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, + {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, + {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, + {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, + {"x": 11, "y": 2, "label": "Enter", "matrix": [2, 11]}, + {"x": 12, "y": 2, "label": "Enter", "matrix": [2, 12]}, + + {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, + {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, + {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, + {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, + {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, + {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, + {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, + {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, + {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, + {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, + {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, + {"x": 11, "y": 3, "label": "RShift", "matrix": [3, 11]}, + {"x": 12, "y": 3, "label": "RShift", "matrix": [3, 12]}, + + {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, + {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, + {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, + {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, + {"x": 4, "y": 4, "label": "Space", "matrix": [4, 4]}, + {"x": 5, "y": 4, "label": "Space", "matrix": [4, 5]}, + {"x": 6, "y": 4, "label": "Space", "matrix": [4, 6]}, + {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, + {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, + {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, + {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, + {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, + {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} + ] + }, + "LAYOUT_de": { + "layout": [ + {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, + {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, + {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, + {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, + {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, + {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, + {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, + {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, + {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, + {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, + {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, + {"x": 11, "y": 0, "label": "Backspace", "matrix": [0, 11]}, + {"x": 12, "y": 0, "label": "Backspace", "matrix": [0, 12]}, + + {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, + {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, + {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, + {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, + {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, + {"x": 5, "y": 1, "label": "Z", "matrix": [1, 5]}, + {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, + {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, + {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, + {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, + {"x": 10, "y": 1, "label": "Ü", "matrix": [1, 10]}, + {"x": 11, "y": 1, "label": "+", "matrix": [1, 11]}, + {"x": 12, "y": 1, "label": "Enter", "matrix": [1, 12]}, + + {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, + {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, + {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, + {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, + {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, + {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, + {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, + {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, + {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, + {"x": 9, "y": 2, "label": "Ö", "matrix": [2, 9]}, + {"x": 10, "y": 2, "label": "Ä", "matrix": [2, 10]}, + {"x": 11, "y": 2, "label": "#", "matrix": [2, 11]}, + {"x": 12, "y": 2, "label": "Enter", "matrix": [2, 12]}, + + {"x": 0, "y": 3, "label": "Y", "matrix": [3, 0]}, + {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, + {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, + {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, + {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, + {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, + {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, + {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, + {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, + {"x": 9, "y": 3, "label": "-", "matrix": [3, 9]}, + {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, + {"x": 11, "y": 3, "label": "<", "matrix": [3, 11]}, + {"x": 12, "y": 3, "label": "RShift", "matrix": [3, 12]}, + + {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, + {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, + {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, + {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, + {"x": 4, "y": 4, "label": "Space", "matrix": [4, 4]}, + {"x": 5, "y": 4, "label": "Space", "matrix": [4, 5]}, + {"x": 6, "y": 4, "label": "Space", "matrix": [4, 6]}, + {"x": 7, "y": 4, "label": "ß", "matrix": [4, 7]}, + {"x": 8, "y": 4, "label": "´", "matrix": [4, 8]}, + {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, + {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, + {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, + {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} + ] + } + }, + "matrix_pins": { + "cols": [], + "rows": [] + } +} diff --git a/keyboards/mkbd65/rev1/mkbd65.c b/keyboards/mkbd65/rev1/mkbd65.c new file mode 100644 index 0000000000..baca6508d4 --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.c @@ -0,0 +1,4 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" diff --git a/keyboards/mkbd65/rev1/mkbd65.h b/keyboards/mkbd65/rev1/mkbd65.h new file mode 100644 index 0000000000..0e4293dd98 --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.h @@ -0,0 +1,42 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef MKBD65_H +#define MKBD65_H + +#include "quantum.h" + +/* LAYOUT + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╝ + * This is 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( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 } \ +} diff --git a/keyboards/mkbd65/rev1/rules.mk b/keyboards/mkbd65/rev1/rules.mk new file mode 100644 index 0000000000..84345ec0aa --- /dev/null +++ b/keyboards/mkbd65/rev1/rules.mk @@ -0,0 +1,3 @@ +# A list of layouts this keyboard supports. +LAYOUTS = en-us-intl de + \ No newline at end of file diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk index a6bdd38bae..8e66f2e4d8 100644 --- a/keyboards/mkbd65/rules.mk +++ b/keyboards/mkbd65/rules.mk @@ -1,80 +1,7 @@ -# MCU name -MCU = atmega32u4 +DEFAULT_FOLDER = rev1 +# Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can +# significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). +LTO_ENABLE = 1 -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# atmega32a bootloadHID -BOOTLOADER = atmel-dfu - - -# If you don't know the bootloader type, then you can specify the -# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -# OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches -HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +BOOTMAGIC_ENABLE = 1 +EXTRAKEY_ENABLE = 1 From f57bc9bdca5a63636cc0e1bff5de00a39dcdd850 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sun, 11 Jun 2023 20:22:50 +0200 Subject: [PATCH 15/18] fix layout name --- keyboards/mkbd65/config.h | 4 ++++ keyboards/mkbd65/info.json | 4 ---- keyboards/mkbd65/keymaps/{en-us-intl => en_us_intl} | 0 keyboards/mkbd65/rev0/info.json | 2 ++ keyboards/mkbd65/rev0/rules.mk | 3 +++ keyboards/mkbd65/rev1/info.json | 2 ++ keyboards/mkbd65/rev1/rules.mk | 9 +++++++-- 7 files changed, 18 insertions(+), 6 deletions(-) rename keyboards/mkbd65/keymaps/{en-us-intl => en_us_intl} (100%) diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h index 4ac3a7eaf5..c6367adeab 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -11,3 +11,7 @@ //#define NO_ACTION_TAPPING // disable one-shot modifiers //#define NO_ACTION_ONESHOT + +// disable these deprecated features by default +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json index aea164d043..7a2cd0c8f7 100644 --- a/keyboards/mkbd65/info.json +++ b/keyboards/mkbd65/info.json @@ -4,10 +4,6 @@ "url": "https://mkbd65.xengi.de", "maintainer": "XenGi", "author": ["XenGi"], - "usb": { - "vid": "0x1209", - "pid": "0x4803" - }, "debounce": 5, "diode_direction": "ROW2COL", "bootmagic": { diff --git a/keyboards/mkbd65/keymaps/en-us-intl b/keyboards/mkbd65/keymaps/en_us_intl similarity index 100% rename from keyboards/mkbd65/keymaps/en-us-intl rename to keyboards/mkbd65/keymaps/en_us_intl diff --git a/keyboards/mkbd65/rev0/info.json b/keyboards/mkbd65/rev0/info.json index cea5523e84..5d2c940129 100644 --- a/keyboards/mkbd65/rev0/info.json +++ b/keyboards/mkbd65/rev0/info.json @@ -1,5 +1,7 @@ { "usb": { + "vid": "0x1209", + "pid": "0x4803", "device_version": "0.0.0" }, "layouts": { diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk index 94d4ac53b6..2f6c65ff11 100644 --- a/keyboards/mkbd65/rev0/rules.mk +++ b/keyboards/mkbd65/rev0/rules.mk @@ -7,3 +7,6 @@ ARCH = AVR8 F_USB = $(F_CPU) OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT BOOTLOADER = atmel-dfu + +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control \ No newline at end of file diff --git a/keyboards/mkbd65/rev1/info.json b/keyboards/mkbd65/rev1/info.json index 276775db17..9e3dd7105e 100644 --- a/keyboards/mkbd65/rev1/info.json +++ b/keyboards/mkbd65/rev1/info.json @@ -1,5 +1,7 @@ { "usb": { + "vid": "0x1209", + "pid": "0x4803", "device_version": "1.0.0" }, "layouts": { diff --git a/keyboards/mkbd65/rev1/rules.mk b/keyboards/mkbd65/rev1/rules.mk index 84345ec0aa..ef6c3bb862 100644 --- a/keyboards/mkbd65/rev1/rules.mk +++ b/keyboards/mkbd65/rev1/rules.mk @@ -1,3 +1,8 @@ # A list of layouts this keyboard supports. -LAYOUTS = en-us-intl de - \ No newline at end of file +LAYOUTS = en_us_intl de + +MCU = STM32F072 +BOOTLOADER = stm32-dfu + +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control \ No newline at end of file From 6f63dca06f1d9c4c9e61725bd5479c0252aad6b7 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sun, 11 Jun 2023 20:58:20 +0200 Subject: [PATCH 16/18] rev0 compiles --- keyboards/mkbd65/config.h | 4 -- keyboards/mkbd65/keymaps/ansi/keymap.c | 20 +++---- keyboards/mkbd65/keymaps/de/keymap.c | 4 +- keyboards/mkbd65/keymaps/en_us_intl | 1 - keyboards/mkbd65/keymaps/en_us_intl/README.md | 58 +++++++++++++++++++ keyboards/mkbd65/keymaps/en_us_intl/keymap.c | 22 +++++++ keyboards/mkbd65/keymaps/iso/keymap.c | 12 ++-- keyboards/mkbd65/rev0/rules.mk | 6 -- keyboards/mkbd65/rev1/info.json | 6 +- keyboards/mkbd65/rev1/mkbd65.h | 4 +- keyboards/mkbd65/rev1/rules.mk | 6 -- keyboards/mkbd65/rules.mk | 5 +- 12 files changed, 106 insertions(+), 42 deletions(-) delete mode 120000 keyboards/mkbd65/keymaps/en_us_intl create mode 100644 keyboards/mkbd65/keymaps/en_us_intl/README.md create mode 100644 keyboards/mkbd65/keymaps/en_us_intl/keymap.c diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h index c6367adeab..4ac3a7eaf5 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -11,7 +11,3 @@ //#define NO_ACTION_TAPPING // disable one-shot modifiers //#define NO_ACTION_ONESHOT - -// disable these deprecated features by default -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index ddda2b83bc..fb5f196098 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -4,19 +4,19 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base layer */ - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC, + [0] = LAYOUT_ansi( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL ), - [1] = LAYOUT( /* Function layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + [1] = LAYOUT_ansi( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, - _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ ) }; diff --git a/keyboards/mkbd65/keymaps/de/keymap.c b/keyboards/mkbd65/keymaps/de/keymap.c index 1246f1e8bc..6ba90e876f 100644 --- a/keyboards/mkbd65/keymaps/de/keymap.c +++ b/keyboards/mkbd65/keymaps/de/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( /* Base layer */ - KC_GESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_BSPC, KC_BSPC, + QK_GESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_BSPC, KC_BSPC, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, KC_ENT, DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_UP, DE_LABK, KC_RSFT, @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT( /* Function layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, diff --git a/keyboards/mkbd65/keymaps/en_us_intl b/keyboards/mkbd65/keymaps/en_us_intl deleted file mode 120000 index 44ad4f4f7e..0000000000 --- a/keyboards/mkbd65/keymaps/en_us_intl +++ /dev/null @@ -1 +0,0 @@ -ansi \ No newline at end of file diff --git a/keyboards/mkbd65/keymaps/en_us_intl/README.md b/keyboards/mkbd65/keymaps/en_us_intl/README.md new file mode 100644 index 0000000000..96e8f7bb14 --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/README.md @@ -0,0 +1,58 @@ +# The English US International keymap for mkbd65 rev0 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ | ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` diff --git a/keyboards/mkbd65/keymaps/en_us_intl/keymap.c b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c new file mode 100644 index 0000000000..96d7855ff8 --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC, + 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_all( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c index 2b59ffd0cf..a7dd99463e 100644 --- a/keyboards/mkbd65/keymaps/iso/keymap.c +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -4,19 +4,19 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ISO( /* Base layer */ - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + [0] = LAYOUT_iso( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL ), - [1] = LAYOUT_ISO( /* Function layer */ - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + [1] = LAYOUT_iso( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_APP, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, - _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ ), }; diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk index 2f6c65ff11..2d23977af0 100644 --- a/keyboards/mkbd65/rev0/rules.mk +++ b/keyboards/mkbd65/rev0/rules.mk @@ -1,12 +1,6 @@ -# A list of layouts this keyboard supports. -LAYOUTS = ansi iso - MCU = atmega32u4 F_CPU = 16000000 ARCH = AVR8 F_USB = $(F_CPU) OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT BOOTLOADER = atmel-dfu - -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -EXTRAKEY_ENABLE = yes # Audio control and System control \ No newline at end of file diff --git a/keyboards/mkbd65/rev1/info.json b/keyboards/mkbd65/rev1/info.json index 9e3dd7105e..42ed48f137 100644 --- a/keyboards/mkbd65/rev1/info.json +++ b/keyboards/mkbd65/rev1/info.json @@ -5,7 +5,7 @@ "device_version": "1.0.0" }, "layouts": { - "LAYOUT_en-us-intl": { + "LAYOUT_en_us_intl": { "layout": [ {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, @@ -153,7 +153,7 @@ } }, "matrix_pins": { - "cols": [], - "rows": [] + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11"], + "rows": ["B12", "B13", "B14", "B15", "A8"] } } diff --git a/keyboards/mkbd65/rev1/mkbd65.h b/keyboards/mkbd65/rev1/mkbd65.h index 0e4293dd98..759166bbcf 100644 --- a/keyboards/mkbd65/rev1/mkbd65.h +++ b/keyboards/mkbd65/rev1/mkbd65.h @@ -26,7 +26,7 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ -#define LAYOUT( \ +#define LAYOUT_all( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ @@ -40,3 +40,5 @@ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312 }, \ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 } \ } + +#endif diff --git a/keyboards/mkbd65/rev1/rules.mk b/keyboards/mkbd65/rev1/rules.mk index ef6c3bb862..e5116166cc 100644 --- a/keyboards/mkbd65/rev1/rules.mk +++ b/keyboards/mkbd65/rev1/rules.mk @@ -1,8 +1,2 @@ -# A list of layouts this keyboard supports. -LAYOUTS = en_us_intl de - MCU = STM32F072 BOOTLOADER = stm32-dfu - -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -EXTRAKEY_ENABLE = yes # Audio control and System control \ No newline at end of file diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk index 8e66f2e4d8..cc4a04ee68 100644 --- a/keyboards/mkbd65/rules.mk +++ b/keyboards/mkbd65/rules.mk @@ -1,7 +1,6 @@ DEFAULT_FOLDER = rev1 # Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can # significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). -LTO_ENABLE = 1 +LTO_ENABLE = yes -BOOTMAGIC_ENABLE = 1 -EXTRAKEY_ENABLE = 1 +EXTRAKEY_ENABLE = yes # Audio control and System control From a58d2dd7c9d0fcd5d86a1d63c7429af934c18f4c Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sat, 15 Nov 2025 18:39:35 +0100 Subject: [PATCH 17/18] wip --- keyboards/mkbd65/config.h | 19 +- keyboards/mkbd65/info.json | 16 -- keyboards/mkbd65/keyboard.json | 167 ++++++++++++++++++ keyboards/mkbd65/keymaps/ansi/README.md | 5 +- keyboards/mkbd65/keymaps/ansi/keymap.c | 1 + keyboards/mkbd65/keymaps/de/README.md | 5 +- keyboards/mkbd65/keymaps/en_us_intl/README.md | 5 +- keyboards/mkbd65/keymaps/iso/README.md | 1 + keyboards/mkbd65/rev0/mkbd65.c | 2 + keyboards/mkbd65/rev0/mkbd65.h | 2 - keyboards/mkbd65/rules.mk | 31 +++- 11 files changed, 219 insertions(+), 35 deletions(-) delete mode 100644 keyboards/mkbd65/info.json create mode 100644 keyboards/mkbd65/keyboard.json diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h index 4ac3a7eaf5..4b3907c132 100644 --- a/keyboards/mkbd65/config.h +++ b/keyboards/mkbd65/config.h @@ -1,13 +1,12 @@ -// Copyright 2023 XenGi (@XenGi) +// Copyright 2023 XenGi // SPDX-License-Identifier: GPL-2.0-or-later -#pragma once +// optimize firmware +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define LAYER_STATE_8BIT + +// disable features to save on code size +#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT -// disable debugging -//#define NO_DEBUG -// disable printing/debugging using hid_listen -//#define NO_PRINT -// disable tap dance and other tapping features -//#define NO_ACTION_TAPPING -// disable one-shot modifiers -//#define NO_ACTION_ONESHOT diff --git a/keyboards/mkbd65/info.json b/keyboards/mkbd65/info.json deleted file mode 100644 index 7a2cd0c8f7..0000000000 --- a/keyboards/mkbd65/info.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "keyboard_name": "mkbd65", - "manufacturer": "XenGi", - "url": "https://mkbd65.xengi.de", - "maintainer": "XenGi", - "author": ["XenGi"], - "debounce": 5, - "diode_direction": "ROW2COL", - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, - "tags": ["mobile", "65%"], - "description": "A mobile keyboard addon for modern smartphones. Fits any smartphones within some minimal size requirements. Supports any keyboard layout you want, as long as it doesn't need more keys.", - "short": "A mobile keyboard addon for modern smartphones." -} diff --git a/keyboards/mkbd65/keyboard.json b/keyboards/mkbd65/keyboard.json new file mode 100644 index 0000000000..3d1fe2ec2a --- /dev/null +++ b/keyboards/mkbd65/keyboard.json @@ -0,0 +1,167 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "debounce": 5, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "url": "https://mkbd65.xengi.de", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "tags": ["mobile", "65%"], + "usb": { + "device_version": "0.0.1", + "pid": "0x4803", + "vid": "0x1209" + }, + "build": { + "lto": true + }, + "layouts": { + "LAYOUT": { + "layout_ansi": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "w": 2, "label": "Backspace" }, + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 11], "x": 1, "y": 12, "label": "\\" }, + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "w": 2, "label": "Enter" }, + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "ShiftR" }, + { "matrix": [4, 0], "x": 4, "y": 0, "label": "CtrlL" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "ShiftL" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "w": 3, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "CtrlR" } + ], + "layout_iso": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "w": 2, "label": "Backspace" }, + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "\\" }, + { "matrix": [1, 12], "x": 1, "y": 12, "h": 2, "label": "Enter" }, + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "ShiftR" }, + { "matrix": [4, 0], "x": 4, "y": 0, "label": "CtrlL" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "ShiftL" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "w": 3, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "CtrlR" } + ] + } + } +} + diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md index 96e8f7bb14..f68aaf41fc 100644 --- a/keyboards/mkbd65/keymaps/ansi/README.md +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -39,7 +39,7 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ ║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ @@ -49,10 +49,11 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ ║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` + diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c index fb5f196098..b023feab91 100644 --- a/keyboards/mkbd65/keymaps/ansi/keymap.c +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H +#include "quantum.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ansi( /* Base layer */ diff --git a/keyboards/mkbd65/keymaps/de/README.md b/keyboards/mkbd65/keymaps/de/README.md index f5c29d8e85..c37325f914 100644 --- a/keyboards/mkbd65/keymaps/de/README.md +++ b/keyboards/mkbd65/keymaps/de/README.md @@ -37,7 +37,7 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ║ ║ | ║ ║ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ║ ║ | ║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ ║ ║ ║ ║░░░░║ ║ \ ║ ║ ║ ║ ║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ @@ -47,10 +47,11 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ^ ║ ║ ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ^ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ ║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` + diff --git a/keyboards/mkbd65/keymaps/en_us_intl/README.md b/keyboards/mkbd65/keymaps/en_us_intl/README.md index 96e8f7bb14..f68aaf41fc 100644 --- a/keyboards/mkbd65/keymaps/en_us_intl/README.md +++ b/keyboards/mkbd65/keymaps/en_us_intl/README.md @@ -39,7 +39,7 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ ║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ -║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ @@ -49,10 +49,11 @@ This is the key matrix (no label means the key from layer 0 will be used): ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ -║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ ╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ ║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` + diff --git a/keyboards/mkbd65/keymaps/iso/README.md b/keyboards/mkbd65/keymaps/iso/README.md index beb5cc2783..9a5f9b176f 100644 --- a/keyboards/mkbd65/keymaps/iso/README.md +++ b/keyboards/mkbd65/keymaps/iso/README.md @@ -52,3 +52,4 @@ It's actually just ANSI but with an upright `Enter` key. ║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ ╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ ``` + diff --git a/keyboards/mkbd65/rev0/mkbd65.c b/keyboards/mkbd65/rev0/mkbd65.c index baca6508d4..2cde260fa0 100644 --- a/keyboards/mkbd65/rev0/mkbd65.c +++ b/keyboards/mkbd65/rev0/mkbd65.c @@ -2,3 +2,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "mkbd65.h" +#include "quantum.h" + diff --git a/keyboards/mkbd65/rev0/mkbd65.h b/keyboards/mkbd65/rev0/mkbd65.h index aae0d388fa..798a87ce44 100644 --- a/keyboards/mkbd65/rev0/mkbd65.h +++ b/keyboards/mkbd65/rev0/mkbd65.h @@ -4,8 +4,6 @@ #ifndef MKBD65_H #define MKBD65_H -#include "quantum.h" - /* LAYOUT_ansi * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk index cc4a04ee68..da0535c8f2 100644 --- a/keyboards/mkbd65/rules.mk +++ b/keyboards/mkbd65/rules.mk @@ -1,6 +1,35 @@ +# build options +#LAYOUTS = [] + +# AVR MCU Options +MCU = atmega32u4 +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +BOOTLOADER = atmel-dfu + +# Feature Options +MAGIC_ENABLE = no +COMBO_ENABLE = no +AUDIO_ENABLE = no +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +MIDI_ENABLE = no +UNICODE_ENABLE = no +BLUETOOTH_ENABLE = no +SPLIT_KEYBOARD = no +MUSIC_ENABLE = no +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = yes +AVR_USE_MINIMAL_PRINTF = yes +ENCODER_ENABLE = no + DEFAULT_FOLDER = rev1 # Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can # significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). LTO_ENABLE = yes -EXTRAKEY_ENABLE = yes # Audio control and System control +# Audio control and System control +EXTRAKEY_ENABLE = yes + From f91cd00de8ff373d616bcbc7e5935a3cc66333ad Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Sat, 15 Nov 2025 21:21:55 +0100 Subject: [PATCH 18/18] fix rev0 --- keyboards/mkbd65/rev0/info.json | 149 ------------------ keyboards/mkbd65/rev0/keyboard.json | 174 ++++++++++++++++++++++ keyboards/mkbd65/rev0/rules.mk | 2 - keyboards/mkbd65/rev1/info.json | 159 -------------------- keyboards/mkbd65/{ => rev1}/keyboard.json | 64 +++++--- keyboards/mkbd65/rules.mk | 16 -- 6 files changed, 216 insertions(+), 348 deletions(-) delete mode 100644 keyboards/mkbd65/rev0/info.json create mode 100644 keyboards/mkbd65/rev0/keyboard.json delete mode 100644 keyboards/mkbd65/rev1/info.json rename keyboards/mkbd65/{ => rev1}/keyboard.json (79%) diff --git a/keyboards/mkbd65/rev0/info.json b/keyboards/mkbd65/rev0/info.json deleted file mode 100644 index 5d2c940129..0000000000 --- a/keyboards/mkbd65/rev0/info.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "usb": { - "vid": "0x1209", - "pid": "0x4803", - "device_version": "0.0.0" - }, - "layouts": { - "LAYOUT_ansi": { - "layout": [ - {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, - {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, - {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, - {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, - {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, - {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, - {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, - {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, - {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, - {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, - {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, - {"x": 11, "y": 0, "w": 2, "label": "Backspace", "matrix": [0, 11]}, - - {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, - {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, - {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, - {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, - {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, - {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, - {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, - {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, - {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, - {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, - {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, - {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, - {"x": 12, "y": 1, "label": "\\", "matrix": [1, 12]}, - - {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, - {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, - {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, - {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, - {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, - {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, - {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, - {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, - {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, - {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, - {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, - {"x": 11, "y": 2, "w": 2, "label": "Enter", "matrix": [2, 11]}, - - {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, - {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, - {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, - {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, - {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, - {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, - {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, - {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, - {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, - {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, - {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, - {"x": 11, "y": 3, "w": 2, "label": "RShift", "matrix": [3, 11]}, - - {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, - {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, - {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, - {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, - {"x": 4, "y": 4, "w": 3, "label": "Space", "matrix": [4, 4]}, - {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, - {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, - {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, - {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, - {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, - {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} - ] - }, - "LAYOUT_iso": { - "layout": [ - {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, - {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, - {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, - {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, - {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, - {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, - {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, - {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, - {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, - {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, - {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, - {"x": 11, "y": 0, "w": 2, "label": "Backspace", "matrix": [0, 11]}, - - {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, - {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, - {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, - {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, - {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, - {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, - {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, - {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, - {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, - {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, - {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, - {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, - - {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, - {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, - {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, - {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, - {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, - {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, - {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, - {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, - {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, - {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, - {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, - {"x": 11, "y": 2, "label": "\\", "matrix": [2, 11]}, - {"x": 12, "y": 2, "h": 2, "label": "Enter", "matrix": [2, 12]}, - - {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, - {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, - {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, - {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, - {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, - {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, - {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, - {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, - {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, - {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, - {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, - {"x": 11, "y": 3, "w": 2, "label": "RShift", "matrix": [3, 11]}, - - {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, - {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, - {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, - {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, - {"x": 4, "y": 4, "w": 3, "label": "Space", "matrix": [4, 4]}, - {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, - {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, - {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, - {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, - {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, - {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} - ] - } - }, - "matrix_pins": { - "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], - "rows": ["D5", "D3", "D2", "D1", "D0"] - } -} diff --git a/keyboards/mkbd65/rev0/keyboard.json b/keyboards/mkbd65/rev0/keyboard.json new file mode 100644 index 0000000000..35269aaa5c --- /dev/null +++ b/keyboards/mkbd65/rev0/keyboard.json @@ -0,0 +1,174 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "ROW2COL", + "encoder": { + "enabled": false + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "split": { + "enabled": false + }, + "tags": ["mobile", "65%"], + "url": "https://mkbd65.xengi.de", + "usb": { + "device_version": "0.0.1", + "pid": "0x4803", + "vid": "0x1209" + }, + "layouts": { + "LAYOUT_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "\\", "matrix": [1, 12], "x": 1, "y": 12}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "Enter", "matrix": [2, 11], "x": 2, "y": 11, "w": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "\\", "matrix": [2, 11], "x": 2, "y": 11}, + {"label": "Enter", "matrix": [1, 12], "x": 1, "y": 12, "h": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk index 2d23977af0..de2da8afe1 100644 --- a/keyboards/mkbd65/rev0/rules.mk +++ b/keyboards/mkbd65/rev0/rules.mk @@ -1,6 +1,4 @@ -MCU = atmega32u4 F_CPU = 16000000 ARCH = AVR8 F_USB = $(F_CPU) OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT -BOOTLOADER = atmel-dfu diff --git a/keyboards/mkbd65/rev1/info.json b/keyboards/mkbd65/rev1/info.json deleted file mode 100644 index 42ed48f137..0000000000 --- a/keyboards/mkbd65/rev1/info.json +++ /dev/null @@ -1,159 +0,0 @@ -{ - "usb": { - "vid": "0x1209", - "pid": "0x4803", - "device_version": "1.0.0" - }, - "layouts": { - "LAYOUT_en_us_intl": { - "layout": [ - {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, - {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, - {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, - {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, - {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, - {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, - {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, - {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, - {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, - {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, - {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, - {"x": 11, "y": 0, "label": "Backspace", "matrix": [0, 11]}, - {"x": 12, "y": 0, "label": "Backspace", "matrix": [0, 12]}, - - {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, - {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, - {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, - {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, - {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, - {"x": 5, "y": 1, "label": "Y", "matrix": [1, 5]}, - {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, - {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, - {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, - {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, - {"x": 10, "y": 1, "label": "[", "matrix": [1, 10]}, - {"x": 11, "y": 1, "label": "]", "matrix": [1, 11]}, - {"x": 12, "y": 1, "label": "\\", "matrix": [1, 12]}, - - {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, - {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, - {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, - {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, - {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, - {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, - {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, - {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, - {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, - {"x": 9, "y": 2, "label": ";", "matrix": [2, 9]}, - {"x": 10, "y": 2, "label": "'", "matrix": [2, 10]}, - {"x": 11, "y": 2, "label": "Enter", "matrix": [2, 11]}, - {"x": 12, "y": 2, "label": "Enter", "matrix": [2, 12]}, - - {"x": 0, "y": 3, "label": "Z", "matrix": [3, 0]}, - {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, - {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, - {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, - {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, - {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, - {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, - {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, - {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, - {"x": 9, "y": 3, "label": "/", "matrix": [3, 9]}, - {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, - {"x": 11, "y": 3, "label": "RShift", "matrix": [3, 11]}, - {"x": 12, "y": 3, "label": "RShift", "matrix": [3, 12]}, - - {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, - {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, - {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, - {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, - {"x": 4, "y": 4, "label": "Space", "matrix": [4, 4]}, - {"x": 5, "y": 4, "label": "Space", "matrix": [4, 5]}, - {"x": 6, "y": 4, "label": "Space", "matrix": [4, 6]}, - {"x": 7, "y": 4, "label": "-", "matrix": [4, 7]}, - {"x": 8, "y": 4, "label": "=", "matrix": [4, 8]}, - {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, - {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, - {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, - {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} - ] - }, - "LAYOUT_de": { - "layout": [ - {"x": 0, "y": 0, "label": "Esc", "matrix": [0, 0]}, - {"x": 1, "y": 0, "label": "1", "matrix": [0, 1]}, - {"x": 2, "y": 0, "label": "2", "matrix": [0, 2]}, - {"x": 3, "y": 0, "label": "3", "matrix": [0, 3]}, - {"x": 4, "y": 0, "label": "4", "matrix": [0, 4]}, - {"x": 5, "y": 0, "label": "5", "matrix": [0, 5]}, - {"x": 6, "y": 0, "label": "6", "matrix": [0, 6]}, - {"x": 7, "y": 0, "label": "7", "matrix": [0, 7]}, - {"x": 8, "y": 0, "label": "8", "matrix": [0, 8]}, - {"x": 9, "y": 0, "label": "9", "matrix": [0, 9]}, - {"x": 10, "y": 0, "label": "0", "matrix": [0, 10]}, - {"x": 11, "y": 0, "label": "Backspace", "matrix": [0, 11]}, - {"x": 12, "y": 0, "label": "Backspace", "matrix": [0, 12]}, - - {"x": 0, "y": 1, "label": "Q", "matrix": [1, 0]}, - {"x": 1, "y": 1, "label": "W", "matrix": [1, 1]}, - {"x": 2, "y": 1, "label": "E", "matrix": [1, 2]}, - {"x": 3, "y": 1, "label": "R", "matrix": [1, 3]}, - {"x": 4, "y": 1, "label": "T", "matrix": [1, 4]}, - {"x": 5, "y": 1, "label": "Z", "matrix": [1, 5]}, - {"x": 6, "y": 1, "label": "U", "matrix": [1, 6]}, - {"x": 7, "y": 1, "label": "I", "matrix": [1, 7]}, - {"x": 8, "y": 1, "label": "O", "matrix": [1, 8]}, - {"x": 9, "y": 1, "label": "P", "matrix": [1, 9]}, - {"x": 10, "y": 1, "label": "Ü", "matrix": [1, 10]}, - {"x": 11, "y": 1, "label": "+", "matrix": [1, 11]}, - {"x": 12, "y": 1, "label": "Enter", "matrix": [1, 12]}, - - {"x": 0, "y": 2, "label": "A", "matrix": [2, 0]}, - {"x": 1, "y": 2, "label": "S", "matrix": [2, 1]}, - {"x": 2, "y": 2, "label": "D", "matrix": [2, 2]}, - {"x": 3, "y": 2, "label": "F", "matrix": [2, 3]}, - {"x": 4, "y": 2, "label": "G", "matrix": [2, 4]}, - {"x": 5, "y": 2, "label": "H", "matrix": [2, 5]}, - {"x": 6, "y": 2, "label": "J", "matrix": [2, 6]}, - {"x": 7, "y": 2, "label": "K", "matrix": [2, 7]}, - {"x": 8, "y": 2, "label": "L", "matrix": [2, 8]}, - {"x": 9, "y": 2, "label": "Ö", "matrix": [2, 9]}, - {"x": 10, "y": 2, "label": "Ä", "matrix": [2, 10]}, - {"x": 11, "y": 2, "label": "#", "matrix": [2, 11]}, - {"x": 12, "y": 2, "label": "Enter", "matrix": [2, 12]}, - - {"x": 0, "y": 3, "label": "Y", "matrix": [3, 0]}, - {"x": 1, "y": 3, "label": "X", "matrix": [3, 1]}, - {"x": 2, "y": 3, "label": "C", "matrix": [3, 2]}, - {"x": 3, "y": 3, "label": "V", "matrix": [3, 3]}, - {"x": 4, "y": 3, "label": "B", "matrix": [3, 4]}, - {"x": 5, "y": 3, "label": "N", "matrix": [3, 5]}, - {"x": 6, "y": 3, "label": "M", "matrix": [3, 6]}, - {"x": 7, "y": 3, "label": ",", "matrix": [3, 7]}, - {"x": 8, "y": 3, "label": ".", "matrix": [3, 8]}, - {"x": 9, "y": 3, "label": "-", "matrix": [3, 9]}, - {"x": 10, "y": 3, "label": "Up", "matrix": [3, 10]}, - {"x": 11, "y": 3, "label": "<", "matrix": [3, 11]}, - {"x": 12, "y": 3, "label": "RShift", "matrix": [3, 12]}, - - {"x": 0, "y": 4, "label": "LCtrl", "matrix": [4, 0]}, - {"x": 1, "y": 4, "label": "LShift", "matrix": [4, 1]}, - {"x": 2, "y": 4, "label": "Fn", "matrix": [4, 2]}, - {"x": 3, "y": 4, "label": "AltGr", "matrix": [4, 3]}, - {"x": 4, "y": 4, "label": "Space", "matrix": [4, 4]}, - {"x": 5, "y": 4, "label": "Space", "matrix": [4, 5]}, - {"x": 6, "y": 4, "label": "Space", "matrix": [4, 6]}, - {"x": 7, "y": 4, "label": "ß", "matrix": [4, 7]}, - {"x": 8, "y": 4, "label": "´", "matrix": [4, 8]}, - {"x": 9, "y": 4, "label": "Left", "matrix": [4, 9]}, - {"x": 10, "y": 4, "label": "Down", "matrix": [4, 10]}, - {"x": 11, "y": 4, "label": "Right", "matrix": [4, 11]}, - {"x": 12, "y": 4, "label": "RCtrl", "matrix": [4, 12]} - ] - } - }, - "matrix_pins": { - "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11"], - "rows": ["B12", "B13", "B14", "B15", "A8"] - } -} diff --git a/keyboards/mkbd65/keyboard.json b/keyboards/mkbd65/rev1/keyboard.json similarity index 79% rename from keyboards/mkbd65/keyboard.json rename to keyboards/mkbd65/rev1/keyboard.json index 3d1fe2ec2a..2329e8bc52 100644 --- a/keyboards/mkbd65/keyboard.json +++ b/keyboards/mkbd65/rev1/keyboard.json @@ -20,15 +20,15 @@ "matrix": [0, 0] }, "matrix_pins": { - "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], - "rows": ["D5", "D3", "D2", "D1", "D0"] + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11"], + "rows": ["B12", "B13", "B14", "B15", "A8"] }, "processor": "atmega32u4", "url": "https://mkbd65.xengi.de", "bootloader_instructions": "Press the button marked RESET on the back of the PCB", "tags": ["mobile", "65%"], "usb": { - "device_version": "0.0.1", + "device_version": "1.0.0", "pid": "0x4803", "vid": "0x1209" }, @@ -36,8 +36,8 @@ "lto": true }, "layouts": { - "LAYOUT": { - "layout_ansi": [ + "LAYOUT_ansi": { + "layout": [ { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, @@ -49,7 +49,9 @@ { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, - { "matrix": [0, 11], "x": 11, "y": 0, "w": 2, "label": "Backspace" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, @@ -62,7 +64,8 @@ { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, - { "matrix": [1, 11], "x": 1, "y": 12, "label": "\\" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "\\" }, + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, @@ -74,7 +77,9 @@ { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, - { "matrix": [2, 11], "x": 2, "y": 11, "w": 2, "label": "Enter" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "Enter" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, @@ -86,20 +91,26 @@ { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, - { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "ShiftR" }, - { "matrix": [4, 0], "x": 4, "y": 0, "label": "CtrlL" }, + { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, - { "matrix": [4, 2], "x": 4, "y": 2, "label": "ShiftL" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, - { "matrix": [4, 4], "x": 4, "y": 4, "w": 3, "label": "Space" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, - { "matrix": [4, 12], "x": 4, "y": 12, "label": "CtrlR" } - ], - "layout_iso": [ + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } + ] + }, + "LAYOUT_iso": { + "layout": [ { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, @@ -111,7 +122,9 @@ { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, - { "matrix": [0, 11], "x": 11, "y": 0, "w": 2, "label": "Backspace" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, @@ -124,6 +137,8 @@ { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "Enter" }, + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, @@ -136,7 +151,8 @@ { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, { "matrix": [2, 11], "x": 2, "y": 11, "label": "\\" }, - { "matrix": [1, 12], "x": 1, "y": 12, "h": 2, "label": "Enter" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, @@ -148,18 +164,22 @@ { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, - { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "ShiftR" }, - { "matrix": [4, 0], "x": 4, "y": 0, "label": "CtrlL" }, + { "matrix": [3, 11], "x": 3, "y": 11, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 12, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, - { "matrix": [4, 2], "x": 4, "y": 2, "label": "ShiftL" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, - { "matrix": [4, 4], "x": 4, "y": 4, "w": 3, "label": "Space" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, - { "matrix": [4, 12], "x": 4, "y": 12, "label": "CtrlR" } + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } ] } } diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk index da0535c8f2..3287da9fbd 100644 --- a/keyboards/mkbd65/rules.mk +++ b/keyboards/mkbd65/rules.mk @@ -1,35 +1,19 @@ -# build options -#LAYOUTS = [] - # AVR MCU Options -MCU = atmega32u4 F_CPU = 16000000 ARCH = AVR8 F_USB = $(F_CPU) OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT -BOOTLOADER = atmel-dfu # Feature Options MAGIC_ENABLE = no -COMBO_ENABLE = no AUDIO_ENABLE = no KEY_OVERRIDE_ENABLE = no LEADER_ENABLE = no MIDI_ENABLE = no UNICODE_ENABLE = no BLUETOOTH_ENABLE = no -SPLIT_KEYBOARD = no MUSIC_ENABLE = no SPACE_CADET_ENABLE = no GRAVE_ESC_ENABLE = yes AVR_USE_MINIMAL_PRINTF = yes -ENCODER_ENABLE = no - -DEFAULT_FOLDER = rev1 -# Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can -# significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). -LTO_ENABLE = yes - -# Audio control and System control -EXTRAKEY_ENABLE = yes