diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h index 093d6680b..8917630e4 100644 --- a/keyboards/handwired/dactyl_manuform/config.h +++ b/keyboards/handwired/dactyl_manuform/config.h @@ -45,6 +45,13 @@ along with this program. If not, see . /* number of backlight levels */ // #define BACKLIGHT_LEVELS 3 +/* mouse config */ +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + /* Set 0 if debouncing isn't needed */ #define DEBOUNCING_DELAY 5 @@ -58,6 +65,9 @@ along with this program. If not, see . keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + /* ws2812 RGB LED */ #define RGB_DI_PIN D3 #define RGBLIGHT_TIMER diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index dc865bf64..3dc8405ff 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -18,39 +18,14 @@ //void promicro_bootloader_jmp(bool program); #ifndef FLIP_HALF - #define LAYOUT( \ 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, \ - L31, L32, R33, R34, \ - L33, L34, R31, R32, \ - L44, L42, R43, R41, \ - L43, L41, R44, R42 \ - ) \ - { \ - { L00, L01, L02, L03, L04 }, \ - { L10, L11, L12, L13, L14 }, \ - { L20, L21, L22, L23, L24 }, \ - { KC_NO, L31, L32, L33, L34 }, \ - { KC_NO, L41, L42, L43, L44 }, \ -\ - { R04, R03, R02, R01, R00 }, \ - { R14, R13, R12, R11, R10 }, \ - { R24, R23, R22, R21, R20 }, \ - { KC_NO, R34, R33, R32, R31 }, \ - { KC_NO, R44, R43, R42, R41 } \ - } -#else - -#define LAYOUT( \ - 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, \ - L31, L32, L33, L34, \ - R31, R32, R33, R34, \ - L41, L42, L43, L44, \ - R41, R42, R43, R44 \ + L31, L32, R32, R33, \ + L33, L34, R30, R31, \ + L44, L43, R41, R40, \ + L42, L41, R43, R42 \ ) \ { \ { L00, L01, L02, L03, L04 }, \ @@ -59,13 +34,36 @@ { KC_NO, L31, L32, L33, L34 }, \ { KC_NO, L41, L42, L43, L44 }, \ \ - { R00, R01, R02, R03, R04 }, \ - { R10, R11, R12, R13, R14 }, \ - { R20, R21, R22, R23, R24 }, \ - { KC_NO, R31, R32, R33, R34 }, \ - { KC_NO, R41, R42, R43, R44 } \ + { R04, R03, R02, R01, R00 }, \ + { R14, R13, R12, R11, R10 }, \ + { R24, R23, R22, R21, R20 }, \ + { KC_NO, R33, R32, R31, R30 }, \ + { KC_NO, R43, R42, R41, R40 } \ + } +#else +#define LAYOUT( \ + 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, \ + L31, L32, R32, R33, \ + L33, L34, R30, R31, \ + L44, L43, R41, R40, \ + L42, L41, R43, R42 \ + ) \ + { \ + { R04, R03, R02, R01, R00 }, \ + { R14, R13, R12, R11, R10 }, \ + { R24, R23, R22, R21, R20 }, \ + { KC_NO, R33, R32, R31, R30 }, \ + { KC_NO, R43, R42, R41, R40 }, \ +\ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { KC_NO, L31, L32, L33, L34 }, \ + { KC_NO, L41, L42, L43, L44 } \ +\ } - #endif #endif diff --git a/keyboards/handwired/dactyl_manuform/eeprom-lefthand.eep b/keyboards/handwired/dactyl_manuform/eeprom-lefthand.eep new file mode 100644 index 000000000..bda23cdb6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/eeprom-lefthand.eep @@ -0,0 +1,2 @@ +:0F000000000000000000000000000000000001F0 +:00000001FF diff --git a/keyboards/handwired/dactyl_manuform/eeprom-righthand.eep b/keyboards/handwired/dactyl_manuform/eeprom-righthand.eep new file mode 100644 index 000000000..549cd1ef0 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/eeprom-righthand.eep @@ -0,0 +1,2 @@ +:0F000000000000000000000000000000000000F1 +:00000001FF diff --git a/keyboards/handwired/dactyl_manuform/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/keymaps/default/keymap.c index 8847065f4..24c02215e 100644 --- a/keyboards/handwired/dactyl_manuform/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/keymaps/default/keymap.c @@ -5,59 +5,68 @@ extern keymap_config_t keymap_config; #define _BASE 0 -#define _NAV 1 -#define _NUM 2 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - NAV, - NUM, -}; +#define _RAISE 1 +#define _LOWER 2 // Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO + +#define ____ KC_TRNS + +#define SFT_ESC SFT_T(KC_ESC) +#define CTL_BSPC CTL_T(KC_BSPC) +#define ALT_SPC ALT_T(KC_SPC) +#define SFT_ENT SFT_T(KC_ENT) + +#define KC_ML KC_MS_LEFT +#define KC_MR KC_MS_RIGHT +#define KC_MU KC_MS_UP +#define KC_MD KC_MS_DOWN +#define KC_MB1 KC_MS_BTN1 +#define KC_MB2 KC_MS_BTN1 + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base (qwerty) * ,----------------------------------, ,----------------------------------, - * | Q | W | E | R | T | | Y | U | I | O | P | + * | q | w | e | r | t | | y | u | i | o | p | * |------+------+------+------+------| |-------------+------+------+------| - * | A | S | D | F | G | | H | J | K | L | ; | + * | a | s | d | f | g | | h | j | k | l | ; | * |------+------+------+------+------| |------|------+------+------+------| - * | Z | X | C | V | B | | N | M | , | . | ' | + * | z | x | c | v | b | | n | m | , | . | ' | * |------+------+------+-------------, ,-------------+------+------+------, * | [ | ] | | - | = | * '------+------'-------------' '-------------'------+------' - * | esc | bs | | space|enter | + * | ESC | BS | | SPACE|ENTER | * | + | + | | + | + | - * | shift| ctrl | | alt |shift | + * | SHIFT| CTRL | | ALT |SHIFT | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | - * |------+------' '------+------| - * |\(NAV)| ~ | | gui |/(NUM)| + * | TAB | HOME | | END | DEL | + * '------+------' '------+------' + * | Lower| ~ | | GUI | Raise| * '------+------' '------+------' */ [_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, \ - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, \ - KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \ - SFT_T(KC_ESC), CTL_T(KC_BSPC), ALT_T(KC_SPC), SFT_T(KC_ENT), \ - KC_TAB, KC_HOME, KC_END, KC_DEL, \ - LT(_NAV, KC_BSLS), KC_GRV, KC_LGUI, LT(_NUM, KC_SLSH) \ + 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, \ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, \ + KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \ + SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \ + KC_TAB, KC_HOME, KC_END, KC_DEL, \ + RAISE, KC_GRV, KC_LGUI, LOWER ), -/* Navigation layer +/* Raise * ,----------------------------------, ,----------------------------------, - * | | | mup | | | | | | up | | | + * | | | mup | | | | VOL+ | | up | | PgUp | * |------+------+------+------+------| |-------------+------+------+------| - * | | mleft| mdown|mright| | | | left | down |right | | + * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn | * |------+------+------+------+------| |------|------+------+------+------| - * | | | | | | | | | | | | + * | | | | | | | VOL- | / | \ | ? | | | * |------+------+------+-------------, ,-------------+------+------+------, * | | | | mbtn |mbtn2 | * '------+------'-------------' '-------------'------+------' @@ -66,22 +75,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | + * | | | | | | * '------+------' '------+------' - * |\(NAV)| ~ | | gui |/(NUM)| + * | | | | | | * '------+------' '------+------' */ -[_NAV] = LAYOUT( \ - KC_TRNS, KC_TRNS, KC_MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 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_MS_BTN1, KC_MS_BTN2, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +[_RAISE] = LAYOUT( \ + ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \ + ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \ + ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \ + ____, ____, KC_MB1, KC_MB2, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____ \ ), -/* Numbers layer +/* Lower * ,----------------------------------, ,----------------------------------, * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | * |------+------+------+------+------| |-------------+------+------+------| @@ -89,26 +98,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------| |------|------+------+------+------| * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | * |------+------+------+-------------, ,-------------+------+------+------, - * | F11 | F12 | | | | + * | F11 | F12 | | - | = | * '------+------'-------------' '-------------'------+------' * | | | | | | * | | | | | | * | | | | | | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | + * | | | | | | * '------+------' '------+------' - * |\(NAV)| ~ | | gui |/(NUM)| + * | | | | | | * '------+------' '------+------' */ -[_NUM] = LAYOUT( \ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, \ - KC_F11, KC_F12, 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 + +[_LOWER] = LAYOUT( \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ + KC_F11, KC_F12, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____ \ ) }; diff --git a/keyboards/handwired/dactyl_manuform/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl_manuform/keymaps/dvorak/keymap.c index bee15bfbe..0a1c90b6b 100644 --- a/keyboards/handwired/dactyl_manuform/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/dactyl_manuform/keymaps/dvorak/keymap.c @@ -5,24 +5,33 @@ extern keymap_config_t keymap_config; #define _BASE 0 -#define _NAV 1 -#define _NUM 2 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - NAV, - NUM, -}; +#define _RAISE 1 +#define _LOWER 2 // Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO + +#define ____ KC_TRNS + +#define SFT_ESC SFT_T(KC_ESC) +#define CTL_BSPC CTL_T(KC_BSPC) +#define ALT_SPC ALT_T(KC_SPC) +#define SFT_ENT SFT_T(KC_ENT) + +#define KC_ML KC_MS_LEFT +#define KC_MR KC_MS_RIGHT +#define KC_MU KC_MS_UP +#define KC_MD KC_MS_DOWN +#define KC_MB1 KC_MS_BTN1 +#define KC_MB2 KC_MS_BTN1 + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base (dvorak) * ,----------------------------------, ,----------------------------------, - * | ' | , | . | p | y | | f | g | c | r | l | + * | ' | , | . | p | y | | f | g | c | r | l | * |------+------+------+------+------| |-------------+------+------+------| * | a | o | e | u | i | | d | h | t | n | s | * |------+------+------+------+------| |------|------+------+------+------| @@ -30,14 +39,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+-------------, ,-------------+------+------+------, * | [ | ] | | - | = | * '------+------'-------------' '-------------'------+------' - * | esc | bs | | space|enter | + * | ESC | BS | | SPACE|ENTER | * | + | + | | + | + | - * | shift| ctrl | | alt |shift | + * | SHIFT| CTRL | | ALT |SHIFT | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | - * |------+------' '------+------| - * |\(NAV)| ~ | | gui |/(NUM)| + * | TAB | HOME | | END | DEL | + * '------+------' '------+------' + * | Lower| ~ | | GUI | Raise| * '------+------' '------+------' */ @@ -46,18 +55,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \ KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \ KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \ - SFT_T(KC_ESC), CTL_T(KC_BSPC), ALT_T(KC_SPC), SFT_T(KC_ENT), \ - KC_TAB, KC_HOME, KC_END, KC_DEL, \ - LT(_NAV, KC_BSLS), KC_GRV, KC_LGUI, LT(_NUM, KC_SLSH) \ + SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \ + KC_TAB, KC_HOME, KC_END, KC_DEL, \ + RAISE, KC_GRV, KC_LGUI, LOWER ), -/* Navigation layer +/* Raise * ,----------------------------------, ,----------------------------------, - * | | | mup | | | | | | up | | | + * | | | mup | | | | VOL+ | | up | | PgUp | * |------+------+------+------+------| |-------------+------+------+------| - * | | mleft| mdown|mright| | | | left | down |right | | + * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn | * |------+------+------+------+------| |------|------+------+------+------| - * | | | | | | | | | | | | + * | | | | | | | VOL- | / | \ | ? | | | * |------+------+------+-------------, ,-------------+------+------+------, * | | | | mbtn |mbtn2 | * '------+------'-------------' '-------------'------+------' @@ -66,22 +75,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | + * | | | | | | * '------+------' '------+------' - * |\(NAV)| ~ | | gui |/(NUM)| + * | | | | | | * '------+------' '------+------' */ -[_NAV] = LAYOUT( \ - KC_TRNS, KC_TRNS, KC_MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 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_MS_BTN1, KC_MS_BTN2, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +[_RAISE] = LAYOUT( \ + ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \ + ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \ + ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \ + ____, ____, KC_MB1, KC_MB2, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____ \ ), -/* Numbers layer +/* Lower * ,----------------------------------, ,----------------------------------, * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | * |------+------+------+------+------| |-------------+------+------+------| @@ -89,26 +98,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------| |------|------+------+------+------| * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | * |------+------+------+-------------, ,-------------+------+------+------, - * | F11 | F12 | | | | + * | F11 | F12 | | - | = | * '------+------'-------------' '-------------'------+------' * | | | | | | * | | | | | | * | | | | | | * '------+------' '------+------' * '------+------' '------+------' - * | tab | home | | end | del | + * | | | | | | * '------+------' '------+------' - * |\(NAV)| ~ | | gui |/(NUM)| + * | | | | | | * '------+------' '------+------' */ -[_NUM] = LAYOUT( \ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, \ - KC_F11, KC_F12, 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 + +[_LOWER] = LAYOUT( \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ + KC_F11, KC_F12, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____, \ + ____, ____, ____, ____ \ ) }; diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index 354e11ee9..8b2875712 100644 --- a/keyboards/handwired/dactyl_manuform/readme.md +++ b/keyboards/handwired/dactyl_manuform/readme.md @@ -1,7 +1,8 @@ -Dactyl manuform +Dactyl Manuform ====== - the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link. +![Imgur](https://i.imgur.com/7y0Vbyd.jpg) + ## First Time Setup @@ -31,6 +32,19 @@ dactyl_manuform_YOUR_KEYMAP_NAME.hex For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md. +## Keymaps +Currently there are only two keymaps: Qwerty and Dvorak, feel free to make changes and contribute your keymap. +### Qwerty and Dvorak +Qwerty base layer: +![Imgur](https://i.imgur.com/Yb5e7dS.png) +Dvorak base layer: +![Imgur](https://i.imgur.com/CpuZptB.png) +Both keymaps have the same Raise and Lower layers: +Raise Layer +![Imgur](https://i.imgur.com/nOqePK5.png) +Lower Layer +![Imgur](https://i.imgur.com/WSshkYc.png) + Required Hardware -----------------