aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/xd60/keymaps/styr/keymap.c56
-rw-r--r--keyboards/xd60/keymaps/styr/readme.md7
-rw-r--r--keyboards/xd60/readme.md13
-rw-r--r--keyboards/xd60/rev2/config.h (renamed from keyboards/xd60/config.h)0
-rw-r--r--keyboards/xd60/rev2/rules.mk (renamed from keyboards/xd60/rules.mk)0
-rw-r--r--keyboards/xd60/rev3/config.h71
-rw-r--r--keyboards/xd60/rev3/rules.mk67
7 files changed, 210 insertions, 4 deletions
diff --git a/keyboards/xd60/keymaps/styr/keymap.c b/keyboards/xd60/keymaps/styr/keymap.c
new file mode 100644
index 000000000..2fbfe2563
--- /dev/null
+++ b/keyboards/xd60/keymaps/styr/keymap.c
@@ -0,0 +1,56 @@
1#include QMK_KEYBOARD_H
2
3#define _BL 0
4#define _FL 1
5#define _LL 2
6
7enum custom_keycodes {
8 MACRO_STRING
9};
10
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12
13 // 0: Base Layer
14 [_BL] = LAYOUT_all(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, \
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
17 MO(_LL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
18 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, \
19 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(_FL), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
20
21 // 1: Function Layer
22 [_FL] = LAYOUT_all(
23 XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
24 XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, \
25 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
26 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \
27 XXXXXXX, XXXXXXX, XXXXXXX, MACRO_STRING, XXXXXXX, F(0), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT),
28
29 [_LL] = LAYOUT_all(
30 XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, \
31 XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
32 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC__MUTE, \
33 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MPLY, \
34 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(0), KC_MRWD, KC_VOLD, KC_MFFD),
35
36
37};
38
39// Macros
40bool process_record_user(uint16_t keycode, keyrecord_t *record) {
41 switch (keycode) {
42 case MACRO_STRING:
43 if(record->event.pressed){
44 SEND_STRING("My Custom String");
45 }
46 return false;
47 break;
48 default:
49 return true;
50 }
51}
52
53// Loop
54void matrix_scan_user(void) {
55 // Empty
56};
diff --git a/keyboards/xd60/keymaps/styr/readme.md b/keyboards/xd60/keymaps/styr/readme.md
new file mode 100644
index 000000000..8d9edf7c4
--- /dev/null
+++ b/keyboards/xd60/keymaps/styr/readme.md
@@ -0,0 +1,7 @@
1# Keyboard Layout by Styr
2
3## Additional Notes
4Default Keymap for XD60 as indicated on the original sale page.
5
6## Build
7To build the default keymap, simply run `make xd60/rev3:styr`.
diff --git a/keyboards/xd60/readme.md b/keyboards/xd60/readme.md
index 24f07c47b..b9862428c 100644
--- a/keyboards/xd60/readme.md
+++ b/keyboards/xd60/readme.md
@@ -6,11 +6,16 @@ Compact 60% with arrows.
6![Top View of a pair of XD60 Keyboard](https://i.imgur.com/3Jq2743.jpg) 6![Top View of a pair of XD60 Keyboard](https://i.imgur.com/3Jq2743.jpg)
7 7
8Keyboard Maintainer: QMK Community 8Keyboard Maintainer: QMK Community
9Hardware Supported: XD60 PCB 9Hardware Supported: XD60 PCB rev2 & rev3
10Hardware Availability: https://www.massdrop.com/buy/xd60-xd64-custom-mechanical-keyboard-kit?mode=guest_open 10Hardware Availability: https://www.massdrop.com/buy/xd60-xd64-custom-mechanical-keyboard-kit?mode=guest_open
11 11
12Make example for this keyboard (after setting up your build environment): 12With the implementation of Rev3 you need to specify the Rev you want to build.
13To build for a Rev2 with a default keymap:
13 14
14 make xd60:default 15```make xd60/rev2:default```
15 16
16See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 17To build for a Rev3 with a default keymap:
18
19```make xd60/rev3:default```
20
21See 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/xd60/config.h b/keyboards/xd60/rev2/config.h
index 6c447b89f..6c447b89f 100644
--- a/keyboards/xd60/config.h
+++ b/keyboards/xd60/rev2/config.h
diff --git a/keyboards/xd60/rules.mk b/keyboards/xd60/rev2/rules.mk
index 8a60252dc..8a60252dc 100644
--- a/keyboards/xd60/rules.mk
+++ b/keyboards/xd60/rev2/rules.mk
diff --git a/keyboards/xd60/rev3/config.h b/keyboards/xd60/rev3/config.h
new file mode 100644
index 000000000..d88330cf7
--- /dev/null
+++ b/keyboards/xd60/rev3/config.h
@@ -0,0 +1,71 @@
1/*
2Copyright 2019 Rodrigo Feijao <hello@rodrigofeijao.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x6363
25#define DEVICE_VER 0x0001
26#define MANUFACTURER XIUDI
27#define PRODUCT XD60rev3
28#define DESCRIPTION XD60 rev3 Keyboard PCB by XIUDI
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 14
33
34/*
35 * Keyboard Matrix Assignments
36 *
37 * Change this to how you wired your keyboard
38 * COLS: AVR pins used for columns, left to right
39 * ROWS: AVR pins used for rows, top to bottom
40 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 *
43*/
44#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
45#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
46#define UNUSED_PINS
47
48/* Backlight Setup */
49#define BACKLIGHT_PIN F5
50#define BACKLIGHT_LEVELS 6
51
52/* COL2ROW or ROW2COL */
53#define DIODE_DIRECTION COL2ROW
54
55/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
56#define DEBOUNCING_DELAY 5
57
58/* RGB Underglow
59 * F6 PIN for XD60v3 that has pre-soldered LEDs
60 */
61#define RGB_DI_PIN F6
62#define RGBLIGHT_ANIMATIONS
63#define RGBLED_NUM 12
64#define RGBLIGHT_HUE_STEP 10
65#define RGBLIGHT_SAT_STEP 17
66#define RGBLIGHT_VAL_STEP 17
67
68/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
69#define LOCKING_SUPPORT_ENABLE
70/* Locking resynchronize hack */
71#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/xd60/rev3/rules.mk b/keyboards/xd60/rev3/rules.mk
new file mode 100644
index 000000000..f33fff76c
--- /dev/null
+++ b/keyboards/xd60/rev3/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2# MCU = at90usb1287
3MCU = atmega32u4
4
5
6# Processor frequency.
7# This will define a symbol, F_CPU, in all source code files equal to the
8# processor frequency in Hz. You can then use this symbol in your source code to
9# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
10# automatically to create a 32-bit value in your source code.
11#
12# This will be an integer division of F_USB below, as it is sourced by
13# F_USB after it has run through any CPU prescalers. Note that this value
14# does not *change* the processor frequency - it should merely be updated to
15# reflect the processor speed set externally so that the code can use accurate
16# software delays.
17F_CPU = 16000000
18
19
20# LUFA specific
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
34# If no clock division is performed on the input clock inside the AVR (via the
35# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
36F_USB = $(F_CPU)
37
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49BOOTLOADER = atmel-dfu
50
51
52# Build Options
53BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
56CONSOLE_ENABLE = no # Console for debug(+400)
57COMMAND_ENABLE = no # Commands for debug and configuration
58NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
60MIDI_ENABLE = no # MIDI controls
61AUDIO_ENABLE = no # Audio output on port C6
62UNICODE_ENABLE = no # Unicode
63BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
65SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
66
67LAYOUTS = 60_ansi