Add xd002 support (#8598)
* Add xd002 support * tidy some whitespace * align filename * Update keyboards/xd002/info.json Co-authored-by: Erovia <Erovia@users.noreply.github.com> Co-authored-by: Erovia <Erovia@users.noreply.github.com>
This commit is contained in:
parent
750c7c2bdb
commit
f7324ec684
17 changed files with 351 additions and 0 deletions
7
keyboards/xd002/keymaps/default/keymap.c
Normal file
7
keyboards/xd002/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_A, KC_B
|
||||
)
|
||||
};
|
46
keyboards/xd002/keymaps/rgb/keymap.c
Normal file
46
keyboards/xd002/keymaps/rgb/keymap.c
Normal file
|
@ -0,0 +1,46 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
QMKURL = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
RGB_HUI, QMKURL
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch (keycode) {
|
||||
case QMKURL:
|
||||
// Using SEND_STRING here adds 400bytes ...
|
||||
// SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
|
||||
tap_code(KC_H);
|
||||
tap_code(KC_T);
|
||||
tap_code(KC_T);
|
||||
tap_code(KC_P);
|
||||
tap_code(KC_S);
|
||||
tap_code16(KC_COLON);
|
||||
tap_code(KC_SLASH);
|
||||
tap_code(KC_SLASH);
|
||||
tap_code(KC_Q);
|
||||
tap_code(KC_M);
|
||||
tap_code(KC_K);
|
||||
tap_code(KC_DOT);
|
||||
tap_code(KC_F);
|
||||
tap_code(KC_M);
|
||||
tap_code(KC_SLASH);
|
||||
tap_code(KC_ENTER);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_enable_noeeprom(); // enables Rgb, without saving settings
|
||||
rgblight_sethsv_noeeprom(180, 255, 255); // sets the color to teal/cyan without saving
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // sets mode to Fast breathing without saving
|
||||
}
|
1
keyboards/xd002/keymaps/rgb/rules.mk
Normal file
1
keyboards/xd002/keymaps/rgb/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
RGBLIGHT_ENABLE = yes
|
31
keyboards/xd002/keymaps/rgb_lite/keymap.c
Normal file
31
keyboards/xd002/keymaps/rgb_lite/keymap.c
Normal file
|
@ -0,0 +1,31 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "rgblite.h"
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
QMKURL = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
RGB_HUI, QMKURL
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch (keycode) {
|
||||
case RGB_HUI:
|
||||
rgblight_increase_hue();
|
||||
break;
|
||||
case QMKURL:
|
||||
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_increase_hue();
|
||||
}
|
26
keyboards/xd002/keymaps/rgb_lite/rgblite.h
Normal file
26
keyboards/xd002/keymaps/rgb_lite/rgblite.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
#pragma once
|
||||
|
||||
#include "ws2812.h"
|
||||
#include "rgblight_list.h"
|
||||
|
||||
static inline void rgblight_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
|
||||
LED_TYPE leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
|
||||
ws2812_setleds(leds, RGBLED_NUM);
|
||||
}
|
||||
|
||||
static void rgblight_increase_hue(void) {
|
||||
static uint8_t state = 0;
|
||||
|
||||
state = (state + 1) % 3;
|
||||
switch (state) {
|
||||
case 1:
|
||||
rgblight_setrgb_red();
|
||||
break;
|
||||
case 2:
|
||||
rgblight_setrgb_blue();
|
||||
break;
|
||||
default:
|
||||
rgblight_setrgb_green();
|
||||
break;
|
||||
}
|
||||
}
|
1
keyboards/xd002/keymaps/rgb_lite/rules.mk
Normal file
1
keyboards/xd002/keymaps/rgb_lite/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
SRC += ws2812.c
|
3
keyboards/xd002/keymaps/tap_dance/config.h
Normal file
3
keyboards/xd002/keymaps/tap_dance/config.h
Normal file
|
@ -0,0 +1,3 @@
|
|||
#pragma once
|
||||
|
||||
#define TAPPING_TERM 500
|
19
keyboards/xd002/keymaps/tap_dance/keymap.c
Normal file
19
keyboards/xd002/keymaps/tap_dance/keymap.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_BASE = 0,
|
||||
};
|
||||
|
||||
enum {
|
||||
TD_BC = 0
|
||||
};
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_BC] = ACTION_TAP_DANCE_DOUBLE(KC_B, KC_C)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_A, TD(TD_BC)
|
||||
)
|
||||
};
|
1
keyboards/xd002/keymaps/tap_dance/rules.mk
Normal file
1
keyboards/xd002/keymaps/tap_dance/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
TAP_DANCE_ENABLE = yes
|
7
keyboards/xd002/keymaps/volume/keymap.c
Normal file
7
keyboards/xd002/keymaps/volume/keymap.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_VOLU, KC_VOLD
|
||||
)
|
||||
};
|
1
keyboards/xd002/keymaps/volume/rules.mk
Normal file
1
keyboards/xd002/keymaps/volume/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
EXTRAKEY_ENABLE = yes
|
Loading…
Add table
Add a link
Reference in a new issue