Organize KPrepublic, K.T.E.C, xiudi boards into directories (#12159)
* reset; redoing my steps; and recommit * include xd002/.noci
This commit is contained in:
164
keyboards/xiudi/xd60/info.json
Normal file
164
keyboards/xiudi/xd60/info.json
Normal file
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"keyboard_name": "XD60",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"label":"Menu", "x":12, "y":4}, {"label":"Ctrl", "x":13, "y":4}, {"x":14, "y":4}]
|
||||
},
|
||||
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
|
||||
},
|
||||
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label":"~", "x":0, "y":0},
|
||||
{"label":"!", "x":1, "y":0},
|
||||
{"label":"@", "x":2, "y":0},
|
||||
{"label":"#", "x":3, "y":0},
|
||||
{"label":"$", "x":4, "y":0},
|
||||
{"label":"%", "x":5, "y":0},
|
||||
{"label":"^", "x":6, "y":0},
|
||||
{"label":"&", "x":7, "y":0},
|
||||
{"label":"*", "x":8, "y":0},
|
||||
{"label":"(", "x":9, "y":0},
|
||||
{"label":")", "x":10, "y":0},
|
||||
{"label":"_", "x":11, "y":0},
|
||||
{"label":"+", "x":12, "y":0},
|
||||
{"label":"BS", "x":13, "y":0, "w":1},
|
||||
{"label":"BS", "x":14, "y":0, "w":1},
|
||||
|
||||
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1},
|
||||
{"label":"T", "x":5.5, "y":1},
|
||||
{"label":"Y", "x":6.5, "y":1},
|
||||
{"label":"U", "x":7.5, "y":1},
|
||||
{"label":"I", "x":8.5, "y":1},
|
||||
{"label":"O", "x":9.5, "y":1},
|
||||
{"label":"P", "x":10.5, "y":1},
|
||||
{"label":"{", "x":11.5, "y":1},
|
||||
{"label":"}", "x":12.5, "y":1},
|
||||
{"label":"|", "x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":2},
|
||||
{"label":"S", "x":2.75, "y":2},
|
||||
{"label":"D", "x":3.75, "y":2},
|
||||
{"label":"F", "x":4.75, "y":2},
|
||||
{"label":"G", "x":5.75, "y":2},
|
||||
{"label":"H", "x":6.75, "y":2},
|
||||
{"label":"J", "x":7.75, "y":2},
|
||||
{"label":"K", "x":8.75, "y":2},
|
||||
{"label":"L", "x":9.75, "y":2},
|
||||
{"label":":", "x":10.75, "y":2},
|
||||
{"label":"\"", "x":11.75, "y":2},
|
||||
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":3},
|
||||
{"label":"X", "x":3.25, "y":3},
|
||||
{"label":"C", "x":4.25, "y":3},
|
||||
{"label":"V", "x":5.25, "y":3},
|
||||
{"label":"B", "x":6.25, "y":3},
|
||||
{"label":"N", "x":7.25, "y":3},
|
||||
{"label":"M", "x":8.25, "y":3},
|
||||
{"label":"<", "x":9.25, "y":3},
|
||||
{"label":">", "x":10.25, "y":3},
|
||||
{"label":"?", "x":11.25, "y":3},
|
||||
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
|
||||
{"label":"FN", "x":14, "y":3, "w":1},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Win", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":4, "w":1.25},
|
||||
{"label":"Win", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"label":"Space", "x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
|
||||
},
|
||||
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label":"\u00ac", "x":0, "y":0},
|
||||
{"label":"!", "x":1, "y":0},
|
||||
{"label":"\"", "x":2, "y":0},
|
||||
{"label":"\u00a3", "x":3, "y":0},
|
||||
{"label":"$", "x":4, "y":0},
|
||||
{"label":"%", "x":5, "y":0},
|
||||
{"label":"^", "x":6, "y":0},
|
||||
{"label":"&", "x":7, "y":0},
|
||||
{"label":"*", "x":8, "y":0},
|
||||
{"label":"(", "x":9, "y":0},
|
||||
{"label":")", "x":10, "y":0},
|
||||
{"label":"_", "x":11, "y":0},
|
||||
{"label":"+", "x":12, "y":0},
|
||||
{"label":"BS", "x":13, "y":0, "w":1},
|
||||
{"label":"BS", "x":14, "y":0, "w":1},
|
||||
|
||||
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1},
|
||||
{"label":"T", "x":5.5, "y":1},
|
||||
{"label":"Y", "x":6.5, "y":1},
|
||||
{"label":"U", "x":7.5, "y":1},
|
||||
{"label":"I", "x":8.5, "y":1},
|
||||
{"label":"O", "x":9.5, "y":1},
|
||||
{"label":"P", "x":10.5, "y":1},
|
||||
{"label":"{", "x":11.5, "y":1},
|
||||
{"label":"}", "x":12.5, "y":1},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":2},
|
||||
{"label":"S", "x":2.75, "y":2},
|
||||
{"label":"D", "x":3.75, "y":2},
|
||||
{"label":"F", "x":4.75, "y":2},
|
||||
{"label":"G", "x":5.75, "y":2},
|
||||
{"label":"H", "x":6.75, "y":2},
|
||||
{"label":"J", "x":7.75, "y":2},
|
||||
{"label":"K", "x":8.75, "y":2},
|
||||
{"label":"L", "x":9.75, "y":2},
|
||||
{"label":":", "x":10.75, "y":2},
|
||||
{"label":"@", "x":11.75, "y":2},
|
||||
{"label":"~", "x":12.75, "y":2},
|
||||
{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
|
||||
|
||||
{"label":"Shift", "x":0, "y":3, "w":1.25},
|
||||
{"label":"|", "x":1.25, "y":3},
|
||||
{"label":"Z", "x":2.25, "y":3},
|
||||
{"label":"X", "x":3.25, "y":3},
|
||||
{"label":"C", "x":4.25, "y":3},
|
||||
{"label":"V", "x":5.25, "y":3},
|
||||
{"label":"B", "x":6.25, "y":3},
|
||||
{"label":"N", "x":7.25, "y":3},
|
||||
{"label":"M", "x":8.25, "y":3},
|
||||
{"label":"<", "x":9.25, "y":3},
|
||||
{"label":">", "x":10.25, "y":3},
|
||||
{"label":"?", "x":11.25, "y":3},
|
||||
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
|
||||
{"label":"FN", "x":14, "y":3, "w":1},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":4, "w":6.25},
|
||||
{"label":"AltGr", "x":10, "y":4, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
22
keyboards/xiudi/xd60/keymaps/Jos/README.md
Normal file
22
keyboards/xiudi/xd60/keymaps/Jos/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Jos's Layout
|
||||
|
||||
Custom layout with various options. Designed to be used with the Canadian Multilingual software layout.
|
||||
|
||||
## Layout
|
||||
This is the physical layout of my xd60, for reference. See the keymap file for actual software layout.
|
||||

|
||||
|
||||
## Features
|
||||
**Caps Lock** is **Escape** and the **Window key** is a **Function** key that still acts like the **Window** key in conjuction with `w`, `s`, `d`, `l`, `t`, `e`, `h`, and `SPACE`.
|
||||
|
||||
There are a few `#define` lines at the beginning of the keymap file that enable the following options if not commented:
|
||||
- `ISOLIKE_ALT_ENTER`: `RALT` + `ENT` is the same as `RALT`+`BSLS`. For logical placement of `{` and `}` (the former being `RALT`+`BSLS`) with ANSI enter on a ISO-based layout.
|
||||
- `TWO_SFT_CAPS`: Both shifts together → Caps Lock.
|
||||
- `APP_IS_RALT_RCTRL`: Menu would be between `RCTRL` and `RALT`, so now `RALT` + `RCTRL` → `APP`.
|
||||
- `HELD_ESC_IS_SHIFT`: Holding `ESC` → `SHIFT`. It always register shift when pressing `ESC`. Useful for VIM.
|
||||
- `BSPC_BLOCKS_DEL`: If `BSPC` is held, we disable `DEL`. To avoid acidental presses of `DEL` with split backspace key.
|
||||
- `ALT_MINSEQL_IS_ALT_78`: Pressing `ALT+MINS/EQL` will act like `ALT+7/8`. Will yield `{}` instead of `½¬` in Canadian Multilingual Layout. Diminished finger stretching.
|
||||
|
||||
|
||||
# Build
|
||||
To build, simply run `make xd60:Jos`
|
2
keyboards/xiudi/xd60/keymaps/Jos/config.h
Normal file
2
keyboards/xiudi/xd60/keymaps/Jos/config.h
Normal file
@@ -0,0 +1,2 @@
|
||||
/* Delay for tap/hold for tap dance commands */
|
||||
#define TAPPING_TERM 150
|
202
keyboards/xiudi/xd60/keymaps/Jos/keymap.c
Normal file
202
keyboards/xiudi/xd60/keymaps/Jos/keymap.c
Normal file
@@ -0,0 +1,202 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
// TODO: THOSE ARE IDEAS:
|
||||
// TODO:
|
||||
// TODO: - Proper support for "GUI+TAB" application switching, with the GUI holding and shift, etc.
|
||||
// TODO: - Maybe implement a process_record instead of a tap-dance, or complex tap dance?
|
||||
// TODO: - Media keys on Fn1 layer, *hjklm,.* or arrow cluster?
|
||||
// TODO: - What more than NumPad + RGB on the Fn3 toggled layer?
|
||||
// TODO: - Add an in-keymap way to toggle LGUI/F(0) key, HELD_ESC_IS_SHIFT and BSPC_BLOCKS_DEL.
|
||||
// TODO:
|
||||
// TODO: THOSE ARE BUGS TO FIX:
|
||||
// TODO: - None (found so far)
|
||||
|
||||
// Adjusting process_record_user functionnalities, comment to disable.
|
||||
#define ISOLIKE_ALT_ENTER
|
||||
#define TWO_SFT_CAPS
|
||||
#define APP_IS_RALT_RCTRL
|
||||
#define HELD_ESC_IS_SHIFT
|
||||
#define BSPC_BLOCKS_DEL
|
||||
#define ALT_MINSEQL_IS_ALT_78
|
||||
|
||||
// Cases where the GUI key will actually do what the GUI key normally does.
|
||||
#define AC_G_W LGUI(KC_W) // Ubuntu: Shows windows on current desktop
|
||||
#define AC_G_S LGUI(KC_S) // Ubuntu: Overview of all desktops
|
||||
#define AC_G_D LGUI(KC_D) // Windows: Show/Toggle desktop
|
||||
#define AC_G_L LGUI(KC_L) // Ubuntu/Windows: Lock session
|
||||
#define AC_G_T LGUI(KC_T) // Ubuntu: Shows Trash // elementary: Opens terminal
|
||||
#define AC_G_E LGUI(KC_E) // Windows: Opens file explorer
|
||||
#define AC_G_H LGUI(KC_H) // Windows: Show/Hide hidden files
|
||||
#define AC_G_SPC LGUI(KC_SPC) // elementary: Shows application launcher
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_GRAVE, 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_BSPC, KC_DEL, \
|
||||
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, \
|
||||
KC_ESC, 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, \
|
||||
KC_LSFT, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), \
|
||||
KC_LCTL, TD(0), KC_LALT, KC_SPC , KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function 1 Layers
|
||||
LAYOUT_all(
|
||||
RESET, 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_PAUS, KC_PSCR, \
|
||||
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS, \
|
||||
KC_TRNS, TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN, KC_END),
|
||||
|
||||
// 2: GUI/Function 2 Layer
|
||||
LAYOUT_all(
|
||||
KC_ESC, 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_PAUS, KC_PSCR, \
|
||||
KC_TRNS, KC_TRNS, AC_G_W, AC_G_E, KC_TRNS, AC_G_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, AC_G_S, AC_G_D, KC_TRNS, KC_TRNS, AC_G_H, KC_TRNS, KC_TRNS, AC_G_L, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, AC_G_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN, KC_END),
|
||||
|
||||
// 3: NumPad/Function 3 Toggle Layer
|
||||
LAYOUT_all(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_PSLS, KC_PMNS, KC_PPLS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_4, KC_5, KC_6, KC_PAST, KC_NO, KC_NO, KC_NO, \
|
||||
KC_TRNS, KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_1, KC_2, KC_3, KC_PMNS, KC_PENT, KC_NO, KC_TRNS, \
|
||||
KC_NO, KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_0, KC_COMM, KC_DOT, KC_PPLS, KC_NO, KC_TRNS, KC_TRNS, \
|
||||
KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_PENT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS) ,
|
||||
|
||||
// TRaNSparent layer for reference
|
||||
/* LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), */
|
||||
};
|
||||
|
||||
// LGUI acts as F(1) if held or as a tapped LGUI if tapped. Adapted from https://goo.gl/WnqGNS
|
||||
// Commented lines are for the "sticky" layer on two presses. Left it here for reference.
|
||||
static const int GUILAY = 2; // GUI Layer is layer #2
|
||||
|
||||
typedef struct {
|
||||
bool layer_toggle;
|
||||
bool sticky;
|
||||
} td_ta_state_t;
|
||||
|
||||
static void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) {
|
||||
td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
|
||||
|
||||
// if (td_ta->sticky) {
|
||||
// td_ta->sticky = false;
|
||||
// td_ta->layer_toggle = false;
|
||||
// layer_off (GUILAY);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
if (state->count == 1 && !state->pressed) {
|
||||
register_code (KC_LGUI);
|
||||
// td_ta->sticky = false;
|
||||
td_ta->layer_toggle = false;
|
||||
} else {
|
||||
td_ta->layer_toggle = true;
|
||||
layer_on(GUILAY);
|
||||
// td_ta->sticky = (state->count == 2);
|
||||
}
|
||||
}
|
||||
|
||||
// Added this one to make it more reactive on keyup
|
||||
static void ang_tap_dance_ta_each (qk_tap_dance_state_t *state, void *user_data) {
|
||||
td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
|
||||
|
||||
if (!td_ta->layer_toggle) { // Braces added for clarity
|
||||
unregister_code (KC_LGUI);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) {
|
||||
td_ta_state_t *td_ta = (td_ta_state_t *) user_data;
|
||||
|
||||
if (!td_ta->layer_toggle) { // Braces added for clarity
|
||||
unregister_code (KC_LGUI);
|
||||
}
|
||||
// if (!td_ta->sticky)
|
||||
layer_off (GUILAY); // We don't verify it was swithed on, switching off regardless
|
||||
}
|
||||
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[0] = {
|
||||
.fn = { ang_tap_dance_ta_each, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset },
|
||||
.user_data = (void *)&((td_ta_state_t) { false, false })
|
||||
}
|
||||
};
|
||||
|
||||
#if defined ISOLIKE_ALT_ENTER || defined TWO_SFT_CAPS || defined APP_IS_RALT_RCTRL || defined ALT_MINSEQL_IS_ALT_78
|
||||
// Function for the special modifiers actions below, makes it cleaner and yields smaller firmware.
|
||||
static bool special_mods(uint16_t keycode, keyrecord_t *record, uint16_t modifier) {
|
||||
if (record->event.pressed && (keyboard_report->mods & MOD_BIT(modifier))) {
|
||||
register_code(keycode);
|
||||
return false;
|
||||
} else {
|
||||
unregister_code(keycode);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef BSPC_BLOCKS_DEL
|
||||
static bool del_blocked = false; // Static as to not be defined elsewhere
|
||||
#endif
|
||||
|
||||
// This function is processed before the key events on each key press/release.
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode){
|
||||
#ifdef ISOLIKE_ALT_ENTER
|
||||
// RALT + ENT is the same as RALT+BSLS.
|
||||
// For logical placement of *{* and *}* (the former being RALT+BSLS) with ANSI enter on
|
||||
// ISO-based Canadian Multilingual layout (or any other ISO layout on ANSI keyboards).
|
||||
case KC_ENT: return special_mods(KC_BSLS, record, KC_RALT); // RALT + ENT -> RALT + BSLS // See comment above
|
||||
#endif
|
||||
#ifdef TWO_SFT_CAPS
|
||||
case KC_LSFT: return special_mods(KC_CAPS, record, KC_RSFT); // Both shifts together -> Caps Lock // RSFT pressed first case
|
||||
case KC_RSFT: return special_mods(KC_CAPS, record, KC_LSFT); // Both shifts together -> Caps Lock // LSFT pressed first case
|
||||
#endif
|
||||
#ifdef APP_IS_RALT_RCTRL
|
||||
case KC_RCTRL: return special_mods(KC_APP, record, KC_RALT); // RALT + RCTRL -> APP // RCTRL pressed first case
|
||||
case KC_RALT: return special_mods(KC_APP, record, KC_RCTRL); // RALT + RCTRL -> APP // RALT pressed first case
|
||||
#endif
|
||||
#ifdef ALT_MINSEQL_IS_ALT_78
|
||||
case KC_MINS: return special_mods(KC_7, record, KC_RALT); // RALT + MINS -> RALT+7 // {} in CAN Mult. softawre layout
|
||||
case KC_EQL: return special_mods(KC_8, record, KC_RALT); // RALT + EQL -> RALT+8 // ½¬ normally... Less finger stretch.
|
||||
#endif
|
||||
#ifdef HELD_ESC_IS_SHIFT
|
||||
case KC_ESC: // Physically *ESC* is *CAPS* // Holding ESC -> SHIFT (0 delay) // Less awkward *<ESC>:wq* in vim
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_ESC); // Tapping ESC
|
||||
unregister_code(KC_ESC);
|
||||
register_code(KC_LSFT); // Holding LSFT
|
||||
return false;
|
||||
} else {
|
||||
unregister_code(KC_LSFT); // Releasing LSFT
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
#ifdef BSPC_BLOCKS_DEL
|
||||
// If BSPC is held, we flag DEL as disabled. To avoids acidental presses of DEL with split backspace key.
|
||||
case KC_BSPC:
|
||||
del_blocked = record->event.pressed;
|
||||
return true;
|
||||
// We don't handle DEL if it is pressed and flagged as disabled
|
||||
case KC_DEL:
|
||||
if (del_blocked && record->event.pressed) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
default: return true; // Let QMK handle the rest as usual
|
||||
}
|
||||
}
|
||||
|
||||
|
1
keyboards/xiudi/xd60/keymaps/Jos/rules.mk
Normal file
1
keyboards/xiudi/xd60/keymaps/Jos/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
TAP_DANCE_ENABLE = yes # Enables Tap Dance
|
66
keyboards/xiudi/xd60/keymaps/birkir/keymap.c
Normal file
66
keyboards/xiudi/xd60/keymaps/birkir/keymap.c
Normal file
@@ -0,0 +1,66 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
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_BSPC, KC_GRV, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSFT, KC_UP, TG(2), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, BL_DEC, BL_INC, KC_F13, KC_F14, \
|
||||
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END
|
||||
),
|
||||
|
||||
// 2: Cool Layer
|
||||
LAYOUT_all(
|
||||
RESET, BL_DEC, BL_INC, BL_ON, BL_OFF, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_MODE_PLAIN, KC_TRNS, \
|
||||
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, TG(2), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END
|
||||
)
|
||||
};
|
||||
|
||||
bool edit = false;
|
||||
uint32_t mode;
|
||||
uint16_t hue;
|
||||
uint8_t sat;
|
||||
uint8_t val;
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
if (state == 0 && edit == true) {
|
||||
mode = rgblight_get_mode();
|
||||
hue = rgblight_get_hue();
|
||||
sat = rgblight_get_sat();
|
||||
val = rgblight_get_val();
|
||||
edit = false;
|
||||
}
|
||||
|
||||
switch (biton32(state)) {
|
||||
case 1:
|
||||
rgblight_mode(1);
|
||||
rgblight_setrgb(0xD3, 0x7F, 0xED);
|
||||
break;
|
||||
case 2:
|
||||
rgblight_mode(1);
|
||||
rgblight_setrgb(0xFF, 0x00, 0x00);
|
||||
edit = true;
|
||||
break;
|
||||
default:
|
||||
rgblight_mode(mode);
|
||||
rgblight_sethsv(hue, sat, val);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
45
keyboards/xiudi/xd60/keymaps/birkir/readme.md
Normal file
45
keyboards/xiudi/xd60/keymaps/birkir/readme.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Birkir's Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||
Custom layout with some custom layers. Mac friendly.
|
||||
|
||||
## Layout
|
||||

|
||||
|
||||
### Layer 0
|
||||
Base layer as shown on layout above
|
||||
|
||||
### Layer 1
|
||||
Active while pressing and holding `MENU`
|
||||
|
||||
RGB is purple while active
|
||||
|
||||
- `ESC` is `~`
|
||||
|
||||
### Layer 2
|
||||
Toggled on and off with `FN`
|
||||
|
||||
RGB is red while active
|
||||
|
||||
RGB settings are persisted for layer 0 when done.
|
||||
|
||||
- `1` Backlight DEC
|
||||
- `2` Backlight INC
|
||||
- `3` Backlight OFF
|
||||
- `4` Backlight ON
|
||||
- `5` RGB Toggle
|
||||
- `6` RGB Mode
|
||||
- `7` RGB Hue DEC (-)
|
||||
- `8` RGB Hue INC (+)
|
||||
- `9` RGB Saturation DEC (-)
|
||||
- `0` RGB Saturation INC (+)
|
||||
- `-/_` RGB Brightness DEC (-)
|
||||
- `+/=` RGB Brightness INC (+)
|
||||
- `BACKSPACE` RGB Mode set to PLAIN
|
||||
|
||||
## TODO
|
||||
|
||||
- Mac shortcuts on Layer 1
|
||||
- More dynamic keyboard configuration on Layer 2
|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60:birkir`.
|
13
keyboards/xiudi/xd60/keymaps/cheese/README.md
Normal file
13
keyboards/xiudi/xd60/keymaps/cheese/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# cheese's Layout
|
||||
Customized xd60 keymap
|
||||
|
||||

|
||||

|
||||
|
||||
## Programming Instructions:
|
||||
`cd` into keymap directory, `make dfu`
|
||||
|
||||
## Features
|
||||
- Media keys and movement keys setup like on the pok3r
|
||||
- Lower right movement keys setup like on the fc660m (fn+direction for home/end/page up and down)
|
||||
- Caps lock can be triggered by pressing both shift keys at the same time (and deactivated the same way)
|
61
keyboards/xiudi/xd60/keymaps/cheese/keymap.c
Normal file
61
keyboards/xiudi/xd60/keymaps/cheese/keymap.c
Normal file
@@ -0,0 +1,61 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
// Each layer gets a name for readability.
|
||||
// The underscores don't mean anything - you can
|
||||
// have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same
|
||||
// length, and you can also skip them entirely
|
||||
// and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _LS 2
|
||||
#define _RS 3
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |FUNCTION| A| S| D| F| G| H| J| K| L| ;| '|Return|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |FN|Left|Up|Down|Right|
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_all(
|
||||
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_BSPC, KC_BSPC, \
|
||||
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, \
|
||||
MO(_FL), 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, \
|
||||
LM(_LS, MOD_LSFT), KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LM(_RS, MOD_RSFT), LM(_RS, MOD_RSFT), LM(_RS, MOD_RSFT), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FL), KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// Function Layer
|
||||
[_FL] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, KC_DEL, \
|
||||
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_CALC, KC_INS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \
|
||||
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END),
|
||||
|
||||
// Left Shift Layer
|
||||
[_LS] = LAYOUT_all(
|
||||
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_CAPS, KC_CAPS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
// Right Shift Layer
|
||||
[_RS] = LAYOUT_all(
|
||||
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
};
|
52
keyboards/xiudi/xd60/keymaps/crd_ansi/README.md
Normal file
52
keyboards/xiudi/xd60/keymaps/crd_ansi/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# ANSI Layout
|
||||
|
||||
This is the standard ANSI keymap that I use on all of my 60% boards. This keymap
|
||||
includes a single function layer available by holding the designated key on the
|
||||
bottom row.
|
||||
|
||||
I don't ever use Caps Lock, so that keycode is not mapped anywhere. In place of
|
||||
the usual Caps Lock key, I have the following bnehaviour encoded: Escape when tapped
|
||||
and Control when held.
|
||||
|
||||
I also have the bottom right mod cluster mapped to navigational direction keys when tapped.
|
||||
Shift = Up, Alt = Down, Ctrl = Right, Fn = Left. When held, these keys send the usual modifier
|
||||
signals.
|
||||
|
||||
```
|
||||
/* Base layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Esc/Ctrl| A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | ? | Shift |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | Alt | Cmd | Space | Cmd | Fn | Alt | Ctrl |
|
||||
* `-----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
While holding the function key, you have access to the following layout. Any key
|
||||
not indicated is considered "transparent" and sends the signal indicated in the
|
||||
layer below. This function later gets you dedicated access to Escape and Delete
|
||||
keys, function keys on numbers, WASD directions, other navigation, multimedia
|
||||
controls, RGB (underglow) controls, and firmware reset (DFU mode).
|
||||
|
||||
```
|
||||
/* Fn layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Home| Up | End | | | | | Mute| | | Pg+ | Pg- | Reset |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Left| Down|Right| | | |Brt- |Vol- |Vol+ |Brt+ | | RGB Toggle |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | | | | |R(Bt-)|R(Bt+)|R(Rot)| |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
```
|
30
keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c
Normal file
30
keyboards/xiudi/xd60/keymaps/crd_ansi/keymap.c
Normal file
@@ -0,0 +1,30 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keyboard_layers {
|
||||
_BL = 0, // Base Layer
|
||||
_FL // Function Layer
|
||||
};
|
||||
|
||||
// Custom #defined keycodes (shorter macros for readability)
|
||||
#define KC_CTES CTL_T(KC_ESC)
|
||||
#define KC_RSUP RSFT_T(KC_UP)
|
||||
#define KC_FNLT LT(_FL, KC_LEFT)
|
||||
#define KC_RADN RALT_T(KC_DOWN)
|
||||
#define KC_RCRT RCTL_T(KC_RIGHT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_BSPC,
|
||||
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,
|
||||
KC_CTES, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSUP,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_FNLT, KC_RADN, KC_RCRT
|
||||
),
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
KC_ESC, 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_DEL,
|
||||
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, RGB_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
26
keyboards/xiudi/xd60/keymaps/default/keymap.c
Normal file
26
keyboards/xiudi/xd60/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
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_BSPC, KC_GRV, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, 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, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
RESET, 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, \
|
||||
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, \
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDOWN,KC_END),
|
||||
|
||||
};
|
||||
|
||||
// Loop
|
||||
void matrix_scan_user(void) {
|
||||
// Empty
|
||||
};
|
13
keyboards/xiudi/xd60/keymaps/default/readme.md
Normal file
13
keyboards/xiudi/xd60/keymaps/default/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Default Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||

|
||||
|
||||
## Additional Notes
|
||||
Default Keymap for XD60 as indicated on the original sale page.
|
||||
|
||||
## Build
|
||||
|
||||
To build the default keymap, simply run:
|
||||
|
||||
make xd60/rev2:default # XD60 rev2
|
||||
make xd60/rev3:default # XD60 rev3
|
22
keyboards/xiudi/xd60/keymaps/edulpn/keymap.c
Normal file
22
keyboards/xiudi/xd60/keymaps/edulpn/keymap.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_GRV, 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_BSPC, KC_NO, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSHIFT, KC_NO, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_RGUI, KC_RCTL),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
KC_ESC, 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_DEL, KC_NO, \
|
||||
KC_NO, KC_NO, KC_UP, KC_NO, KC_INSERT, KC_HOME, KC_PGUP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, KC_END, KC_PGDN, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_RGUI, KC_RCTL),
|
||||
|
||||
};
|
9
keyboards/xiudi/xd60/keymaps/edulpn/readme.md
Normal file
9
keyboards/xiudi/xd60/keymaps/edulpn/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Edulpn Keymap for the XD60 PCB
|
||||
|
||||
## Additional Notes
|
||||
60% Keymap for XD60 with GH60 ANSI layout (based on Supercoffe's keymap) + customized Fn layer.
|
||||
|
||||

|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60:edulpn`.
|
22
keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c
Normal file
22
keyboards/xiudi/xd60/keymaps/edulpn64/keymap.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_GRV, 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_BSPC, KC_BSPC, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, 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, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
KC_ESC, 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_BSPC, KC_BSPC, \
|
||||
KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK,KC_PAUS, RGB_RMOD,RGB_MOD, RGB_VAD, RGB_VAI, \
|
||||
KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME,KC_PGUP, RGB_HUD, RGB_HUI, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_NO, KC_RSFT, KC_UP, KC_DEL, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
};
|
9
keyboards/xiudi/xd60/keymaps/edulpn64/readme.md
Normal file
9
keyboards/xiudi/xd60/keymaps/edulpn64/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Edulpn64 Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||

|
||||
|
||||
## Additional Notes
|
||||
This keymap uses the Default XD60 base layer, but follows the GK64 function layer (one of my XD60 boards use GK64 keycaps).
|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60:edulpn64`.
|
10
keyboards/xiudi/xd60/keymaps/fvolpe83/config.h
Executable file
10
keyboards/xiudi/xd60/keymaps/fvolpe83/config.h
Executable file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
/* Changes the number of taps required for layer toggle*/
|
||||
#define TAPPING_TOGGLE 3
|
||||
|
||||
/* The RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_SLEEP
|
||||
|
||||
// lighting layers
|
||||
#define RGBLIGHT_LAYERS
|
78
keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
Executable file
78
keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c
Executable file
@@ -0,0 +1,78 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_GESC, 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,
|
||||
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_NO,
|
||||
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_PSCR,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_NO, TT(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_ESC, 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_NO, KC_DEL,
|
||||
KC_TAB, KC_INS, KC_DEL, KC_UP, KC_PGUP, KC_PGDN, KC_NO, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_PSCR, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, MO(2),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_NO, KC_TRNS, KC_RCTL),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
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, RESET,
|
||||
KC_NO, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_INC, BL_DEC, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_NO, KC_NO,
|
||||
KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)
|
||||
};
|
||||
|
||||
const rgblight_segment_t PROGMEM my_0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 6, HSV_CYAN},
|
||||
{6, 6, HSV_BLUE}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM my_1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{1, 4, HSV_GREEN},
|
||||
{7, 4, HSV_GREEN}
|
||||
);
|
||||
const rgblight_segment_t PROGMEM my_2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{1, 4, HSV_PURPLE},
|
||||
{7, 4, HSV_PURPLE}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM my_caps_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 1, HSV_RED},
|
||||
{5, 1, HSV_RED},
|
||||
{6, 1, HSV_RED},
|
||||
{11, 1, HSV_RED}
|
||||
);
|
||||
|
||||
// Now define the array of layers. Later layers take precedence
|
||||
const rgblight_segment_t* const PROGMEM my_layers[] = RGBLIGHT_LAYERS_LIST(
|
||||
my_0_layer,
|
||||
my_1_layer,
|
||||
my_2_layer,
|
||||
my_caps_layer
|
||||
);
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Enable the LED layers
|
||||
rgblight_layers = my_layers;
|
||||
layer_state_set_user(layer_state);
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
rgblight_set_layer_state(0, layer_state_cmp(state, 0));
|
||||
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
|
||||
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
|
||||
return state;
|
||||
};
|
||||
|
||||
bool led_update_user(led_t led_state) {
|
||||
rgblight_set_layer_state(3, led_state.caps_lock);
|
||||
return true;
|
||||
};
|
||||
|
||||
/* // EEPROM Reset Function
|
||||
void eeconfig_init_user(void) {
|
||||
backlight_enable(); // Enable backlight by default
|
||||
rgblight_enable(); // Enable RGB by default
|
||||
rgblight_sethsv(HSV_BLUE); // Set it to orange by default
|
||||
}; */
|
33
keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md
Executable file
33
keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md
Executable file
@@ -0,0 +1,33 @@
|
||||
# fvolpe83's keymap for XIUDI's 60% XD60 PCB rev3
|
||||
|
||||
3 layers in ISO:
|
||||
|
||||
- 0 for ISO querty with split backspace and split right shift
|
||||
- 1 for arrows and mouse
|
||||
- 2 for backlight
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
## Additional Notes
|
||||
|
||||
RGB lighting enabled and goes to sleep with the host, each layer has its own color, caps layer is still there (can be enabled via software) but acts as FN
|
||||
|
||||
- 0 = cyan/blue
|
||||
- caps = red
|
||||
- 1 = green
|
||||
- 2 = purple
|
||||
|
||||
tapping toggle has been defined to 3 in the separate config.h
|
||||
|
||||
via has been enabled
|
||||
|
||||
## Build
|
||||
|
||||
To build the keymap, simply run:
|
||||
|
||||
make xd60/rev3:fvolpe83 # XD60 rev3
|
||||
|
||||
|
||||

|
1
keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk
Executable file
1
keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk
Executable file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
33
keyboards/xiudi/xd60/keymaps/iso/keymap.c
Normal file
33
keyboards/xiudi/xd60/keymaps/iso/keymap.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_BL,
|
||||
_FL,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//,: Base Layer
|
||||
[_BL] = LAYOUT_60_iso(
|
||||
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_BSPC,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
|
||||
),
|
||||
|
||||
//,: Function Layer
|
||||
[_FL] = LAYOUT_60_iso(
|
||||
RESET, 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_DEL,
|
||||
XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DEC, BL_INC,
|
||||
XXXXXXX, KC_MPLY, KC_MSTP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT,
|
||||
KC_LSFT, RGB_TOG, RGB_MOD, KC_CUT, KC_COPY, KC_PSTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
// Loop
|
||||
void matrix_scan_user(void) {
|
||||
// Empty
|
||||
};
|
20
keyboards/xiudi/xd60/keymaps/iso/readme.md
Normal file
20
keyboards/xiudi/xd60/keymaps/iso/readme.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# iso Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||
iso Keymap for XD60.
|
||||
|
||||
## Keymap
|
||||
|
||||
### Base Layer
|
||||
|
||||

|
||||
|
||||
### Function Layer
|
||||
|
||||

|
||||
|
||||
## Build
|
||||
|
||||
To build the default keymap, simply run:
|
||||
|
||||
make xd60/rev2:iso # XD60 rev2
|
||||
make xd60/rev3:iso # XD60 rev3
|
44
keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
Normal file
44
keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c
Normal file
@@ -0,0 +1,44 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "backlight.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_LEAD, 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, \
|
||||
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, \
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DOT, KC_ENT, \
|
||||
KC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSPC, KC_RGUI, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
RESET, 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, \
|
||||
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, MO(1), KC_NO, KC_NO, KC_NO, KC_NO),
|
||||
|
||||
};
|
||||
|
||||
// Loop
|
||||
void matrix_scan_user(void) {
|
||||
static uint8_t old_layer = 255;
|
||||
uint8_t new_layer = biton32(layer_state);
|
||||
|
||||
if (old_layer != new_layer) {
|
||||
switch (new_layer) {
|
||||
case 0:
|
||||
rgblight_mode(1);
|
||||
rgblight_setrgb(0xFF, 0xFF, 0xFF);
|
||||
break;
|
||||
case 1:
|
||||
rgblight_mode(18);
|
||||
rgblight_setrgb(0x00, 0xFF, 0xFF);
|
||||
break;
|
||||
}
|
||||
|
||||
old_layer = new_layer;
|
||||
}
|
||||
};
|
18
keyboards/xiudi/xd60/keymaps/kmontag42/readme.md
Normal file
18
keyboards/xiudi/xd60/keymaps/kmontag42/readme.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# KMontag42's XD60/XD64 Keymap and Layout
|
||||
|
||||
[](http://spacemacs.org)
|
||||
|
||||
## Additional Notes
|
||||
This layout is WIP for me as I use my shiny new keyboard more and more. I will work to keep this updated.
|
||||
|
||||
## Notable features
|
||||
* Arrows only on the bottom row
|
||||
** i prefer vim style movement, so this works well for me
|
||||
* Layer based RGB lighting
|
||||
** i use rgb lights to determine what layer is currently active
|
||||
* Maximum key usage
|
||||
** unless someone tells me otherwise, I believe this is the maximum number of keys the board can support without PCB modding
|
||||
* I use emacs, which could account for some of the oddities in my layout and macros
|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60:kmontag42`.
|
1
keyboards/xiudi/xd60/keymaps/kmontag42/rules.mk
Normal file
1
keyboards/xiudi/xd60/keymaps/kmontag42/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
LEADER_ENABLE = yes
|
22
keyboards/xiudi/xd60/keymaps/krusli/keymap.c
Normal file
22
keyboards/xiudi/xd60/keymaps/krusli/keymap.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
#define _BASE 0
|
||||
#define _FN 1
|
||||
|
||||
/* HHKB-like layout for standard 60% layout with split RShift */
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_all(
|
||||
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_BSPC, _______, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, _______, KC_APP, KC_RCTL),
|
||||
|
||||
[_FN] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, _______, \
|
||||
RESET, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_INS, \
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_NO, _______, \
|
||||
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
7
keyboards/xiudi/xd60/keymaps/krusli/readme.md
Normal file
7
keyboards/xiudi/xd60/keymaps/krusli/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# krusli's Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||
## Additional Notes
|
||||
Keymap for the XD60 (ANSI) with 2.25u left shift, split right shift. HHKB-like function layer.
|
||||
|
||||
## Build
|
||||
To build this keymap, simply run `make xd60:krusli` on the top-level directory for QMK.
|
1
keyboards/xiudi/xd60/keymaps/melka/.gitignore
vendored
Normal file
1
keyboards/xiudi/xd60/keymaps/melka/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
passwd.h
|
20
keyboards/xiudi/xd60/keymaps/melka/config.h
Normal file
20
keyboards/xiudi/xd60/keymaps/melka/config.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#if __GNUC__ > 5
|
||||
# if __has_include("passwd.h")
|
||||
# include "passwd.h"
|
||||
# endif // if file exists
|
||||
#endif // __GNUC__
|
||||
|
||||
#ifndef PASSWORD_A
|
||||
#define PASSWORD_A "1234567890"
|
||||
#endif
|
||||
|
||||
#ifndef PASSWORD_B
|
||||
#define PASSWORD_B "pass123"
|
||||
#endif
|
||||
|
||||
#define RGBLIGHT_LAYERS
|
||||
|
||||
#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_5
|
||||
#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_MINS
|
165
keyboards/xiudi/xd60/keymaps/melka/keymap.c
Normal file
165
keyboards/xiudi/xd60/keymaps/melka/keymap.c
Normal file
@@ -0,0 +1,165 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/*
|
||||
Security Note: While it is possible to use macros to send passwords, credit card numbers,
|
||||
and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
|
||||
of your keyboard will be able to access that information by opening a text editor.
|
||||
*/
|
||||
enum custom_keycodes
|
||||
{
|
||||
PASS_A = SAFE_RANGE,
|
||||
PASS_B
|
||||
};
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_melka( \
|
||||
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, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48) \
|
||||
{ \
|
||||
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
|
||||
{K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___}, \
|
||||
{K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D}, \
|
||||
{K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3E, K3D}, \
|
||||
{K40, K41, K42, ___, ___, K43, ___, K3C, K46, K0E, K44, K45, K47, K48} \
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// 0: Base Layer
|
||||
LAYOUT_melka(
|
||||
KC_NUBS, 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_DEL, KC_BSPC,
|
||||
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_ENT,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
|
||||
MT(KC_LSFT, KC_5), KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(KC_RSFT, KC_MINS), KC_UP, MO(1),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_melka(
|
||||
KC_ESC, 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_WH_U, KC_UP, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
|
||||
TO(2), TO(3), _______, KC_APP, BL_STEP, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE),
|
||||
|
||||
// 2: RGB Layer
|
||||
LAYOUT_melka(
|
||||
RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, RESET,
|
||||
_______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
TO(0), _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, PASS_A, PASS_B, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
// 3: Keypad Layer
|
||||
LAYOUT_melka(
|
||||
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, TO(0),
|
||||
_______, _______, _______, _______, KC_P0, KC_P0, KC_PDOT, KC_PENT, _______)
|
||||
};
|
||||
|
||||
// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
|
||||
const rgblight_segment_t PROGMEM rgb_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{2, 4, HSV_RED}, // Light 4 LEDs, starting with LED 6
|
||||
{6, 4, HSV_RED} // Light 4 LEDs, starting with LED 12
|
||||
);
|
||||
// Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
|
||||
const rgblight_segment_t PROGMEM rgb_function_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{9, 2, HSV_CYAN}
|
||||
);
|
||||
// Light LEDs 11 & 12 in purple when keyboard layer 2 is active
|
||||
const rgblight_segment_t PROGMEM rgb_backlight_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{10, 2, HSV_PURPLE}
|
||||
);
|
||||
const rgblight_segment_t PROGMEM rgb_keypad_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{4, 4, HSV_RED}
|
||||
);
|
||||
// Now define the array of layers. Later layers take precedence
|
||||
const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
|
||||
rgb_capslock_layer,
|
||||
rgb_function_layer,
|
||||
rgb_backlight_layer, // Overrides caps lock layer
|
||||
rgb_keypad_layer // Overrides other layers
|
||||
);
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Both layers will light up if both kb layers are active
|
||||
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
|
||||
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
|
||||
return state;
|
||||
}
|
||||
|
||||
bool led_update_user(led_t led_state) {
|
||||
rgblight_set_layer_state(0, led_state.caps_lock);
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Enable the LED layers
|
||||
rgblight_layers = rgb_layers;
|
||||
}
|
||||
// Loop
|
||||
void matrix_scan_user(void) {
|
||||
// Empty
|
||||
};
|
||||
|
||||
static bool control_disabled = false;
|
||||
static bool delete_pressed = false;
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
if (keycode == KC_BSPC)
|
||||
{
|
||||
if (record->event.pressed)
|
||||
{
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LCTL))
|
||||
{
|
||||
delete_pressed = true;
|
||||
control_disabled = true;
|
||||
unregister_code(KC_LCTL);
|
||||
register_code(KC_DEL);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (delete_pressed)
|
||||
{
|
||||
delete_pressed = false;
|
||||
unregister_code(KC_DEL);
|
||||
|
||||
if (control_disabled)
|
||||
{
|
||||
control_disabled = false;
|
||||
register_code(KC_LCTL);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (keycode == KC_LCTL && !record->event.pressed && delete_pressed)
|
||||
{
|
||||
delete_pressed = false;
|
||||
control_disabled = false;
|
||||
unregister_code(KC_DEL);
|
||||
register_code(KC_BSPC);
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (keycode)
|
||||
{
|
||||
case PASS_A:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING(PASSWORD_A "\n");
|
||||
}
|
||||
break;
|
||||
case PASS_B:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING(PASSWORD_B "\n");
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
10
keyboards/xiudi/xd60/keymaps/melka/passwd_template.h
Normal file
10
keyboards/xiudi/xd60/keymaps/melka/passwd_template.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
To define your password, rename this file to passwd.h and edit the defines below.
|
||||
|
||||
Security Note: While it is possible to use macros to send passwords, credit card numbers,
|
||||
and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
|
||||
of your keyboard will be able to access that information by opening a text editor.
|
||||
*/
|
||||
|
||||
#define PASSWORD_A "enter your first password here"
|
||||
#define PASSWORD_B "second password if you need"
|
21
keyboards/xiudi/xd60/keymaps/melka/readme.md
Normal file
21
keyboards/xiudi/xd60/keymaps/melka/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# melka's keymap for XIUDI's 60% XD60 rev3 PCB
|
||||
|
||||
## Additional Notes
|
||||
Custom Keymap for XD60 rev3. French Mac layout.
|
||||
|
||||
## Security Note
|
||||
This keymap includes macros for entering passwords.
|
||||
|
||||
While it is possible to use macros to send passwords, credit card numbers,
|
||||
and other sensitive information it is a supremely bad idea to do so. Anyone who gets a hold
|
||||
of your keyboard will be able to access that information by opening a text editor.
|
||||
|
||||
Use this functionnality at your own risk.
|
||||
|
||||
To define your password, rename passwd_template.h file to passwd.h and edit the defines inside.
|
||||
|
||||
## Build
|
||||
|
||||
To build this keymap, simply run:
|
||||
|
||||
make xd60/rev3:melka # XD60 rev3
|
26
keyboards/xiudi/xd60/keymaps/petesmom/README.md
Normal file
26
keyboards/xiudi/xd60/keymaps/petesmom/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# pete's mom Layout
|
||||
|
||||
Customized xd60 keymap based on yuuki's but a step sideways with Mac support. For Pete on his 40th
|
||||
|
||||
## Programming Instructions
|
||||
|
||||
Change the layout in `keymap.c` then run `make xd60-petesmom`. The compiled file will be located in `.build/xd60_petesmom.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run:
|
||||
|
||||
* `sudo dfu-programmer atmega32u4 erase`
|
||||
* `sudo dfu-programmer atmega32u4 flash .build/xd60-petesmom.hex`
|
||||
* `sudo dfu-programmer atmega32u4 start`
|
||||
|
||||
## Layout
|
||||
|
||||
See `keymap.c` for the details, but here are the important features:
|
||||
|
||||
| Key | Function |
|
||||
| -------------------------- | ---------------------------------- |
|
||||
| ESC | ESC when pressed alone but acts as ~ when pressed with Shift or LGUI down |
|
||||
| FN + ESC | Grave |
|
||||
| Right Shift | When tapped generates / |
|
||||
| FN + HJKL | Arrow Keys |
|
||||
| FN + C | ^ |
|
||||
| FN + V | & |
|
||||
| FN + , . RShift | Mac Vol - + Mute |
|
||||
| FN + P [ ] \ | Mac Play/Pause, Prev Track, Next Track, Stop |
|
28
keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
Normal file
28
keyboards/xiudi/xd60/keymaps/petesmom/keymap.c
Normal file
@@ -0,0 +1,28 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0
|
||||
#define FN 1
|
||||
|
||||
#define CTL_SLSH CTL_T(KC_SLSH)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
[BASE] = LAYOUT_all(
|
||||
KC_GESC, 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_BSPC, KC_BSPC, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, RSFT_T(KC_SLASH), KC_UP, KC_RCTL, \
|
||||
CTL_SLSH, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(FN), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
// 1: Function Layer
|
||||
[FN] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, KC_DEL, \
|
||||
KC_TRNS, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MRWD, KC_MFFD, KC_MSTP, \
|
||||
KC_TRNS, RGB_TOG, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \
|
||||
KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS,KC__VOLDOWN,KC__VOLUP,KC_NO, KC__MUTE,KC_PGUP, RESET, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN,KC_END
|
||||
),
|
||||
|
||||
};
|
2
keyboards/xiudi/xd60/keymaps/rooski/instructions.txt
Normal file
2
keyboards/xiudi/xd60/keymaps/rooski/instructions.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
cd c:/QMK
|
||||
make xd60 / / / / / / / /
|
57
keyboards/xiudi/xd60/keymaps/rooski/keymap.c
Normal file
57
keyboards/xiudi/xd60/keymaps/rooski/keymap.c
Normal file
@@ -0,0 +1,57 @@
|
||||
// XD60 Rev 2.0
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
//#include "action_tapping.h"
|
||||
#include "backlight.h"
|
||||
|
||||
// Define tapping term
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
// Layer definitions~
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _LK 2
|
||||
|
||||
// RShift TapHold
|
||||
#define RSTT MT(MOD_RSFT, KC_SLSH)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* | Caps | A| S| D| F| G| H| J| K| L| ;| '| Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .|Shift| Up |Del |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Ctrl|Fn| LT| DN | RT |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
// 0: Base Layer
|
||||
[_BL] = LAYOUT_all(
|
||||
KC_GESC, 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_BSPC, KC_BSPC, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, XXXXXXX, RSTT, KC_UP, KC_DEL, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
[_FL] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, KC_DEL, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(_LK), _______, KC_HOME, _______, KC_END),
|
||||
|
||||
// 2: Lighting Keys
|
||||
[_LK] = LAYOUT_all(
|
||||
TO(_BL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RESET, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
RESET , KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, RGB_VAI, BL_STEP, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(_BL), XXXXXXX, RGB_TOG, RGB_VAD, RGB_MOD),
|
||||
|
||||
};
|
24
keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c
Normal file
24
keyboards/xiudi/xd60/keymaps/semicolonsnet/keymap.c
Normal file
@@ -0,0 +1,24 @@
|
||||
/* Copyright 2021 Chase Nordengren
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(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_BSPC, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1), 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, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_SLSH), KC_UP, KC_DEL, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[1] = LAYOUT_all(KC_GRV, 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, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCAG(KC_SCLN), LCAG(KC_QUOT), KC_NO, KC_TRNS, KC_TRNS, KC_NO, LCAG(KC_Z), LCAG(KC_X), LCAG(KC_ASTR), LCAG(KC_V), LCAG(KC_B), LCAG(KC_N), LCAG(KC_M), LCAG(KC_COMM), KC_INS, KC_DEL, KC_TRNS, KC_PGUP, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, LCAG(KC_SPC), KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END)
|
||||
};
|
||||
|
||||
// Loop
|
13
keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md
Normal file
13
keyboards/xiudi/xd60/keymaps/semicolonsnet/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Semicolonsnet Keymap for XIUDI's 60% XD60 PCB
|
||||
|
||||

|
||||
|
||||
## Additional Notes
|
||||
Custom Keymap for XD60 - uses a META key and lots of shortcut keys that are later software controlled
|
||||
|
||||
## Build
|
||||
|
||||
To build the default keymap, simply run:
|
||||
|
||||
make xd60/rev2:default # XD60 rev2
|
||||
make xd60/rev3:default # XD60 rev3
|
34
keyboards/xiudi/xd60/keymaps/split_bksp_arrows/keymap.c
Normal file
34
keyboards/xiudi/xd60/keymaps/split_bksp_arrows/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Ins|
|
||||
* |-----------------------------------------------------------|
|
||||
* | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| Bksp|
|
||||
* |-----------------------------------------------------------|
|
||||
* | Fn| A| S| D| F| G| H| J| K| L| ;| '| Return|
|
||||
* |-----------------------------------------------------------|
|
||||
* | Shift| Z| X| C| V| B| N| M| ,| .| /| Up | Del|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl| Alt| Super| Space |Caps| Shft| LT| DN| RT|
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_INS, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, \
|
||||
KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SLSH, KC_UP, KC_DEL, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_CAPS, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
KC_GRV, 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_TRNS, KC_TRNS, \
|
||||
KC_TRNS, BL_TOGG, BL_STEP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_DEL, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN, KC_END),
|
||||
|
||||
};
|
8
keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md
Normal file
8
keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md
Normal file
@@ -0,0 +1,8 @@
|
||||
## Instructions
|
||||
make xd60:split_bksp_arrows
|
||||
|
||||
## Layout
|
||||

|
||||
|
||||
## KLE Link
|
||||
http://www.keyboard-layout-editor.com/#/gists/5bb96ed3f4974bf74b1c448c8349d01f
|
30
keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
Normal file
30
keyboards/xiudi/xd60/keymaps/stanleylai/keymap.c
Normal file
@@ -0,0 +1,30 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||
MO(1), 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, \
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), KC_UP, KC_DEL, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
RESET, 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, \
|
||||
KC_CAPS, KC_MPRV, KC_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, \
|
||||
MO(1), KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_INS, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_MPLY, KC_RGUI, KC_RALT, KC_HOME, KC_PGDOWN,KC_END),
|
||||
|
||||
// 2: RGB Layer
|
||||
LAYOUT_all(
|
||||
KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, RGB_HUD, RGB_SAD, RGB_VAD,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
|
||||
|
||||
};
|
56
keyboards/xiudi/xd60/keymaps/styr/keymap.c
Normal file
56
keyboards/xiudi/xd60/keymaps/styr/keymap.c
Normal file
@@ -0,0 +1,56 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _LL 2
|
||||
|
||||
enum custom_keycodes {
|
||||
MACRO_STRING
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
[_BL] = LAYOUT_all(
|
||||
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, \
|
||||
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, \
|
||||
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, \
|
||||
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, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(_FL), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
[_FL] = LAYOUT_all(
|
||||
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, \
|
||||
XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, MACRO_STRING, XXXXXXX, F(0), KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT),
|
||||
|
||||
[_LL] = LAYOUT_all(
|
||||
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, \
|
||||
XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC__MUTE, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MPLY, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, F(0), KC_MRWD, KC_VOLD, KC_MFFD),
|
||||
|
||||
|
||||
};
|
||||
|
||||
// Macros
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case MACRO_STRING:
|
||||
if(record->event.pressed){
|
||||
SEND_STRING("My Custom String");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Loop
|
||||
void matrix_scan_user(void) {
|
||||
// Empty
|
||||
};
|
7
keyboards/xiudi/xd60/keymaps/styr/readme.md
Normal file
7
keyboards/xiudi/xd60/keymaps/styr/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Keyboard Layout by Styr
|
||||
|
||||
## Additional Notes
|
||||
Default Keymap for XD60 as indicated on the original sale page.
|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60/rev3:styr`.
|
22
keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c
Normal file
22
keyboards/xiudi/xd60/keymaps/supercoffee/keymap.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
LAYOUT_all(
|
||||
KC_GRV, 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_BSPC, KC_NO, \
|
||||
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, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSHIFT, KC_NO, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL),
|
||||
|
||||
// 1: Function Layer
|
||||
LAYOUT_all(
|
||||
KC_ESC, 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, \
|
||||
KC_NO, KC_NO, KC_UP, KC_END, KC_NO, KC_NO, KC_CALC, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, \
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_NO, KC_ENT, \
|
||||
KC_LSFT, KC_NO, KC_NO, KC_DEL, BL_STEP,KC_NO, KC_NO, KC_VOLD, KC_VOLU,KC_MUTE, KC_NO, KC_PGDN, KC_RSFT, KC_NO, KC_NO, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_NO, KC_RGUI, KC_RCTL),
|
||||
|
||||
};
|
9
keyboards/xiudi/xd60/keymaps/supercoffee/readme.md
Normal file
9
keyboards/xiudi/xd60/keymaps/supercoffee/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Supercoffee Keymap for DeskCandy 60% XD60 PCB
|
||||
|
||||

|
||||
|
||||
## Additional Notes
|
||||
60% Keymap for XD60 with GH60 ANSI layout. Arrow keys mapped to WASD in function layer.
|
||||
|
||||
## Build
|
||||
To build the default keymap, simply run `make xd60:supercoffee`.
|
16
keyboards/xiudi/xd60/keymaps/suryanisaac/README.md
Normal file
16
keyboards/xiudi/xd60/keymaps/suryanisaac/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# suryanisaac's layout
|
||||
|
||||
Just my custom layout, works really well for me so hopefully you guys like it.
|
||||
|
||||
## Features:
|
||||
|
||||
- Arrow keys on IJKL on Layer 1
|
||||
- Layer 1 toggle is the Caps Lock (No one likes caps lock)
|
||||
- Nav keys close to arrow keys, good for programming
|
||||
- Non-convoluted media control
|
||||
- For Mac or Linux with Kinto
|
||||
- Left and Right brackets on left shift and right shift
|
||||
- Layer 1 has F1 to F12 on number keys
|
||||
|
||||
|
||||
Pictures Available Here: https://imgur.com/a/7UzkhOu
|
29
keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
Normal file
29
keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* Copyright 2021 Suryan Isaac
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/* THIS FILE WAS GENERATED!
|
||||
*
|
||||
* This file was generated by qmk json2c. You may or may not want to
|
||||
* edit it directly.
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_60_ansi(KC_GESC, 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_BSPC, 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, MO(1), 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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, TG(1)),
|
||||
[1] = LAYOUT_60_ansi(RESET, 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_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
|
35
keyboards/xiudi/xd60/keymaps/via/keymap.c
Normal file
35
keyboards/xiudi/xd60/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,35 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
[0] = LAYOUT_all(
|
||||
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_BSPC, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, 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,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
// 1: Function Layer
|
||||
[1] = LAYOUT_all(
|
||||
RESET, 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,
|
||||
KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL,
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, _______, KC_HOME, KC_PGDOWN,KC_END),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
};
|
1
keyboards/xiudi/xd60/keymaps/via/readme.md
Normal file
1
keyboards/xiudi/xd60/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The VIA default layout
|
1
keyboards/xiudi/xd60/keymaps/via/rules.mk
Normal file
1
keyboards/xiudi/xd60/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
31
keyboards/xiudi/xd60/keymaps/yuuki/README.md
Normal file
31
keyboards/xiudi/xd60/keymaps/yuuki/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# yuuki's Layout
|
||||
|
||||
Customized xd60 keymap with inspirations from HHKB and the layout I used on my Vortex Core (a 40% keyboard).
|
||||
|
||||
## Programming Instructions
|
||||
|
||||
Change the layout in `keymap.c` then run `make xd60:yuuki`. The compiled file will be located in `.build/xd60_yuuki.hex` relative to the project root. To flash it onto your keyboard, use whatever program works on your OS. I personally use `dfu-programmer`, and run:
|
||||
|
||||
* reset keyboard by pressing the reset button on the back of the PCB
|
||||
* `sudo dfu-programmer atmega32u4 erase`
|
||||
* `sudo dfu-programmer atmega32u4 flash .build/xd60_yuuki.hex`
|
||||
* `sudo dfu-programmer atmega32u4 start`
|
||||
|
||||
## Layout
|
||||
|
||||

|
||||
|
||||
Upper row is default layer, bottom row is function layer. I Didn't include the symbols, such as @,# or $, as their placement is just as you'd expect it.
|
||||
|
||||
## Summary of Changes
|
||||
|
||||
| Key | Function |
|
||||
| -------------------------- | ---------------------------------- |
|
||||
| Capslock | Forward Slash when tapped and Left Control when held |
|
||||
| Left Control | Temporarily activate function layer |
|
||||
| FN + ESC | Grave |
|
||||
| Space Cadet Shift | Left Shift tapped writes ( and Right Shift tapped writes ) |
|
||||
| FN + HJKL | Arrow Keys |
|
||||
| Rightmost key in second row from bottom | Temporarily activate function layer |
|
||||
| FN + C | ^ |
|
||||
| FN + V | & (both for convenience as I use these keys a lot with VIM navigation and I find them hard reach) |
|
28
keyboards/xiudi/xd60/keymaps/yuuki/keymap.c
Normal file
28
keyboards/xiudi/xd60/keymaps/yuuki/keymap.c
Normal file
@@ -0,0 +1,28 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0
|
||||
#define FN 1
|
||||
|
||||
#define CTL_SLSH CTL_T(KC_SLSH)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0: Base Layer
|
||||
[BASE] = LAYOUT_all(
|
||||
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_BSPC, KC_BSPC, \
|
||||
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, \
|
||||
CTL_SLSH, 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, \
|
||||
KC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSPC, KC_UP, MO(FN), \
|
||||
MO(FN), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
// 1: Function Layer
|
||||
[FN] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, KC_DEL, \
|
||||
KC_TRNS, RGB_MOD, RGB_VAI, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, \
|
||||
KC_TRNS, RGB_TOG, RGB_VAD, KC_MUTE, KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \
|
||||
KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDOWN,KC_END
|
||||
),
|
||||
|
||||
};
|
17
keyboards/xiudi/xd60/readme.md
Normal file
17
keyboards/xiudi/xd60/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# XD60
|
||||
|
||||
Compact 60% with arrows.
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: QMK Community
|
||||
* Hardware Supported: XD60 PCB rev2 & rev3
|
||||
* Hardware Availability: [Drop.com](https://www.drop.com/buy/xd60-xd64-custom-mechanical-keyboard-kit?mode=guest_open), [KPRepublic on AliExpress](https://www.aliexpress.com/item/32814945677.html)
|
||||
* Schematic Availability: Public Domain [on EasyEDA](https://easyeda.com/langzisanshao/xd60)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make xd60/rev2:default # rev2
|
||||
make xd60/rev3:default # rev3
|
||||
|
||||
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).
|
0
keyboards/xiudi/xd60/rev2/.noci
Normal file
0
keyboards/xiudi/xd60/rev2/.noci
Normal file
71
keyboards/xiudi/xd60/rev2/config.h
Normal file
71
keyboards/xiudi/xd60/rev2/config.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x7844 // "XD"
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER XIUDI
|
||||
#define PRODUCT XD60v2
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
|
||||
/*
|
||||
* 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 { D0, D1, D2, D3, D5 }
|
||||
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* Backlight Setup */
|
||||
#define BACKLIGHT_PIN F5
|
||||
#define BACKLIGHT_LEVELS 6
|
||||
#define BACKLIGHT_ON_STATE 0
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* RGB Underglow
|
||||
* F6 PIN for XD60v2 that has pre-soldered WS2812 LEDs
|
||||
*/
|
||||
#define RGB_DI_PIN F6
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 6 // Number of LEDs
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
|
||||
/* 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
|
28
keyboards/xiudi/xd60/rev2/rules.mk
Normal file
28
keyboards/xiudi/xd60/rev2/rules.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift
|
71
keyboards/xiudi/xd60/rev3/config.h
Normal file
71
keyboards/xiudi/xd60/rev3/config.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
Copyright 2019 Rodrigo Feijao <hello@rodrigofeijao.com>
|
||||
|
||||
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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x7844 // "XD"
|
||||
#define PRODUCT_ID 0x6363
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER XIUDI
|
||||
#define PRODUCT XD60rev3
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
|
||||
/*
|
||||
* 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 { D0, D1, D2, D3, D5 }
|
||||
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* Backlight Setup */
|
||||
#define BACKLIGHT_PIN F5
|
||||
#define BACKLIGHT_LEVELS 6
|
||||
#define BACKLIGHT_ON_STATE 0
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* RGB Underglow
|
||||
* F6 PIN for XD60v3 that has pre-soldered LEDs
|
||||
*/
|
||||
#define RGB_DI_PIN F6
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 12
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
|
||||
/* 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
|
28
keyboards/xiudi/xd60/rev3/rules.mk
Normal file
28
keyboards/xiudi/xd60/rev3/rules.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift
|
33
keyboards/xiudi/xd60/xd60.c
Normal file
33
keyboards/xiudi/xd60/xd60.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "xd60.h"
|
||||
|
||||
|
||||
extern inline void xd60_caps_led_on(void);
|
||||
extern inline void xd60_bl_led_on(void);
|
||||
|
||||
extern inline void xd60_caps_led_off(void);
|
||||
extern inline void xd60_bl_led_off(void);
|
||||
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||
|
||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||
xd60_caps_led_on();
|
||||
} else {
|
||||
xd60_caps_led_off();
|
||||
}
|
||||
|
||||
// if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
||||
// xd60_esc_led_on();
|
||||
// } else {
|
||||
// xd60_esc_led_off();
|
||||
// }
|
||||
|
||||
// if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
|
||||
// xd60_fn_led_on();
|
||||
// } else {
|
||||
// xd60_fn_led_off();
|
||||
// }
|
||||
|
||||
led_set_user(usb_led);
|
||||
}
|
89
keyboards/xiudi/xd60/xd60.h
Normal file
89
keyboards/xiudi/xd60/xd60.h
Normal file
@@ -0,0 +1,89 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* XD60 LEDs
|
||||
* GPIO pads
|
||||
* 0 F7 not connected
|
||||
* 1 F6 RGB PWM Underglow
|
||||
* 2 F5 Backlight LED
|
||||
* 3 F4 not connected
|
||||
* B2 Capslock LED
|
||||
* B0 not connected
|
||||
*/
|
||||
inline void xd60_caps_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); }
|
||||
inline void xd60_bl_led_on(void) { DDRF |= (1<<5); PORTF &= ~(1<<5); }
|
||||
|
||||
inline void xd60_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
|
||||
inline void xd60_bl_led_off(void) { DDRF &= ~(1<<5); PORTF &= ~(1<<5); }
|
||||
|
||||
/* XD60 Keymap Definition Macro */
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K47, K3D, K3C, \
|
||||
K40, K41, K42, K45, K4A, K4B, K48, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, K47, K48, K49, K4A, K4B, K4C, K4D } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_ansi_split_bs_rshift( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
|
||||
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_iso( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_iso_split_bs_rshift( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
|
||||
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
|
||||
}
|
Reference in New Issue
Block a user