1
0
Fork 0
forked from forks/qmk_firmware

DracuLad: add Configurator data and rework layout macro (#12727)

* add info.json file

* refactor keymaps for readability

* rework layout macro

Arranges the layout macro and keycodes to resemble the physical layout.

* readme touch-up

Corrections to capitalization and spelling, and removal of extra white space.
This commit is contained in:
James Young 2021-04-29 11:25:30 -07:00 committed by GitHub
parent d3963a61cb
commit 8190a795ed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 138 additions and 70 deletions

View file

@ -25,7 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
L30, L31, L32, L33, R30, R31, R32, R33 \
L30, R33, \
L31, L32, L33, R30, R31, R32 \
) \
{ \
{ L00, L01, L02, L03, L04 }, \

View file

@ -0,0 +1,59 @@
{
"keyboard_name": "DracuLad",
"url": "",
"maintainer": "MangoIV",
"width": 13,
"height": 5.5,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"L00", "x":0, "y":1},
{"label":"L01", "x":1, "y":0.35},
{"label":"L02", "x":2, "y":0},
{"label":"L03", "x":3, "y":0.35},
{"label":"L04", "x":4, "y":0.5},
{"label":"R00", "x":8, "y":0.5},
{"label":"R01", "x":9, "y":0.35},
{"label":"R02", "x":10, "y":0},
{"label":"R03", "x":11, "y":0.35},
{"label":"R04", "x":12, "y":1},
{"label":"L10", "x":0, "y":2},
{"label":"L11", "x":1, "y":1.35},
{"label":"L12", "x":2, "y":1},
{"label":"L13", "x":3, "y":1.35},
{"label":"L14", "x":4, "y":1.5},
{"label":"R10", "x":8, "y":1.5},
{"label":"R11", "x":9, "y":1.35},
{"label":"R12", "x":10, "y":1},
{"label":"R13", "x":11, "y":1.35},
{"label":"R14", "x":12, "y":2},
{"label":"L20", "x":0, "y":3},
{"label":"L21", "x":1, "y":2.35},
{"label":"L22", "x":2, "y":2},
{"label":"L23", "x":3, "y":2.35},
{"label":"L24", "x":4, "y":2.5},
{"label":"R20", "x":8, "y":2.5},
{"label":"R21", "x":9, "y":2.35},
{"label":"R22", "x":10, "y":2},
{"label":"R23", "x":11, "y":2.35},
{"label":"R24", "x":12, "y":3},
{"label":"L30", "x":4.25, "y":3.5},
{"label":"R33", "x":7.75, "y":3.5},
{"label":"L31", "x":3, "y":4.5},
{"label":"L32", "x":4, "y":4.5},
{"label":"L33", "x":5, "y":4.5},
{"label":"R30", "x":7, "y":4.5},
{"label":"R31", "x":8, "y":4.5},
{"label":"R32", "x":9, "y":4.5}
]
}
}
}

View file

@ -30,35 +30,40 @@ enum layer_number {
char wpm_as_str[8];
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K , KC_L , KC_SCLN,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_MUTE, KC_LCTL, LALT_T(KC_BSPC), LT(_MUS, KC_SPC), LT(_NUM,KC_DEL), LT(_SYMB, KC_ENT), KC_CAPS, TG(_ADJ)
),
[_NUM] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, XXXXXXX, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP , KC_RIGHT , KC_QUOT,
KC_LSFT, XXXXXXX, XXXXXXX, KC_MUTE, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
XXXXXXX, XXXXXXX, KC_LALT, XXXXXXX, _______, KC_ENT, KC_NO, KC_NO
),
[_SYMB] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS,
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX , KC_GRV , KC_BSLS,
KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_NO, KC_NO
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_MUTE, TG(_ADJ),
KC_LCTL, LALT_T(KC_BSPC), LT(_MUS,KC_SPC), LT(_NUM,KC_DEL), LT(_SYMB,KC_ENT), KC_CAPS
),
[_NUM] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, XXXXXXX, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT,
KC_LSFT, XXXXXXX, XXXXXXX, KC_MUTE, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
XXXXXXX, KC_NO,
XXXXXXX, KC_LALT, XXXXXXX, _______, KC_ENT, KC_NO
),
[_SYMB] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS,
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX, KC_GRV, KC_BSLS,
KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
XXXXXXX, KC_NO,
KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_NO
),
[_MUS] = LAYOUT(
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1 , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX,
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJ] = LAYOUT(
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI , RGB_VAI , RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};

