[Keyboard] XD75 refactor (#5420)

* Refactor layout macro names

Update the names of the layout macros to reflect QMK's desired usage.

- KEYMAP renamed to LAYOUT
  - colinta keymap updated accordingly
- KC_KEYMAP renamed to LAYOUT_kc
  - mtdjr keymap updated accordingly

* Update xd75.h to use #pragma once include guard

* Update keymaps to use QMK_KEYBOARD_H

* Refactor default keymap

- updated to use layout macro
- remove deprecated action_get_macro function
- add functions from QMK keymap.c template
  - process_record_user
  - matrix_init_user
  - matrix_scan_user
  - led_set_user

* Update supporting files

- updated config.h files to use #pragma once include guard
- remove errant QUANTUM_DIR code block

* Rename readme files to fully lowercase filenames

* Restructure keyboard readme

Updated the readme to better align with the current QMK template.

* Bugfixes to supporting files
pull/5432/head
noroadsleft 6 years ago committed by Drashna Jaelre
parent e9ace14878
commit e30c993d75

@ -14,12 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// Disable backlight // Disable backlight
#undef BACKLIGHT_ENABLE #undef BACKLIGHT_ENABLE
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
// Fillers to make layering more clear // Fillers to make layering more clear
#define ___T___ KC_TRNS #define ___T___ KC_TRNS

@ -13,3 +13,4 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
BACKLIGHT_ENABLE = no

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
// Fillers to make layering more clear // Fillers to make layering more clear
#define ___T___ KC_TRNS #define ___T___ KC_TRNS

@ -1,6 +1,3 @@
#ifndef CONFIG_KEYMAP_H #pragma once
#define CONFIG_KEYMAP_H
#include "../../config.h" // place overrides here
#endif

@ -1,4 +1,4 @@
#include "xd75.h" #include QMK_KEYBOARD_H
#include "bbaserdem.h" #include "bbaserdem.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

@ -16,4 +16,4 @@
# pragma once # pragma once
#include "../../config.h" // place overrides here

@ -14,9 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
// place overrides here
#ifndef NO_DEBUG #ifndef NO_DEBUG
#define NO_DEBUG #define NO_DEBUG
#endif #endif
@ -24,8 +24,6 @@
#define NO_PRINT #define NO_PRINT
#endif #endif
#include "../../config.h"
#define LEADER_TIMEOUT 300 #define LEADER_TIMEOUT 300
#define BACKLIGHT_BREATHING #define BACKLIGHT_BREATHING
@ -34,10 +32,3 @@
#define randadd 53 #define randadd 53
#define randmul 181 #define randmul 181
#define randmod 167 #define randmod 167
/* Filler to make layering a bit clearer *
* borrowed from basic keymap */
#define _____ KC_NO
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
/* Fillers to make layering more clear */ /* Fillers to make layering more clear */
#define ___T___ KC_TRNS #define ___T___ KC_TRNS

@ -18,7 +18,3 @@ API_SYSEX_ENABLE = no # Enable SYSEX API (+5390)
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
endif

@ -14,15 +14,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h" // place overrides here
// QMK customization: // QMK customization:
// - after 1.5s, turn off one-shot keys // - after 1.5s, turn off one-shot keys
#define ONESHOT_TIMEOUT 1500 #define ONESHOT_TIMEOUT 1500
// - TT(layer) only needs one press // - TT(layer) only needs one press
#define TAPPING_TOGGLE 1 #define TAPPING_TOGGLE 1
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
#ifdef IS_COLINTA #ifdef IS_COLINTA
#include "secrets.h" #include "secrets.h"
@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--/RRND----/MUTE----/FFWD-------------------------------------------------------------------------------------------------------------' * '--/RRND----/MUTE----/FFWD-------------------------------------------------------------------------------------------------------------'
*/ */
[LAYER_COLEMAK] = KEYMAP( [LAYER_COLEMAK] = LAYOUT(
KC_GRV, TH_F1, TH_F2, TH_F3, TH_F4, TH_F5, MM_0, MM_1, KC_DEL, TH_F6, TH_F7, TH_F8, TH_F9, TH_F10, KC_MINS, KC_GRV, TH_F1, TH_F2, TH_F3, TH_F4, TH_F5, MM_0, MM_1, KC_DEL, TH_F6, TH_F7, TH_F8, TH_F9, TH_F10, KC_MINS,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, MM_2, GOTO_FN, KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_EQL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, MM_2, GOTO_FN, KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_EQL,
OSCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LBRC, KC_RBRC, KC_ENT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, OSCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LBRC, KC_RBRC, KC_ENT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
*/ */
[LAYER_RECORD] = KEYMAP( [LAYER_RECORD] = LAYOUT(
_____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,
@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
*/ */
[LAYER_QWERTY] = KEYMAP( [LAYER_QWERTY] = LAYOUT(
_____, _____, _____, _____, _____, _____, MM_0, MM_1, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, MM_0, MM_1, _____, _____, _____, _____, _____, _____, _____,
_____, KC_Q, KC_W, KC_E, KC_R, KC_T, MM_2, GOTO_FN, _____, KC_Y, KC_U, KC_I, KC_O, KC_P, _____, _____, KC_Q, KC_W, KC_E, KC_R, KC_T, MM_2, GOTO_FN, _____, KC_Y, KC_U, KC_I, KC_O, KC_P, _____,
MOD_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, _____, _____, _____, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _____, MOD_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, _____, _____, _____, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _____,
@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
*/ */
[LAYER_FN] = KEYMAP( [LAYER_FN] = LAYOUT(
GOTO_CM, GOTO_QW, KC_NO, KC_NO, KC_NO, KC_NO, DYN_REC_START1, DYN_REC_START2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, GOTO_CM, GOTO_QW, KC_NO, KC_NO, KC_NO, KC_NO, DYN_REC_START1, DYN_REC_START2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,

@ -14,12 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h" // place overrides here
#define TAPPING_TERM 200 #define TAPPING_TERM 200
#define PERMISSIVE_HOLD #define PERMISSIVE_HOLD
#endif

@ -1,4 +1,4 @@
#include "xd75.h" #include QMK_KEYBOARD_H
#define A_BSPC LALT(KC_BSPC) // delete whole word in Mac #define A_BSPC LALT(KC_BSPC) // delete whole word in Mac
// #define C_BSPS LCTL(KC_BSPC) // delete whole word in PC; currently not in use // #define C_BSPS LCTL(KC_BSPC) // delete whole word in PC; currently not in use

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -13,12 +13,18 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
// Layer shorthand // Layer shorthand
#define _QW 0 #define _QW 0
#define _FN 1 #define _FN 1
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY /* QWERTY
@ -35,13 +41,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
*/ */
[_QW] = { /* QWERTY */ [_QW] = LAYOUT_ortho_5x15( /* QWERTY */
{ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC }, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
{ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT }, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
{ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT }, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
{ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
{ KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL }, KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL
}, ),
/* FUNCTION /* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------. * .--------------------------------------------------------------------------------------------------------------------------------------.
@ -57,29 +63,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
*/ */
[_FN] = { /* FUNCTION */ [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
{ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 }, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
{ KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS }, KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
{ KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______ }, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______,
{ KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______ }, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
{ _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ }, _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
} )
}; };
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) bool process_record_user(uint16_t keycode, keyrecord_t *record) {
{ switch (keycode) {
// MACRODOWN only works in this function case QMKBEST:
switch(id) { if (record->event.pressed) {
case 0: // when keycode QMKBEST is pressed
if (record->event.pressed) { SEND_STRING("QMK is the best thing ever!");
register_code(KC_RSFT); } else {
#ifdef BACKLIGHT_ENABLE // when keycode QMKBEST is released
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
break;
} }
return MACRO_NONE; break;
}; case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) {
}

@ -16,4 +16,4 @@
#pragma once #pragma once
#include "../../config.h" // place overrides here

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
enum planck_keycodes { enum planck_keycodes {
DUMMY = SAFE_RANGE, DUMMY = SAFE_RANGE,

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
#include "backlight.h" #include "backlight.h"
// Fillers to make layering more clear // Fillers to make layering more clear

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include QMK_KEYBOARD_CONFIG_H
// place overrides here // place overrides here
#endif

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -1,5 +1,5 @@
#include "keymap_french.c" #include "keymap_french.c"
#include "xd75.h" #include QMK_KEYBOARD_H
// Layer shorthand // Layer shorthand

@ -14,10 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
@ -118,4 +115,3 @@
// Launchy // Launchy
#define ALT_SPC LALT(KC_SPC) #define ALT_SPC LALT(KC_SPC)
#endif

@ -1,6 +1,6 @@
/* Copyright 2017 Kolja Brauns /* Copyright 2017 Kolja Brauns
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
#ifndef KEYMAP_GERMAN #ifndef KEYMAP_GERMAN
#define KEYMAP_GERMAN #define KEYMAP_GERMAN

@ -14,12 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include QMK_KEYBOARD_CONFIG_H
// place overrides here // place overrides here
#undef BACKLIGHT_BREATHING #undef BACKLIGHT_BREATHING
#endif

@ -14,12 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include QMK_KEYBOARD_CONFIG_H
// place overrides here // place overrides here
#undef BACKLIGHT_BREATHING #undef BACKLIGHT_BREATHING
#endif

@ -14,11 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
// Layer shorthand // Layer shorthand
#define _WO 0 #define _WO 0

@ -14,10 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include QMK_KEYBOARD_CONFIG_H
// place overrides here // place overrides here
@ -30,5 +27,3 @@
#define MOUSEKEY_TIME_TO_MAX 0 #define MOUSEKEY_TIME_TO_MAX 0
#define MOUSEKEY_WHEEL_MAX_SPEED 1 #define MOUSEKEY_WHEEL_MAX_SPEED 1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 0 #define MOUSEKEY_WHEEL_TIME_TO_MAX 0
#endif

@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
#include "keymap_german.h" #include "keymap_german.h"
#define ________ KC_TRNS #define ________ KC_TRNS

@ -14,10 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here // place overrides here
#undef MANUFACTURER #undef MANUFACTURER
@ -25,5 +22,3 @@
#define MANUFACTURER mtdjr #define MANUFACTURER mtdjr
#define PRODUCT XD75 #define PRODUCT XD75
#define DESCRIPTION XD75Re #define DESCRIPTION XD75Re
#endif

@ -3,7 +3,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = KC_KEYMAP( [_QWERTY] = LAYOUT_kc(
// .--------------------------------------------------------------------------. // .--------------------------------------------------------------------------.
EXC, 1 , 2 , 3 , 4 , 5 ,PGUP,MPNT,PGDN, 6 , 7 , 8 , 9 , 0 ,BSPC, EXC, 1 , 2 , 3 , 4 , 5 ,PGUP,MPNT,PGDN, 6 , 7 , 8 , 9 , 0 ,BSPC,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' // '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
), ),
[_LOWER] = KC_KEYMAP( [_LOWER] = LAYOUT_kc(
// .--------------------------------------------------------------------------. // .--------------------------------------------------------------------------.
xxxx, F1 , F2 , F3 , F4 , F5 , F6 ,xxxx, F7 , F8 , F9 , F10, F11, F12, DEL, xxxx, F1 , F2 , F3 , F4 , F5 , F6 ,xxxx, F7 , F8 , F9 , F10, F11, F12, DEL,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' // '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
), ),
[_RAISE] = KC_KEYMAP( [_RAISE] = LAYOUT_kc(
// .--------------------------------------------------------------------------. // .--------------------------------------------------------------------------.
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|

@ -16,10 +16,9 @@
// additional config optoinsa vailable at https://docs.qmk.fm/reference/config-options#the-config.h-file // additional config optoinsa vailable at https://docs.qmk.fm/reference/config-options#the-config.h-file
#ifndef CONFIG_USER_H #pragma once
#define CONFIG_USER_H
#include "../../config.h" // place overrides here
// place overrides here // place overrides here
//#define TAPPING_TERM 200 //#define TAPPING_TERM 200
@ -33,5 +32,3 @@
#define MOUSEKEY_TIME_TO_MAX 60 #define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 0 #define MOUSEKEY_WHEEL_DELAY 0
#endif

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "xd75.h" #include QMK_KEYBOARD_H
enum xd75_layers { enum xd75_layers {
_QWERTY, _QWERTY,

@ -1,32 +1,25 @@
xd75 keyboard firmware # XD75
======================
The XD75Re is a 15x5 full-grid ortholinear keyboard manufactured by XIUDI. This port of the QMK firmware is my first shot at using QMK, so if you see any features done wrong (or just plain missing), feel free to fix them and put in a pull request! ![XD75](https://cdn.shopify.com/s/files/1/2711/4238/products/HTB1MzOISXXXXXXgXpXXq6xXFXXXO_1024x1024.jpg)
## Quantum MK Firmware The XD75Re is a 15x5 full-grid ortholinear keyboard manufactured by XIUDI. This port of the QMK firmware is my first shot at using QMK, so if you see any features done wrong (or just plain missing), feel free to fix them and put in a pull request!
For more info on this firmware (and how to make it your own), head over to [qmk.fm](http://qmk.fm). Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
Hardware Supported: XD75Re
Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd75re-xd75am-xd75-xiudi-60-custom-keyboard-pcb), [AliExpress](https://www.aliexpress.com/item/xd75re-Custom-Mechanical-Keyboard-75-keys-TKG-TOOLS-Underglow-RGB-PCB-GH60-60-programmed-gh60-kle/32818745981.html)
## Building Make example for this keyboard (after setting up your build environment):
Download or clone the whole firmware and navigate to the make xd75:default
keyboards/xd75 folder. Once your dev env is setup, you'll be able to
type `make` to generate your .hex - you can then use the Teensy Loader
to install the resulting .hex file, or have the `make` process install
it using DFU.
### Default Flashing example:
To build with the default keymap, simply run `make xd75:default` from the root directory (i.e. two levels above this file), and to install via DFU, `make xd75:default:dfu`, also from the root directory. make xd75:default:dfu
Note that DFU is likely to require root permissions, so installing the 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).
firmware likely requires a command line like:
```
$ sudo make xd75:default:dfu
```
### LED control ## LED control
There are 3 individual LEDs that can be turned on and off, plus the keycap LEDs (which are all wired into the same pin). The functions are named according to how they're labeled on the PCB. There are 3 individual LEDs that can be turned on and off, plus the keycap LEDs (which are all wired into the same pin). The functions are named according to how they're labeled on the PCB.
@ -65,23 +58,3 @@ GP103_LED F4
KEYCAPS_LED F5 KEYCAPS_LED F5
GP100_LED F7 GP100_LED F7
``` ```
### Other Keymaps
The "default" keymap included is basically the OLKB Atomic keymap with
a few buttons added for RGB underglow control. This should be usable
as a starting point, but most people will be best served creating
their own keymap and flashing it - more info on creating your own
keymap is available in [the official QMK
documentation](https://docs.qmk.fm).
Keymaps follow the format **__\<name\>.c__** and are stored in
subdirectories under `keyboards/xd75/keymaps`
To build the firmware binary hex file for a specific keymap, and
install it, using DFU, just do `make` with a keymap like this:
```
$ make xd75:[default|<name>]
```

@ -13,8 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef XD75_H #pragma once
#define XD75_H
#include "quantum.h" #include "quantum.h"
@ -22,7 +21,7 @@
// The following is an example using the Planck MIT layout // The following is an example using the Planck MIT layout
// The first section contains all of the arguments // The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
#define KEYMAP( \ #define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\
@ -36,7 +35,7 @@
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \
} }
#define KC_KEYMAP( \ #define LAYOUT_kc( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\
@ -50,7 +49,7 @@
{ KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_##K48, KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_##K4E } \ { KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_##K48, KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_##K4E } \
} }
#define LAYOUT_ortho_5x15 KEYMAP #define LAYOUT_ortho_5x15 LAYOUT
void capslock_led_init(void); void capslock_led_init(void);
void capslock_led_off(void); void capslock_led_off(void);
@ -67,5 +66,3 @@ void gp103_led_on(void);
void keycaps_led_init(void); void keycaps_led_init(void);
void keycaps_led_off(void); void keycaps_led_off(void);
void keycaps_led_on(void); void keycaps_led_on(void);
#endif

Loading…
Cancel
Save