aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugh <henxing@gmail.com>2017-09-06 21:33:52 -0400
committerskullydazed <skullydazed@users.noreply.github.com>2017-09-06 18:33:52 -0700
commit0759adeaf1ecca3a30c639f36ab7c3f133c2351a (patch)
treeecfc55a2cc66cc90ec076fc9ab5bc844172a845c
parent43a1ea30355bb31248ba54522f8eee1cd0db8754 (diff)
downloadqmk_firmware-0759adeaf1ecca3a30c639f36ab7c3f133c2351a.tar.gz
qmk_firmware-0759adeaf1ecca3a30c639f36ab7c3f133c2351a.zip
Split atreus (#1680)
* Merge with upstream * Add split_atreus keymap for lets_split. * Move bspace * Tidy up keymap * Update layer enum * Temporary fix * Finish merge * Added keys for testing * Revert temporary fix * Remake keymap using default let's split map as base. ASCII art not updated * Remove non-functioning layers * Rename folder * Update ASCII art * Remove vestiges of ADJUST layer * Remove nonexistent layer #defines * Rename folder to avoid confusion * Add Readme.md * Formatting * Description of underscores in layer maps
-rw-r--r--keyboards/lets_split/keymaps/henxing/Makefile3
-rw-r--r--keyboards/lets_split/keymaps/henxing/Readme.md51
-rw-r--r--keyboards/lets_split/keymaps/henxing/config.h37
-rw-r--r--keyboards/lets_split/keymaps/henxing/keymap.c114
m---------lib/chibios0
5 files changed, 205 insertions, 0 deletions
diff --git a/keyboards/lets_split/keymaps/henxing/Makefile b/keyboards/lets_split/keymaps/henxing/Makefile
new file mode 100644
index 000000000..457a3d01d
--- /dev/null
+++ b/keyboards/lets_split/keymaps/henxing/Makefile
@@ -0,0 +1,3 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/lets_split/keymaps/henxing/Readme.md b/keyboards/lets_split/keymaps/henxing/Readme.md
new file mode 100644
index 000000000..231aa6adf
--- /dev/null
+++ b/keyboards/lets_split/keymaps/henxing/Readme.md
@@ -0,0 +1,51 @@
1# Let's Split the Atreus
2
3This keymap is a port of the Atreus keymap to the Let's Split keyboard, using a
4similar method of handling layer switches as the `default` keymap.
5
6
7# Layers
8
9The following tables are the layers as implemented.
10
11### Underscores in Layer
12
13Any underscore represents a key that is mapped to `KC_NO`, or no keypress. The
142x3 block in the middle is like this because the Atreus does not have any keys
15there. It has been left blank for the user to add her own special keypresses or
16macros that she finds useful to have on that particular layer.
17
18
19## `_QWERTY`
20
21```c
22/*
23 * q w e r t _ _ y u i o p
24 * a s d f g _ _ h j k l ;
25 * z x c v b _ _ n m , . /
26 * esc tab gui shift bksp ctrl alt space fn - ' enter
27 */
28 ```
29
30
31## `_LOWER`
32
33```c
34/*
35 * ! @ up { } _ _ pgup 7 8 9 *
36 * # left down right $ _ _ pgdn 4 5 6 +
37 * [ ] ( ) & _ _ ` 1 2 3 \
38 * lower insert gui shift bksp ctrl alt space fn . 0 =
39 */
40 ```
41
42## `_RAISE`
43
44```c
45/*
46 * insert home up end pgup _ _ up F7 F8 F9 F10
47 * del left down right pgdn _ _ down F4 F5 F6 F11
48 * _ volup _ _ reset _ _ F1 F2 F3 F12
49 * _ voldn super shift bksp ctrl alt space L0 prtsc scroll pause
50 */
51 ```
diff --git a/keyboards/lets_split/keymaps/henxing/config.h b/keyboards/lets_split/keymaps/henxing/config.h
new file mode 100644
index 000000000..7f33a4363
--- /dev/null
+++ b/keyboards/lets_split/keymaps/henxing/config.h
@@ -0,0 +1,37 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H
23
24#include "../../config.h"
25
26/* Use I2C or Serial, not both */
27
28#define USE_SERIAL
29// #define USE_I2C
30
31/* Select hand configuration */
32
33#define MASTER_LEFT
34// #define _MASTER_RIGHT
35// #define EE_HANDS
36
37#endif \ No newline at end of file
diff --git a/keyboards/lets_split/keymaps/henxing/keymap.c b/keyboards/lets_split/keymaps/henxing/keymap.c
new file mode 100644
index 000000000..49b89b113
--- /dev/null
+++ b/keyboards/lets_split/keymaps/henxing/keymap.c
@@ -0,0 +1,114 @@
1#include "lets_split.h"
2#include "action_layer.h"
3#include "eeconfig.h"
4
5extern keymap_config_t keymap_config;
6
7// Each layer gets a name for readability, which is then used in the keymap matrix below.
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _QWERTY 0
12#define _LOWER 1
13#define _RAISE 2
14
15enum custom_keycodes {
16 QWERTY = SAFE_RANGE,
17 LOWER,
18 RAISE
19};
20
21// Fillers to make layering more clear
22#define _______ KC_TRNS
23#define XXXXXXX KC_NO
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26
27 /*
28 * q w e r t _ _ y u i o p
29 * a s d f g _ _ h j k l ;
30 * z x c v b _ _ n m , . /
31 * esc tab gui shift bksp ctrl alt space fn - ' enter
32 */
33 [_QWERTY] = KEYMAP( \
34 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, \
35 KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
36 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
37 KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, LOWER, KC_MINS, KC_QUOT, KC_ENT \
38 ),
39
40 /*
41 * ! @ up { } _ _ pgup 7 8 9 *
42 * # left down right $ _ _ pgdn 4 5 6 +
43 * [ ] ( ) & _ _ ` 1 2 3 \
44 * lower insert gui shift bksp ctrl alt space fn . 0 =
45 */
46 [_LOWER] = KEYMAP( \
47 KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_NO, KC_NO, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, \
48 KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_NO, KC_NO, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, \
49 KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_NO, KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, \
50 RAISE, KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL \
51 ),
52
53 /*
54 * insert home up end pgup _ _ up F7 F8 F9 F10
55 * del left down right pgdn _ _ down F4 F5 F6 F11
56 * _ volup _ _ reset _ _ F1 F2 F3 F12
57 * _ voldn super shift bksp ctrl alt space L0 prtsc scroll pause
58 */
59 [_RAISE] = KEYMAP( \
60 KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_NO, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, \
61 KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_NO, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, \
62 KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, RESET, KC_NO, KC_NO, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \
63 KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SLCK, KC_PAUS \
64 )
65
66};
67
68#ifdef AUDIO_ENABLE
69float tone_qwerty[][2] = SONG(QWERTY_SOUND);
70float tone_dvorak[][2] = SONG(DVORAK_SOUND);
71float tone_colemak[][2] = SONG(COLEMAK_SOUND);
72#endif
73
74void persistent_default_layer_set(uint16_t default_layer) {
75 eeconfig_update_default_layer(default_layer);
76 default_layer_set(default_layer);
77}
78
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80
81 // The value to return
82 bool return_value = false;
83
84 switch (keycode) {
85 case QWERTY:
86 if (record->event.pressed) {
87#ifdef AUDIO_ENABLE
88 PLAY_SONG(tone_qwerty);
89#endif
90 persistent_default_layer_set(1UL<<_QWERTY);
91 }
92 break;
93
94 case LOWER:
95 if (record->event.pressed) {
96 layer_on(_LOWER);
97 } else {
98 layer_off(_LOWER);
99 }
100 break;
101
102 case RAISE:
103 persistent_default_layer_set(1UL<<_RAISE);
104 break;
105 default:
106
107 // If the keycode is not handled by any of the other cases, we
108 // should return true
109 return_value = true;
110 break;
111 }
112
113 return return_value;
114}
diff --git a/lib/chibios b/lib/chibios
Subproject d34e8eb83101a95f98892bf68605fe545821f32 Subproject 8fce03b3a75c743e5d5c40b9d59c1637c59d22a