View file

@ -42,35 +42,40 @@ enum custom_keycodes {
char wpm_as_str[8];
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K , KC_L , KC_SCLN,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_MUTE, KC_LCTL, LALT_T(KC_BSPC), LT(_MUS, KC_SPC), KC_NO, LT(_NUM,KC_ENT), LT(_SYMB, KC_DEL), TG(_ADJ)
),
[_NUM] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP , KC_RIGHT , KC_QUOT,
KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
XXXXXXX, KC_LCTL, KC_LALT, XXXXXXX, KC_NO, _______, KC_ENT, KC_NO
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_MUTE, TG(_ADJ),
KC_LCTL, LALT_T(KC_BSPC), LT(_MUS,KC_SPC), KC_NO, LT(_NUM,KC_ENT), LT(_SYMB,KC_DEL)
),
[_SYMB] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS,
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX , KC_GRV , KC_BSLS,
KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, KC_NO, _______, KC_NO
[_NUM] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT,
KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
XXXXXXX, KC_NO,
KC_LCTL, KC_LALT, XXXXXXX, KC_NO, _______, KC_ENT
),
[_SYMB] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS,
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX, KC_GRV, KC_BSLS,
KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT,
XXXXXXX, KC_NO,
KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, KC_NO, _______
),
[_MUS] = LAYOUT(
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1 , BALL_SCR, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX,
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, BALL_SCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJ] = LAYOUT(
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI , RGB_VAI , RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX,
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};

View file

@ -3,31 +3,29 @@
![DracuLad](https://github.com/mangoiv/draculad/blob/master/pictures/rev1/both_sides_showcase.jpg?raw=true)
*A 34-36 key split keyboard*
- 36 keys, two of them can be replaced by rotary encoders making it support 34-36 keys and 2-4 encoders.
- bright RGB Underglow with ws2812b LEDs
- one ssd1306 OLED per side
- aggressive pinky stagger similar to the kyria but with an alternative thumb cluster to raise comfort for large hands
- support for mx and choc switches
- 36 keys, two of them can be replaced by rotary encoders making it support 34-36 keys and 2-4 encoders.
- bright RGB Underglow with WS2812B LEDs
- one SSD1306 OLED per side
- aggressive pinky stagger similar to the Kyria but with an alternative thumb cluster to raise comfort for large hands
- support for MX and Choc switches
* keyboard Maintainer: [MangoIV](https://github.com/MangoIV)
* Hardware Supported: [DracuLad PCBs and cases](https://github.com/MangoIV/dracuLad), [the pimoroni trackball](https://shop.pimoroni.com/products/trackball-breakout)
* Hardware availability: [check my github](https://github.com/MangoIV)
* Keyboard Maintainer: [MangoIV](https://github.com/MangoIV)
* Hardware Supported: [DracuLad PCBs and cases](https://github.com/MangoIV/dracuLad), [the Pimoroni trackball](https://shop.pimoroni.com/products/trackball-breakout)
* Hardware Availability: [MangoIV's GitHub](https://github.com/MangoIV/dracuLad)
Make example for this keyboard (after setting up your build env):
make draculad:default
or for the version using the pimoroni trackball
or for the version using the Pimoroni trackball:
make draculad:pimoroni
Flashing example for dfu and catarina respectively (replace default with the name of your keymap)
make draculad:default:dfu
make draculad:default:flash
When flashing the first time using handedness by eeprom, use the [qmk guide for that topic](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom)
Flashing example for DFU and Caterina respectively (replace `default` with the name of your keymap):
make draculad:default:dfu
make draculad:default:flash
When flashing the first time using handedness by EEPROM, use the [QMK guide for that topic](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom).
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).