aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Chang <william@factual.com>2019-05-10 16:44:13 -0700
committerWilliam Chang <william@factual.com>2019-05-10 16:44:13 -0700
commit10975bd4c08a598eed2c74dab0d3187fbbf4b8f5 (patch)
tree3ad0472dde9e18b5ce875043c837709ca32eea6f
parent9ce186860e78d5afe350636cb7445e18c2577f33 (diff)
parentfebaf9dec42ce4d4ade316f811145a291137ee94 (diff)
downloadqmk_firmware-10975bd4c08a598eed2c74dab0d3187fbbf4b8f5.tar.gz
qmk_firmware-10975bd4c08a598eed2c74dab0d3187fbbf4b8f5.zip
fixed conflict in readme
-rw-r--r--docs/feature_rgblight.md64
-rw-r--r--keyboards/dz60/keymaps/billiams/readme.md2
-rw-r--r--keyboards/minidox/keymaps/norman/config.h5
-rw-r--r--keyboards/minidox/keymaps/norman/keymap.c69
-rw-r--r--keyboards/minidox/keymaps/norman/readme.md56
-rw-r--r--quantum/keymap_extras/keymap_norman.h54
-rw-r--r--quantum/keymap_extras/sendstring_norman.h39
7 files changed, 268 insertions, 21 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 4572f45b2..1e0ce9147 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -37,9 +37,9 @@ QMK uses [Hue, Saturation, and Value](https://en.wikipedia.org/wiki/HSL_and_HSV)
37 37
38<img src="gitbook/images/color-wheel.svg" alt="HSV Color Wheel" width="250"/> 38<img src="gitbook/images/color-wheel.svg" alt="HSV Color Wheel" width="250"/>
39 39
40Changing the **Hue** cycles around the circle. 40Changing the **Hue** cycles around the circle.<br>
41Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color. 41Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color.<br>
42Changing the **Value** sets the overall brightness. 42Changing the **Value** sets the overall brightness.<br>
43 43
44## Keycodes 44## Keycodes
45 45
@@ -77,8 +77,7 @@ Your RGB lighting can be configured by placing these `#define`s in your `config.
77|`RGBLIGHT_SLEEP` |*Not defined*|If defined, the RGB lighting will be switched off when the host goes to sleep| 77|`RGBLIGHT_SLEEP` |*Not defined*|If defined, the RGB lighting will be switched off when the host goes to sleep|
78|`RGBLIGHT_SPLIT` |*Not defined*|If defined, synchronization functionality for split keyboards is added| 78|`RGBLIGHT_SPLIT` |*Not defined*|If defined, synchronization functionality for split keyboards is added|
79 79
80## Animations 80## Effects and Animations
81
82 81
83Not only can this lighting be whatever color you want, 82Not only can this lighting be whatever color you want,
84if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a number of animation modes at your disposal: 83if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a number of animation modes at your disposal:
@@ -100,29 +99,54 @@ Check out [this video](https://youtube.com/watch?v=VKrpPAHlisY) for a demonstrat
100 99
101Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight.h` there is a contrast table between the old mode number and the current symbol. 100Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight.h` there is a contrast table between the old mode number and the current symbol.
102 101
103The following options can be used to tweak the various animations: 102### Effect and Animation Toggles
103
104Use these defines to add or remove animations from the firmware. When you are running low on flash space, it can be helpful to disable animations you are not using.
105
106|Define |Default |Description |
107|------------------------------------|-------------|-------------------------------------------------------------------------------------|
108|`RGBLIGHT_ANIMATIONS` |*Not defined*|Enable all additional animation modes. |
109|`RGBLIGHT_EFFECT_ALTERNATING` |*Not defined*|Enable alternating animation mode. |
110|`RGBLIGHT_EFFECT_BREATHING` |*Not defined*|Enable breathing animation mode. |
111|`RGBLIGHT_EFFECT_CHRISTMAS` |*Not defined*|Enable christmas animation mode. |
112|`RGBLIGHT_EFFECT_KNIGHT` |*Not defined*|Enable knight animation mode. |
113|`RGBLIGHT_EFFECT_RAINBOW_MOOD` |*Not defined*|Enable rainbow mood animation mode. |
114|`RGBLIGHT_EFFECT_RAINBOW_SWIRL` |*Not defined*|Enable rainbow swirl animation mode. |
115|`RGBLIGHT_EFFECT_RGB_TEST` |*Not defined*|Enable RGB test animation mode. |
116|`RGBLIGHT_EFFECT_SNAKE` |*Not defined*|Enable snake animation mode. |
117|`RGBLIGHT_EFFECT_STATIC_GRADIENT` |*Not defined*|Enable static gradient mode. |
118
119### Effect and Animation Settings
120
121The following options are used to tweak the various animations:
104 122
105|Define |Default |Description | 123|Define |Default |Description |
106|------------------------------------|-------------|-------------------------------------------------------------------------------------| 124|------------------------------------|-------------|-------------------------------------------------------------------------------------|
107|`RGBLIGHT_EFFECT_BREATHING` |*Not defined*|If defined, enable breathing animation mode. |
108|`RGBLIGHT_EFFECT_RAINBOW_MOOD` |*Not defined*|If defined, enable rainbow mood animation mode. |
109|`RGBLIGHT_EFFECT_RAINBOW_SWIRL` |*Not defined*|If defined, enable rainbow swirl animation mode. |
110|`RGBLIGHT_EFFECT_SNAKE` |*Not defined*|If defined, enable snake animation mode. |
111|`RGBLIGHT_EFFECT_KNIGHT` |*Not defined*|If defined, enable knight animation mode. |
112|`RGBLIGHT_EFFECT_CHRISTMAS` |*Not defined*|If defined, enable christmas animation mode. |
113|`RGBLIGHT_EFFECT_STATIC_GRADIENT` |*Not defined*|If defined, enable static gradient mode. |
114|`RGBLIGHT_EFFECT_RGB_TEST` |*Not defined*|If defined, enable RGB test animation mode. |
115|`RGBLIGHT_EFFECT_ALTERNATING` |*Not defined*|If defined, enable alternating animation mode. |
116|`RGBLIGHT_ANIMATIONS` |*Not defined*|If defined, enables all additional animation modes |
117|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined*|If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 | 125|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined*|If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 |
118|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 | 126|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 |
119|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
120|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
121|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
122|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel |
123|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`1000` |How long to wait between light changes for the "Christmas" animation, in milliseconds| 127|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`1000` |How long to wait between light changes for the "Christmas" animation, in milliseconds|
124|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation | 128|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation |
129|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel |
130|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
131|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
125|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`360` |Range adjustment for the rainbow swirl effect to get different swirls | 132|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`360` |Range adjustment for the rainbow swirl effect to get different swirls |
133|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
134
135### Example Usage to Reduce Memory Footprint
136 1. Remove `RGBLIGHT_ANIMATIONS` from `config.h`.
137 1. Selectively add the animations you want to enable. The following would enable two animations and save about 4KiB:
138
139```diff
140 #undef RGBLED_NUM
141-#define RGBLIGHT_ANIMATIONS
142+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
143+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
144 #define RGBLED_NUM 12
145 #define RGBLIGHT_HUE_STEP 8
146 #define RGBLIGHT_SAT_STEP 8
147```
148
149### Animation Speed
126 150
127You can also modify the speeds that the different modes animate at: 151You can also modify the speeds that the different modes animate at:
128 152
diff --git a/keyboards/dz60/keymaps/billiams/readme.md b/keyboards/dz60/keymaps/billiams/readme.md
index 32d39be68..60096473a 100644
--- a/keyboards/dz60/keymaps/billiams/readme.md
+++ b/keyboards/dz60/keymaps/billiams/readme.md
@@ -10,7 +10,7 @@ Settings:
10* Del is available as `Fn` + `Backspace` 10* Del is available as `Fn` + `Backspace`
11* `/ ?` are available when you tap the right shift. Otherwise RShift is shift when held down 11* `/ ?` are available when you tap the right shift. Otherwise RShift is shift when held down
12* RESET is available as `Fn`+ ` ESC` 12* RESET is available as `Fn`+ ` ESC`
13* Underglow toggle and mode selection are available as `Fn` + `Q` and `Fn` + `S`. Yes your keyboard has lights even if you didn't get the LEDs. Bonus! 13* Underglow toggle is available as `Fn` + `Q`. Yes your keyboard has lights even if you didn't get the LEDs. Bonus!
14 14
15### Initial Installation 15### Initial Installation
16 16
diff --git a/keyboards/minidox/keymaps/norman/config.h b/keyboards/minidox/keymaps/norman/config.h
new file mode 100644
index 000000000..0d3542a03
--- /dev/null
+++ b/keyboards/minidox/keymaps/norman/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#define PERMISSIVE_HOLD
4#define QMK_KEYS_PER_SCAN 4
5#define TAPPING_TERM 160
diff --git a/keyboards/minidox/keymaps/norman/keymap.c b/keyboards/minidox/keymaps/norman/keymap.c
new file mode 100644
index 000000000..2786b7dd9
--- /dev/null
+++ b/keyboards/minidox/keymaps/norman/keymap.c
@@ -0,0 +1,69 @@
1#include QMK_KEYBOARD_H
2
3#include <sendstring_norman.h>
4
5
6extern keymap_config_t keymap_config;
7
8// Each layer gets a name for readability, which is then used in the keymap matrix below.
9// The underscores don't mean anything - you can have a layer called STUFF or any other name.
10// Layer names don't all need to be of the same length, obviously, and you can also skip them
11// entirely and just use numbers.
12enum layers {
13 _NORMAN,
14 _LOWER,
15 _RAISE,
16 _ADJUST
17};
18
19enum custom_keycodes {
20 QWERTY = SAFE_RANGE,
21 LOWER,
22 RAISE,
23 ADJUST
24};
25
26// Defines for task manager and such
27#define CALTDEL LCTL(LALT(KC_DEL))
28#define TSKMGR LCTL(LSFT(KC_ESC))
29#define DSK_LFT LGUI(LCTL(KC_LEFT))
30#define DSK_RT LGUI(LCTL(KC_RIGHT))
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33
34
35[_NORMAN] = LAYOUT( \
36 NM_Q, NM_W, NM_D, NM_F, NM_K, NM_J, NM_U, NM_R, NM_L, NM_SCLN, \
37 NM_A, NM_S, NM_E, NM_T, NM_G, NM_Y, NM_N, NM_I, NM_O, NM_H, \
38 NM_Z, NM_X, NM_C, NM_V, NM_B, NM_P, NM_M, NM_COMM, NM_DOT, NM_SLSH, \
39 LGUI_T(KC_ENT), LT(_RAISE, KC_ESC), SFT_T(KC_BSPC), CTL_T(KC_SPC), LT(_LOWER, KC_TAB), ALT_T(KC_ENT) \
40),
41
42[_RAISE] = LAYOUT( \
43 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_0, \
44 KC_CIRC, KC_AMPR, KC_TILD, KC_PIPE, KC_BSLS, KC_MINUS, KC_4, KC_5, KC_6, KC_EQL, \
45 KC_DQT, KC_QUOT, KC_UNDS, KC_GRV, _______, KC_ASTR, KC_1, KC_2, KC_3, _______, \
46 _______, _______, _______, _______, MO(_ADJUST), _______ \
47),
48
49
50[_LOWER] = LAYOUT( \
51 KC_ESC, KC_HOME, KC_UP, KC_END, _______, _______, KC_LPRN, KC_RPRN, _______, _______,
52 KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, _______, KC_LBRC, KC_RBRC, _______, _______, \
53 KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, _______, KC_LCBR, KC_RCBR, _______, _______, \
54 _______, MO(_ADJUST), _______, _______, _______, _______ \
55),
56
57[_ADJUST] = LAYOUT( \
58 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
59 _______, DSK_LFT, _______, DSK_RT, _______, TSKMGR, CALTDEL, _______, KC_F11, KC_F12, \
60 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
61 _______, _______, _______, _______, _______, _______ \
62)
63
64};
65
66void persistant_default_layer_set(uint16_t default_layer) {
67 eeconfig_update_default_layer(default_layer);
68 default_layer_set(default_layer);
69}
diff --git a/keyboards/minidox/keymaps/norman/readme.md b/keyboards/minidox/keymaps/norman/readme.md
new file mode 100644
index 000000000..018e43632
--- /dev/null
+++ b/keyboards/minidox/keymaps/norman/readme.md
@@ -0,0 +1,56 @@
1# Minidox Norman Layout by LeHoff
2Based on the QWERTY layout created by Khitsule.
3![lehoff](https://i.imgur.com/rKTdymp.png)
4
5[KLE link](http://www.keyboard-layout-editor.com/#/gists/86ec49f9f820a8b9b36f6e0d2ef8fff7)
6
7## Layers
8| Layer | Legend |
9| ----- | ------ |
10| Base | Top left (black) |
11| Lower | Bottom right (red) |
12| Raise | Top right (orange) |
13| Adjust | Front print |
14
15## Features
16* Raise/lower layers focus first on one-handed use
17* Numpad on right hand with raise layer
18* Navigation on left hand with lower layer (ESDF)
19 * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
20* Heavy use of hold/tap dual function keys - from left to right:
21 * Cmd/Enter
22 * Raise/Esc
23 * Shift/Backspace
24 * Ctrl/Space
25 * Lower/Tab
26 * Alt/Enter
27
28
29## Modifier Placement Rationale
30
31There are several major driving forces at play:
32
33* I use MacOS.
34* I'm Danish so the Alt and Shift-Alt layers in MacOS simply have to work.
35* I use Vim for coding.
36* I use org-mode in Emacs to keep track of my time.
37
38* Space is on the right hand side because I almost exclusively use my right hand thumb for
39 space.
40* Cmd is on the left since I often use Cmd+click to open a link in a new tab in Safari.
41* Due to my usage of Vim Esc got a spot on the modifier row.
42* Tab is on the right to enable easy navigation between winows with Cmd+Tab.
43* Shift is on the left since org-mode uses Ctrl+arrows to manipulate task state quickly,
44 and since the arrow keys are activated using Lower (which has been moved to the right) and S, E, T,
45 and D, it works well that way.
46* Ctrl is on the right since Ctrl+<0-9> is used in MacOS to switch between spaces.
47* Enter is on both sides since Enter is often used together with all of the modifiers. E.g.,
48 Cmd+Enter to send mails in most situations, but Ctrl+Enter is used in Emacs to create a
49 new task in org-mode.
50
51This means that arrows and digits are being modified from the other hand, which could be
52bad for gaming, so if you're into that you might want to re-think a few things, but in
53that case you are probably using a Windows machine and then there are other constraints
54you have to deal with.
55
56
diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h
new file mode 100644
index 000000000..995b1b8a0
--- /dev/null
+++ b/quantum/keymap_extras/keymap_norman.h
@@ -0,0 +1,54 @@
1
2/* Copyright 2019 Torben Hoffmann
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17#pragma once
18
19#include "keymap.h"
20// For software implementation of norman
21#define NM_Q KC_Q
22#define NM_W KC_W
23#define NM_D KC_E
24#define NM_F KC_R
25#define NM_K KC_T
26#define NM_J KC_Y
27#define NM_U KC_U
28#define NM_R KC_I
29#define NM_L KC_O
30#define NM_SCLN KC_P
31#define NM_COLN LSFT(NM_SCLN)
32
33#define NM_A KC_A
34#define NM_S KC_S
35#define NM_E KC_D
36#define NM_T KC_F
37#define NM_G KC_G
38#define NM_Y KC_H
39#define NM_N KC_J
40#define NM_I KC_K
41#define NM_O KC_L
42#define NM_H KC_SCLN
43
44#define NM_Z KC_Z
45#define NM_X KC_X
46#define NM_C KC_C
47#define NM_V KC_V
48#define NM_B KC_B
49#define NM_P KC_N
50#define NM_M KC_M
51#define NM_COMM KC_COMM
52#define NM_DOT KC_DOT
53#define NM_SLSH KC_SLSH
54
diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h
new file mode 100644
index 000000000..57d450ca8
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_norman.h
@@ -0,0 +1,39 @@
1/* Copyright 2019 Torben Hoffmann
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/* Sendstring definitions for the Colemak layout */
17#pragma once
18
19#include "keymap_norman.h"
20
21const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
22 0, 0, 0, 0, 0, 0, 0, 0,
23 KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
24 0, 0, 0, 0, 0, 0, 0, 0,
25 0, 0, 0, KC_ESC, 0, 0, 0, 0,
26 KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
27 KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
28 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
29 KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
30 KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
31 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
32 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
33 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
34 KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
35 NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
36 NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
37 NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
38};
39