aboutsummaryrefslogtreecommitdiff
path: root/keyboards/chimera_ortho
diff options
context:
space:
mode:
authorDan <loksonarius@users.noreply.github.com>2018-06-07 14:30:27 -0400
committerDrashna Jaelre <drashna@live.com>2018-06-07 11:30:27 -0700
commit03c9deb7456d84a8d8cc31496ae2736305bbafd3 (patch)
treefbc6834b56d8ea113bd233099d0d2d3690b30edd /keyboards/chimera_ortho
parent7004e934d041cf5b187cedb4ab15e649b586edea (diff)
downloadqmk_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.md45
-rw-r--r--keyboards/chimera_ortho/keymaps/dcompact/config.h9
-rw-r--r--keyboards/chimera_ortho/keymaps/dcompact/keymap.c119
-rw-r--r--keyboards/chimera_ortho/keymaps/dcompact/rules.mk1
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
9The following are the goals kept in mind when designing the DCompact
10layout:
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
18These are generally all met or balanced within reason. This layout is
19not intended at all to be a familiar layout for much of anyone (except
20maybe those who already type in Dvorak) -- this is meant to amplify the
21best parts of having limited, ortholinear keys with layering.
22
23## As Reference Material
24
25If you're reading this hoping to find reference material to implement
26your own layout, then please feel free to copy over this layout and
27make edits where you see fit. I removed a lot of the features I felt
28extraneous to my usage and simplified style where I felt needed. This
29would hopefully mean that my code should feel like a good base to
30develop from for those new to QMK.
31
32_Remember that settings defined in the layout directory override and
33merge 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
44Maintainer: [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
3enum 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
35const 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
100void 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