diff options
| author | Dan <loksonarius@users.noreply.github.com> | 2018-06-07 14:30:27 -0400 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-06-07 11:30:27 -0700 |
| commit | 03c9deb7456d84a8d8cc31496ae2736305bbafd3 (patch) | |
| tree | fbc6834b56d8ea113bd233099d0d2d3690b30edd /keyboards/chimera_ortho | |
| parent | 7004e934d041cf5b187cedb4ab15e649b586edea (diff) | |
| download | qmk_firmware-03c9deb7456d84a8d8cc31496ae2736305bbafd3.tar.gz qmk_firmware-03c9deb7456d84a8d8cc31496ae2736305bbafd3.zip | |
Add DCompact Layout for Chimera Ortho and Planck Keyboards (#3145)
* Clone default chimera-o layout
* Make changes for base layer
* Enable mouse suppport flag
* Implement majority of DAD layout
* Add mouse movement keys
* Fine tune mouse control and fix tap toggle
* Fix mouse button locations
* Set adpater LED colors for layers
* Increase responsiveness of key taps
* Update layout for thumb comfort
* Rename layout and add README
* Add comments to keymap
* Implement DCompact layout for Planck
* Copy over DCompact README to planck
* Fix up odds and ends for Planck
Diffstat (limited to 'keyboards/chimera_ortho')
| -rw-r--r-- | keyboards/chimera_ortho/keymaps/dcompact/README.md | 45 | ||||
| -rw-r--r-- | keyboards/chimera_ortho/keymaps/dcompact/config.h | 9 | ||||
| -rw-r--r-- | keyboards/chimera_ortho/keymaps/dcompact/keymap.c | 119 | ||||
| -rw-r--r-- | keyboards/chimera_ortho/keymaps/dcompact/rules.mk | 1 |
4 files changed, 174 insertions, 0 deletions
diff --git a/keyboards/chimera_ortho/keymaps/dcompact/README.md b/keyboards/chimera_ortho/keymaps/dcompact/README.md new file mode 100644 index 000000000..04cb4fcb6 --- /dev/null +++ b/keyboards/chimera_ortho/keymaps/dcompact/README.md | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | # DCompact Layout | ||
| 2 | |||
| 3 | **Dvorak, Layered, Mouse-Enabled, Compact** | ||
| 4 | |||
| 5 | _See [the layout source](keymap.c) for the actual layout_ | ||
| 6 | |||
| 7 | ## Goals | ||
| 8 | |||
| 9 | The following are the goals kept in mind when designing the DCompact | ||
| 10 | layout: | ||
| 11 | |||
| 12 | - Provide minimal travel distance when typing English or coding | ||
| 13 | - Consistent muscle memory translation from standard QWERTY | ||
| 14 | - Statless typing experience | ||
| 15 | - OS-agnostic features, macros, and key placement | ||
| 16 | - Minimize dependence on mouse usage | ||
| 17 | |||
| 18 | These are generally all met or balanced within reason. This layout is | ||
| 19 | not intended at all to be a familiar layout for much of anyone (except | ||
| 20 | maybe those who already type in Dvorak) -- this is meant to amplify the | ||
| 21 | best parts of having limited, ortholinear keys with layering. | ||
| 22 | |||
| 23 | ## As Reference Material | ||
| 24 | |||
| 25 | If you're reading this hoping to find reference material to implement | ||
| 26 | your own layout, then please feel free to copy over this layout and | ||
| 27 | make edits where you see fit. I removed a lot of the features I felt | ||
| 28 | extraneous to my usage and simplified style where I felt needed. This | ||
| 29 | would hopefully mean that my code should feel like a good base to | ||
| 30 | develop from for those new to QMK. | ||
| 31 | |||
| 32 | _Remember that settings defined in the layout directory override and | ||
| 33 | merge with those in the keyboard folder_ | ||
| 34 | |||
| 35 | ## Relevant Links | ||
| 36 | |||
| 37 | - !(Online Dvorak Layout Trainer)[https://learn.dvorak.nl/] | ||
| 38 | - !(Dvorak Wikipedia Page)[https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard] | ||
| 39 | - !(QMK Docs)[https://docs.qmk.fm/#/] | ||
| 40 | - !(QMK KeyCode Reference)[https://docs.qmk.fm/#/keycodes] | ||
| 41 | |||
| 42 | ## Contact | ||
| 43 | |||
| 44 | Maintainer: [Dan](https://github.com/loksonarius) | ||
| 45 | |||
diff --git a/keyboards/chimera_ortho/keymaps/dcompact/config.h b/keyboards/chimera_ortho/keymaps/dcompact/config.h new file mode 100644 index 000000000..d1e5c3aab --- /dev/null +++ b/keyboards/chimera_ortho/keymaps/dcompact/config.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #define TAPPING_TERM 150 | ||
| 2 | #define TAPPING_TOGGLE 2 | ||
| 3 | |||
| 4 | #define MOUSEKEY_DELAY 200 | ||
| 5 | #define MOUSEKEY_INTERVAL 60 | ||
| 6 | #define MOUSEKEY_MAX_SPEED 50 | ||
| 7 | #define MOUSEKEY_TIME_TO_MAX 80 | ||
| 8 | #define MOUSEKEY_WHEEL_MAX_SPEED 8 | ||
| 9 | #define MOUSEKEY_WHEEL_TIME_TO_MAX 15 | ||
diff --git a/keyboards/chimera_ortho/keymaps/dcompact/keymap.c b/keyboards/chimera_ortho/keymaps/dcompact/keymap.c new file mode 100644 index 000000000..eab8db22c --- /dev/null +++ b/keyboards/chimera_ortho/keymaps/dcompact/keymap.c | |||
| @@ -0,0 +1,119 @@ | |||
| 1 | #include "chimera_ortho.h" | ||
| 2 | |||
| 3 | enum chimera_ortho_layers | ||
| 4 | { | ||
| 5 | _BASE, | ||
| 6 | _NAV, | ||
| 7 | _SYM, | ||
| 8 | _FUNC, | ||
| 9 | _MOUSE | ||
| 10 | }; | ||
| 11 | |||
| 12 | #define KC_NAV MO(_NAV) | ||
| 13 | #define KC_SYM MO(_SYM) | ||
| 14 | #define KC_FUNC MO(_FUNC) | ||
| 15 | #define KC_MOUSE TT(_MOUSE) | ||
| 16 | |||
| 17 | #define KC_DELSHFT SFT_T(KC_DEL) | ||
| 18 | #define KC_CTLENT CTL_T(KC_ENT) | ||
| 19 | #define KC_SYMSPC LT(_SYM, KC_SPC) | ||
| 20 | |||
| 21 | #define KC_WK_LEFT LCA(KC_LEFT) | ||
| 22 | #define KC_WK_DOWN LCA(KC_DOWN) | ||
| 23 | #define KC_WK_UP LCA(KC_UP) | ||
| 24 | #define KC_WK_RGHT LCA(KC_RGHT) | ||
| 25 | |||
| 26 | #define KC_QUAKE LCTL(KC_GRAVE) | ||
| 27 | |||
| 28 | #define LONGPRESS_DELAY 150 | ||
| 29 | |||
| 30 | // These are needed because of the 'KC_'-adding macro | ||
| 31 | // This macro can be found in ../../chimera_ortho.h | ||
| 32 | #define KC_RESET RESET | ||
| 33 | #define KC_ KC_TRNS | ||
| 34 | |||
| 35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 36 | |||
| 37 | [_BASE] = KC_KEYMAP( | ||
| 38 | //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. | ||
| 39 | LALT ,TAB ,QUOT ,COMM ,DOT ,P ,Y ,F ,G ,C ,R ,L ,SLSH ,FUNC | ||
| 40 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 41 | ,LGUI ,ESC ,A ,O ,E ,U ,I ,D ,H ,T ,N ,S ,MINS ,MOUSE | ||
| 42 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 43 | ,LCTL ,DELSHFT,SCLN ,Q ,J ,K ,X ,B ,M ,W ,V ,Z ,BSPC ,ENTER | ||
| 44 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 45 | ,LSHIFT ,NAV ,SYMSPC ,CTLENT | ||
| 46 | //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ | ||
| 47 | ), | ||
| 48 | |||
| 49 | [_NAV] = KC_KEYMAP( | ||
| 50 | //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. | ||
| 51 | , , , , , , , ,HOME ,PGDOWN ,PGUP ,END , , | ||
| 52 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 53 | , ,PSCR ,MENU , , , , , ,LEFT ,DOWN ,UP ,RIGHT , , | ||
| 54 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 55 | , ,CAPS ,NLCK ,INS , , , , ,WK_LEFT,WK_DOWN,WK_UP ,WK_RGHT, , | ||
| 56 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 57 | , , , , | ||
| 58 | //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ | ||
| 59 | ), | ||
| 60 | |||
| 61 | [_SYM] = KC_KEYMAP( | ||
| 62 | //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. | ||
| 63 | ,QUAKE ,GRAVE ,TILDE ,BSLASH ,PIPE ,LPRN ,RPRN ,7 ,8 ,9 ,SLSH ,EQUAL , | ||
| 64 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 65 | , , ,EXLM ,AT ,HASH ,DLR ,LCBR ,RCBR ,4 ,5 ,6 ,ASTR ,PLUS , | ||
| 66 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 67 | , , ,PERC ,CIRC ,AMPR ,ASTR ,LBRC ,RBRC ,1 ,2 ,3 ,MINUS , , | ||
| 68 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 69 | , , , ,0 | ||
| 70 | //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ | ||
| 71 | ), | ||
| 72 | |||
| 73 | [_FUNC] = KC_KEYMAP( | ||
| 74 | //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. | ||
| 75 | ,RESET ,SLEP ,MRWD ,MPLY ,MFFD , , ,F9 ,F10 ,F11 ,F12 , , | ||
| 76 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 77 | , , ,PWR ,MUTE ,VOLD ,VOLU , , ,F5 ,F6 ,F7 ,F8 , , | ||
| 78 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 79 | , , ,WAKE ,MPRV ,MPLY ,MNXT , , ,F1 ,F2 ,F3 ,F4 , , | ||
| 80 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 81 | , , , , | ||
| 82 | //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ | ||
| 83 | ), | ||
| 84 | |||
| 85 | [_MOUSE] = KC_KEYMAP( | ||
| 86 | //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. | ||
| 87 | , , , , , , , , , , , , , | ||
| 88 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 89 | , , , ,BTN1 ,BTN3 ,BTN2 , , ,MS_L ,MS_D ,MS_U ,MS_R , , | ||
| 90 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 91 | , , , ,ACL0 ,ACL1 ,ACL2 , , ,WH_L ,WH_D ,WH_U ,WH_R , , | ||
| 92 | //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| | ||
| 93 | , , , , | ||
| 94 | //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ | ||
| 95 | ), | ||
| 96 | }; | ||
| 97 | |||
| 98 | # These control the color of the LED on the receiver | ||
| 99 | # For color reference, see ../../chimera_ortho.h | ||
| 100 | void matrix_scan_user(void) { | ||
| 101 | uint8_t layer = biton32(layer_state); | ||
| 102 | |||
| 103 | switch (layer) { | ||
| 104 | case _BASE: | ||
| 105 | set_led_cyan; | ||
| 106 | break; | ||
| 107 | case _NAV: | ||
| 108 | set_led_blue; | ||
| 109 | break; | ||
| 110 | case _SYM: | ||
| 111 | set_led_magenta; | ||
| 112 | break; | ||
| 113 | case _FUNC: | ||
| 114 | set_led_yellow; | ||
| 115 | default: | ||
| 116 | set_led_white; | ||
| 117 | break; | ||
| 118 | } | ||
| 119 | }; | ||
diff --git a/keyboards/chimera_ortho/keymaps/dcompact/rules.mk b/keyboards/chimera_ortho/keymaps/dcompact/rules.mk new file mode 100644 index 000000000..6c605daec --- /dev/null +++ b/keyboards/chimera_ortho/keymaps/dcompact/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| MOUSEKEY_ENABLE = yes | |||
