aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Poitrey <rs@rhapsodyk.net>2019-05-07 10:43:08 -0700
committerDrashna Jaelre <drashna@live.com>2019-05-07 10:43:08 -0700
commit2d5c16dfd4ef193c4f692722157aa2b526a4c877 (patch)
tree527c5e5f51cf75c4476616a3c6ed91e385f1e1b2
parent3b132599427a648b1f14aaf30312f05f855625ea (diff)
downloadqmk_firmware-2d5c16dfd4ef193c4f692722157aa2b526a4c877.tar.gz
qmk_firmware-2d5c16dfd4ef193c4f692722157aa2b526a4c877.zip
[Keymap] crkbd/keymaps/rs: add rs keymap to corne keyboard and adapt others (#5181)
Update all my keymaps to work with 40 keys. Refactor code using Userspace.
-rw-r--r--keyboards/crkbd/keymaps/like_jis/keymap.c6
-rw-r--r--keyboards/crkbd/keymaps/rs/config.h44
-rw-r--r--keyboards/crkbd/keymaps/rs/keymap.c39
-rw-r--r--keyboards/crkbd/keymaps/rs/oled.c104
-rw-r--r--keyboards/crkbd/keymaps/rs/readme.md19
-rw-r--r--keyboards/crkbd/keymaps/rs/rules.mk32
-rw-r--r--keyboards/dz60/keymaps/macos_arrow/keymap.c41
-rw-r--r--keyboards/dz60/keymaps/macos_arrow/rules.mk4
-rw-r--r--keyboards/ergotravel/keymaps/rs/keymap.c45
-rw-r--r--keyboards/ergotravel/keymaps/rs/readme.md14
-rw-r--r--keyboards/keebio/iris/keymaps/rs/config.h2
-rw-r--r--keyboards/keebio/iris/keymaps/rs/keymap.c51
-rw-r--r--keyboards/keebio/iris/keymaps/rs/readme.md14
-rw-r--r--keyboards/keebio/iris/keymaps/rs/rules.mk1
-rw-r--r--layouts/community/ortho_4x12/rs/config.h1
-rw-r--r--layouts/community/ortho_4x12/rs/keymap.c52
-rw-r--r--layouts/community/ortho_4x12/rs/readme.md1
-rw-r--r--layouts/community/ortho_5x12/rs/config.h34
-rw-r--r--layouts/community/ortho_5x12/rs/karabiner.json154
-rw-r--r--layouts/community/ortho_5x12/rs/keymap.c48
-rw-r--r--layouts/community/ortho_5x12/rs/readme.md18
-rw-r--r--users/rs/karabiner.json (renamed from keyboards/keebio/iris/keymaps/rs/karabiner.json)0
-rw-r--r--users/rs/readme.md30
-rw-r--r--users/rs/rs.c74
-rw-r--r--users/rs/rs.h50
-rw-r--r--users/rs/rules.mk1
26 files changed, 525 insertions, 354 deletions
diff --git a/keyboards/crkbd/keymaps/like_jis/keymap.c b/keyboards/crkbd/keymaps/like_jis/keymap.c
index b1b6c64b1..41df6330f 100644
--- a/keyboards/crkbd/keymaps/like_jis/keymap.c
+++ b/keyboards/crkbd/keymaps/like_jis/keymap.c
@@ -11,11 +11,6 @@
11 11
12extern keymap_config_t keymap_config; 12extern keymap_config_t keymap_config;
13 13
14#ifdef RGBLIGHT_ENABLE
15//Following line allows macro to read current RGB settings
16extern rgblight_config_t rgblight_config;
17#endif
18
19extern uint8_t is_master; 14extern uint8_t is_master;
20 15
21// Each layer gets a name for readability, which is then used in the keymap matrix below. 16// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -241,6 +236,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
241void matrix_init_user(void) { 236void matrix_init_user(void) {
242 #ifdef RGBLIGHT_ENABLE 237 #ifdef RGBLIGHT_ENABLE
243 RGB_current_mode = rgblight_config.mode; 238 RGB_current_mode = rgblight_config.mode;
239 UPDATE_KEYMAP_STATUS();
244 #endif 240 #endif
245 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h 241 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
246 #ifdef SSD1306OLED 242 #ifdef SSD1306OLED
diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h
new file mode 100644
index 000000000..9701c2b3f
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rs/config.h
@@ -0,0 +1,44 @@
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#pragma once
22
23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31#define SSD1306OLED
32
33#define USE_SERIAL_PD2
34
35#define TAPPING_FORCE_HOLD
36#define TAPPING_TERM 300
37
38#undef RGBLED_NUM
39#define RGBLIGHT_ANIMATIONS
40#define RGBLED_NUM 27
41#define RGBLIGHT_LIMIT_VAL 120
42#define RGBLIGHT_HUE_STEP 10
43#define RGBLIGHT_SAT_STEP 17
44#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/crkbd/keymaps/rs/keymap.c b/keyboards/crkbd/keymaps/rs/keymap.c
new file mode 100644
index 000000000..135ccb076
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rs/keymap.c
@@ -0,0 +1,39 @@
1#include QMK_KEYBOARD_H
2#include "rs.h"
3
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 [_QWERTY] = LAYOUT_kc(
6 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
7 TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL ,
8 //|----+----+----+----+----+----| |----+----+----+----+----+----|
9 ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
10 //|----+----+----+----+----+----+ |----+----+----+----+----+----|
11 LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
12 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
13 LALT,LGUI,SPC , BSPC,CODE,FN
14 // `----+----+----' `+---+----+----'c
15 ),
16 [_CODE] = LAYOUT_kc(
17 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
18 GRV ,EXLM, AT ,HASH, DLR,PERC, CIRC,LPLT,ASTR,RPGT,NEQL, ,
19 //|----+----+----+----+----+----| |----+----+----+----+----+----|
20 , 1 , 2 , 3 , 4 , 5 , MINS,LBRC, UP ,RBRC, ,BSLS,
21 //|----+----+----+----+----+----+ |----+----+----+----+----+----|
22 , 6 , 7 , 8 , 9 , 0 , AMPR,LEFT,DOWN,RGHT, ,PIPE,
23 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
24 , ,DOT , , ,
25 // `----+----+----' `----+----+----'
26 ),
27 [_FN] = LAYOUT_kc(
28 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
29 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10, F11,
30 //|----+----+----+----+----+----| |----+----+----+----+----+----|
31 LTOG,LHUI,LSAI,LVAI,LRST,BRMU, VOLU, ,PGUP, , , ,
32 //|----+----+----+----+----+----+ |----+----+----+----+----+----|
33 LMOD,LHUD,LSAD,LVAD,RST ,BRMD, VOLD,CTRA,PGDN,CTRE, , ,
34 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
35 , , , MUTE, ,
36 // `----+----+----' `----+----+----'
37 ),
38};
39
diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c
new file mode 100644
index 000000000..c94dff9ed
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rs/oled.c
@@ -0,0 +1,104 @@
1#ifdef SSD1306OLED
2#include QMK_KEYBOARD_H
3#include "ssd1306.h"
4#ifdef PROTOCOL_LUFA
5#include "lufa.h"
6#include "split_util.h"
7#endif
8
9extern uint8_t is_master;
10
11// When add source files to SRC in rules.mk, you can use functions.
12const char *read_logo(void);
13const char *read_keylog(void);
14const char *read_keylogs(void);
15void set_keylog(uint16_t keycode, keyrecord_t *record);
16
17void matrix_scan_user(void) { iota_gfx_task(); }
18
19typedef struct {
20 uint8_t state;
21 char name[8];
22} LAYER_DISPLAY_NAME;
23
24#define LAYER_DISPLAY_MAX 5
25const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = {
26 {0, "Base"},
27 {2, "Code"},
28 {4, "Fn"},
29 {6, "Fn+Code"},
30 {__UINT8_MAX__, "?"},
31};
32static uint8_t layer_name_idx;
33static char layer_status_buf[24] = "Layer: Base\n";
34
35#ifdef RGBLIGHT_ENABLE
36// Following line allows macro to read current RGB settings
37extern rgblight_config_t rgblight_config;
38void update_keymap_status(void) {
39 snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s RGB: %d\n",
40 layer_display_name[layer_name_idx].name, rgblight_config.mode);
41}
42#else
43void update_keymap_status(void) {
44 snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s\n",
45 layer_display_name[layer_name_idx].name);
46}
47#endif
48
49void matrix_init_user(void) {
50 iota_gfx_init(!has_usb()); // turns on the display
51 update_keymap_status();
52}
53
54// declared in users/rs/rs.c
55void rgb_mod_changed_keymap(void) {
56 update_keymap_status();
57}
58
59// declared in users/rs/rs.c
60void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) {
61 set_keylog(keycode, record);
62}
63
64uint32_t layer_state_set_user(uint32_t state) {
65 for (layer_name_idx = 0; layer_name_idx < LAYER_DISPLAY_MAX; ++layer_name_idx) {
66 if (state == 0 && layer_display_name[layer_name_idx].state == default_layer_state) {
67 break;
68 } else if (state != 0 && layer_display_name[layer_name_idx].state == state) {
69 break;
70 }
71 }
72 update_keymap_status();
73 return state;
74}
75
76static inline void render_keymap_status(struct CharacterMatrix *matrix) {
77 matrix_write(matrix, layer_status_buf);
78}
79
80void matrix_render_user(struct CharacterMatrix *matrix) {
81 if (is_master) {
82 render_keymap_status(matrix);
83 matrix_write_ln(matrix, read_keylog());
84 matrix_write_ln(matrix, read_keylogs());
85 } else {
86 matrix_write(matrix, read_logo());
87 }
88}
89
90void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
91 if (memcmp(dest->display, source->display, sizeof(dest->display))) {
92 memcpy(dest->display, source->display, sizeof(dest->display));
93 dest->dirty = true;
94 }
95}
96
97void iota_gfx_task_user(void) {
98 struct CharacterMatrix matrix;
99 matrix_clear(&matrix);
100 matrix_render_user(&matrix);
101 matrix_update(&display, &matrix);
102}
103
104#endif
diff --git a/keyboards/crkbd/keymaps/rs/readme.md b/keyboards/crkbd/keymaps/rs/readme.md
new file mode 100644
index 000000000..d7f7bb645
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rs/readme.md
@@ -0,0 +1,19 @@
1# RS40: Code Friendly 40% Keymap
2
3This keymap is an evolution of my previous keymap optimized for coding with a 60% keyboards like the Iris. I tried to keep the simplicity of my previous keymap with all the keys necessary for coding on a single layer in addition to the base one.
4
5Because I sometime have to use my internal keyboard I my macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the code layer / backspace on right command key etc.
6
7See [rs readme](../../../../users/rs/readme.md) for a list of other keyboards supported by this keymap.
8
9## Base Layer
10
11[![](http://poitr.us/moooMf+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=E&_x:8%3B&=I%3B&@_y:-0.87&x:2%3B&=W&_x:1%3B&=R&_x:6%3B&=U&_x:1%3B&=O%3B&@_y:-0.8799999999999999&x:5%3B&=T&_x:4%3B&=Y%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=Q&_x:12%3B&=P&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=D&_x:8%3B&=K%3B&@_y:-0.8700000000000001&x:2%3B&=S&_x:1%3B&=F&_x:6%3B&=J&_x:1%3B&=L%3B&@_y:-0.8799999999999999&x:5%3B&=G&_x:4%3B&=H%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465&a:5%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=A&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%22%0A'%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=C&_x:8&a:5%3B&=%3C%0A,%3B&@_y:-0.8700000000000001&x:2&a:7%3B&=X&_x:1%3B&=V&_x:6%3B&=M&_x:1&a:5%3B&=%3E%0A.%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=B&_x:4%3B&=N%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=Z&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=Space%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code)
12
13## Code Layer
14
15[![](http://poitr.us/GvljvC+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=%23&_x:8%3B&=*%3B&@_y:-0.87&x:2%3B&=%2F@&_x:1%3B&=$&_x:6&a:5%3B&=%3C%0A(&_x:1%3B&=%3E%0A)%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=%25&_x:4%3B&=%5E%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=!&_x:12%3B&=!%2F=&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=3&_x:8%3B&=↑%3B&@_y:-0.8700000000000001&x:2%3B&=2&_x:1%3B&=4&_x:6&a:5%3B&=%7B%0A%5B&_x:1%3B&=%7D%0A%5D%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=5&_x:4&a:5%3B&=%2F_%0A-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=1&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%7C%0A%5C%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=8&_x:8%3B&=↓%3B&@_y:-0.8700000000000001&x:2%3B&=7&_x:1%3B&=9&_x:6%3B&=←&_x:1%3B&=→%3B&@_y:-0.8799999999999999&x:5%3B&=0&_x:4%3B&=%2F&%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=6&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=.%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code)
16
17## Fn Layer
18
19[![](http://poitr.us/OXwmBK+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=F3&_x:8%3B&=F8%3B&@_y:-0.87&x:2%3B&=F2&_x:1%3B&=F4&_x:6%3B&=F7&_x:1%3B&=F9%3B&@_y:-0.8799999999999999&x:5%3B&=F5&_x:4%3B&=F6%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=&_c=%236750f2&t=%2344b8b8%3B&=F1&_x:12%3B&=F10&_c=%233a1ee6&t=%23b84465%3B&=F11%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value+&_x:8%3B&=Page%20Up%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat+&_x:1%3B&=RGB%20Reset&_x:6%3B&=&_x:1%3B&=%3B&@_y:-0.8799999999999999&x:5%3B&=Bright+&_x:4%3B&=Vol+%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Toggle&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue+&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value-&_x:8%3B&=Page%20Down%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat-&_x:1%3B&=Reset&_x:6%3B&=Ctrl+A&_x:1%3B&=Ctrl+E%3B&@_y:-0.8799999999999999&x:5%3B&=Bright-&_x:4%3B&=Vol-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Mode&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue-&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Mute%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code) \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/rs/rules.mk b/keyboards/crkbd/keymaps/rs/rules.mk
new file mode 100644
index 000000000..683b4b70d
--- /dev/null
+++ b/keyboards/crkbd/keymaps/rs/rules.mk
@@ -0,0 +1,32 @@
1
2# Build Options
3# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically
5#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
7MOUSEKEY_ENABLE = no # Mouse keys(+4700)
8EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
9CONSOLE_ENABLE = no # Console for debug(+400)
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19TAP_DANCE_ENABLE = no
20
21BOOTLOADER = atmel-dfu
22
23# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
24SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
25
26# If you want to change the display of OLED, you need to change here
27SRC += oled.c \
28 ./lib/glcdfont.c \
29 ./lib/rgb_state_reader.c \
30 ./lib/layer_state_reader.c \
31 ./lib/logo_reader.c \
32 ./lib/keylogger.c \
diff --git a/keyboards/dz60/keymaps/macos_arrow/keymap.c b/keyboards/dz60/keymaps/macos_arrow/keymap.c
index 81d61a59a..0675a7954 100644
--- a/keyboards/dz60/keymaps/macos_arrow/keymap.c
+++ b/keyboards/dz60/keymaps/macos_arrow/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 * |-----------------------------------------------------------------------------------------+ 22 * |-----------------------------------------------------------------------------------------+
23 * | Shift | Z | X | C | V | B | N | M | , | . | / | | Up |Shift| 23 * | Shift | Z | X | C | V | B | N | M | , | . | / | | Up |Shift|
24 * |-----------------------------------------------------------------------------------------+ 24 * |-----------------------------------------------------------------------------------------+
25 * | Ctrl | Alt | Gui | Space / _NL |Gui/_ML| Alt | Left| Down|Right| 25 * | Ctrl | Alt | Gui | Space |Gui/_ML| Alt | Left| Down|Right|
26 * `-----------------------------------------------------------------------------------------' 26 * `-----------------------------------------------------------------------------------------'
27 */ 27 */
28 [_BL] = LAYOUT_all( 28 [_BL] = LAYOUT_all(
@@ -30,25 +30,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, 30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
31 LT(_FL, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, 31 LT(_FL, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
32 KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_A, KC_UP, KC_RSFT, 32 KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_A, KC_UP, KC_RSFT,
33 KC_LCTL, KC_LALT, KC_LGUI, KC_NO, LT(_NL, KC_SPC), KC_NO, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), 33 KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_NO, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
34 34
35 /* ,-----------------------------------------------------------------------------------------. 35 /* ,-----------------------------------------------------------------------------------------.
36 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | 36 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
37 * |-----------------------------------------------------------------------------------------+ 37 * |-----------------------------------------------------------------------------------------+
38 * | | | | | | | |PgUp | | | | | | | 38 * | | | | PgUp| | | | | Up | | | | | |
39 * |-----------------------------------------------------------------------------------------+ 39 * |-----------------------------------------------------------------------------------------+
40 * | | | | | | | Left| Down| Up |Right| | | | 40 * | | |Home |PgDwn| End | | | Left| Down|Right| | | |
41 * |-----------------------------------------------------------------------------------------+ 41 * |-----------------------------------------------------------------------------------------+
42 * | | | | | | | |PgDwn| | | | | | | 42 * | | | | | | | | | | | | | | |
43 * |-----------------------------------------------------------------------------------------+ 43 * |-----------------------------------------------------------------------------------------+
44 * | | | | | | | | | | 44 * | | | | | | | | | |
45 * `-----------------------------------------------------------------------------------------' 45 * `-----------------------------------------------------------------------------------------'
46 */ 46 */
47 [_FL] = LAYOUT_all( 47 [_FL] = LAYOUT_all(
48 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, 48 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
49 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, 49 _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, 50 _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
51 _______, KC_NO, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, 51 _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
53 53
54 /* ,-----------------------------------------------------------------------------------------. 54 /* ,-----------------------------------------------------------------------------------------.
@@ -64,30 +64,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
64 * `-----------------------------------------------------------------------------------------' 64 * `-----------------------------------------------------------------------------------------'
65 */ 65 */
66 [_ML] = LAYOUT_all( 66 [_ML] = LAYOUT_all(
67 KC_MEDIA_EJECT, BR_DOWN, BR_UP, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, _______, 67 KC_MEDIA_EJECT, BR_DOWN, BR_UP, BL_TOGG, RGB_TOG, _______, _______, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, _______,
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, 68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 70 _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_INC, _______,
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 71 _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE, BL_DEC, RGB_MODE_FORWARD),
72
73 /* ,-----------------------------------------------------------------------------------------.
74 * | | | | | | | | | % | ( | ) | < | > | |
75 * |-----------------------------------------------------------------------------------------+
76 * | | | | | | | | * | 0 | 1 | 2 | 3 | | |
77 * |-----------------------------------------------------------------------------------------+
78 * | | | | | | | | . | - | 4 | 5 | 6 | |
79 * |-----------------------------------------------------------------------------------------+
80 * | | | | | | | | , | = | 7 | 8 | 9 | | |
81 * |-----------------------------------------------------------------------------------------+
82 * | | | | | | | | | |
83 * `-----------------------------------------------------------------------------------------'
84 */
85 [_NL] = LAYOUT_all(
86 _______, _______, _______, _______, _______, _______, _______, _______, KC_PERCENT, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LEFT_ANGLE_BRACKET, KC_RIGHT_ANGLE_BRACKET, KC_NO, _______,
87 _______, _______, _______, _______, _______, _______, _______, KC_ASTERISK, KC_0, KC_1, KC_2, KC_3, _______, RESET,
88 _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_MINS, KC_4, KC_5, KC_6, _______,
89 _______, KC_NO, _______, _______, _______, _______, _______, _______, KC_COMMA, KC_EQL, KC_7, KC_8, KC_9, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
91}; 72};
92 73
93bool process_record_user(uint16_t keycode, keyrecord_t *record) { 74bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/dz60/keymaps/macos_arrow/rules.mk b/keyboards/dz60/keymaps/macos_arrow/rules.mk
index e1cfb3e50..1572f18c7 100644
--- a/keyboards/dz60/keymaps/macos_arrow/rules.mk
+++ b/keyboards/dz60/keymaps/macos_arrow/rules.mk
@@ -1,2 +1,2 @@
1BACKLIGHT_ENABLE = no 1BACKLIGHT_ENABLE = yes
2RGBLIGHT_ENABLE = no \ No newline at end of file 2RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/ergotravel/keymaps/rs/keymap.c b/keyboards/ergotravel/keymaps/rs/keymap.c
index 634e97c49..1ac0a94d9 100644
--- a/keyboards/ergotravel/keymaps/rs/keymap.c
+++ b/keyboards/ergotravel/keymaps/rs/keymap.c
@@ -1,25 +1,7 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2#include "rs.h"
3enum layers {
4 _QWERTY,
5 _HYPER,
6 _SIGN
7};
8
9
10#define KC_ KC_TRNS
11
12#define KC_ESCC MT(MOD_LCTL, KC_ESC)
13#define KC_ENTS MT(MOD_LSFT, KC_ENT)
14#define KC_HYPE MO(_HYPER)
15#define KC_SIGN MO(_SIGN)
16#define KC_RST RESET
17// Brightness
18#define KC_BRUP KC_PAUS
19#define KC_BRDN KC_SLCK
20 3
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23 [_QWERTY] = LAYOUT_kc( 5 [_QWERTY] = LAYOUT_kc(
24 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. 6 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
25 TAB , Q , W , E , R , T , GRV, BSLS, Y , U , I , O , P ,EQL , 7 TAB , Q , W , E , R , T , GRV, BSLS, Y , U , I , O , P ,EQL ,
@@ -28,32 +10,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 10 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
29 LSFT, Z , X , C , V , B , SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS, 11 LSFT, Z , X , C , V , B , SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS,
30 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| 12 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
31 SIGN, ,LCTL,LALT,LGUI, SPC, BSPC, HYPE,LEFT, UP ,DOWN,RIGHT 13 FN , ,LCTL,LALT,LGUI, SPC, BSPC, CODE,LEFT, UP ,DOWN,RIGHT
32 //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' 14 //`----+----+----+--+-+----/----/ \----\----+----+----+----+----'
33 ), 15 ),
34 16 [_CODE] = LAYOUT_kc(
35
36 [_HYPER] = LAYOUT_kc(
37 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. 17 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
38 GRV , 1 , 2 , 3 , 4 , 5 , , , 6 , 7 , 8 , 9 , 0 , , 18 GRV ,EXLM, AT ,HASH, DLR,PERC, , ,CIRC,LPLT,ASTR,RPGT,NEQL, ,
39 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 19 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
40 , , ,PGUP, , , , , , , UP ,LBRC,RBRC,BSLS, 20 , 1 , 2 , 3 , 4 , 5 , , ,MINS,LBRC, UP ,RBRC, ,BSLS,
41 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 21 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
42 , ,HOME,PGDN,END , , , VOLU, ,LEFT,DOWN,RGHT, ,PIPE, 22 , 6 , 7 , 8 , 9 , 0 , DOT, ,AMPR,LEFT,DOWN,RGHT, ,PIPE,
43 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| 23 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
44 , , , , , , VOLD, ,MUTE, , , 24 , , , , , , , , , , ,
45 //`----+----+----+----+----/----/ \----\----+----+----+----+----' 25 //`----+----+----+----+----/----/ \----\----+----+----+----+----'
46 ), 26 ),
47 27 [_FN] = LAYOUT_kc(
48 [_SIGN] = LAYOUT_kc(
49 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. 28 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
50 TILD,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LBRC,RBRC, , 29 , F1 , F2 , F3 , F4 , F5 , , , F6 , F7 , F8 , F9 , F10,F11 ,
51 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 30 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
52 RST , F1 , F2 , F3 , F4 , F5 , F6 , , , , ,LCBR,RCBR,PIPE, 31 , , , , , ,BRMU, , , ,PGUP, , , ,
53 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 32 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
54 , 1 , 2 , 3 , 4 , 5 , , BRUP, 6 , 7 , 8 , 9 , 0 , , 33 , , , , , RST,BRMD, VOLU, ,CTRA,PGDN,CTRE, , ,
55 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| 34 //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
56 , , , , , , BRDN, , , , , 35 , , , , , , VOLD,MUTE, , , ,
57 //`----+----+----+----+----/----/ \----\----+----+----+----+----' 36 //`----+----+----+----+----/----/ \----\----+----+----+----+----'
58 ), 37 ),
59}; \ No newline at end of file 38}; \ No newline at end of file
diff --git a/keyboards/ergotravel/keymaps/rs/readme.md b/keyboards/ergotravel/keymaps/rs/readme.md
index 93b87cc23..d23ab6687 100644
--- a/keyboards/ergotravel/keymaps/rs/readme.md
+++ b/keyboards/ergotravel/keymaps/rs/readme.md
@@ -1,13 +1 @@
1# Code friendly 60% keymap See [rs readme](../../../../users/rs/readme.md). \ No newline at end of file
2
3I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
4
5The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
6
7The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
8
9Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
10
11This keymap is also available for other keyboards:
12- [ortho_5x12/rs](../../../../layouts/community/ortho_5x12/rs/keymap.c)
13- [Iris/rs](../../../iris/keymaps/rs/keymap.c)
diff --git a/keyboards/keebio/iris/keymaps/rs/config.h b/keyboards/keebio/iris/keymaps/rs/config.h
index 7c5b5ca43..412862c87 100644
--- a/keyboards/keebio/iris/keymaps/rs/config.h
+++ b/keyboards/keebio/iris/keymaps/rs/config.h
@@ -35,4 +35,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#define RGBLIGHT_SLEEP 35#define RGBLIGHT_SLEEP
36#define RGBLIGHT_HUE_STEP 1 36#define RGBLIGHT_HUE_STEP 1
37#define RGBLIGHT_SAT_STEP 1 37#define RGBLIGHT_SAT_STEP 1
38#define RGBLIGHT_VAL_STEP 1 \ No newline at end of file 38#define RGBLIGHT_VAL_STEP 1
diff --git a/keyboards/keebio/iris/keymaps/rs/keymap.c b/keyboards/keebio/iris/keymaps/rs/keymap.c
index 43374e59f..0e254ea19 100644
--- a/keyboards/keebio/iris/keymaps/rs/keymap.c
+++ b/keyboards/keebio/iris/keymaps/rs/keymap.c
@@ -1,48 +1,45 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2#include "rs.h"
3enum layers {
4 _QWERTY,
5 _HYPER,
6};
7
8#define KC_ KC_TRNS
9
10#define KC_ESCC MT(MOD_LCTL, KC_ESC)
11#define KC_ENTS MT(MOD_LSFT, KC_ENT)
12#define KC_HYPE MO(_HYPER)
13#define KC_RST RESET
14// Brightness
15#define KC_BRUP KC_PAUS
16#define KC_BRDN KC_SLCK
17#define KC_BLTG BL_TOGG
18 3
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 [_QWERTY] = LAYOUT_kc( 5 [_QWERTY] = LAYOUT_kc(
22 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 6 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
23 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS, 7 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,
24 //|----+----+----+----+----+----| |----+----+----+----+----+----| 8 //|----+----+----+----+----+----| |----+----+----+----+----+----|
25 TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL, 9 TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL ,
26 //|----+----+----+----+----+----| |----+----+----+----+----+----| 10 //|----+----+----+----+----+----| |----+----+----+----+----+----|
27 ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, 11 ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
28 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 12 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
29 LSFT, Z , X , C , V , B ,SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS, 13 LSFT, Z , X , C , V , B ,SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS,
30 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' 14 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
31 LALT,LGUI,SPC, BSPC,HYPE,ENT 15 LALT,LGUI,SPC , BSPC,CODE,FN
32 // `----+----+----' `+---+----+----' 16 // `----+----+----' `+---+----+----'
33 ), // | 17 ),
34 // | 18 [_CODE] = LAYOUT_kc(
35 [_HYPER] = LAYOUT_kc( // V 19 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
20 , , , , , , , , , , , ,
21 //|----+----+----+----+----+----| |----+----+----+----+----+----|
22 GRV ,EXLM, AT ,HASH, DLR,PERC, CIRC,LPLT,ASTR,RPGT,NEQL, ,
23 //|----+----+----+----+----+----| |----+----+----+----+----+----|
24 , 1 , 2 , 3 , 4 , 5 , MINS,LBRC, UP ,RBRC, ,BSLS,
25 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
26 , 6 , 7 , 8 , 9 , 0 , , ,AMPR,LEFT,DOWN,RGHT, ,PIPE,
27 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
28 , , DOT, , ,
29 // `----+----+----' `----+----+----'
30 ),
31 [_FN] = LAYOUT_kc(
36 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 32 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
37 RST , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 ,LBRC,RBRC, , 33 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10, F11,
38 //|----+----+----+----+----+----| |----+----+----+----+----+----| 34 //|----+----+----+----+----+----| |----+----+----+----+----+----|
39 , , ,PGUP, ,BRUP, , , UP ,LCBR,RCBR,BSLS, 35 , , , , , , , , , , , ,
40 //|----+----+----+----+----+----| |----+----+----+----+----+----| 36 //|----+----+----+----+----+----| |----+----+----+----+----+----|
41 , ,HOME,PGDN,END ,BRDN, MINS,LEFT,DOWN,RGHT, ,PIPE, 37 BLTG,BLUP, , , ,BRMU, , ,PGUP, , , ,
42 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 38 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
43 , , , , , ,BLTG, VOLU, , , , , , , 39 ,BLDN, , ,RST ,BRMD, , VOLU, ,CTRA,PGDN,CTRE, , ,
44 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' 40 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
45 , , , VOLD, ,MUTE 41 , , , VOLD,MUTE,
46 // `----+----+----' `----+----+----' 42 // `----+----+----' `----+----+----'
47 ), 43 ),
48}; 44};
45
diff --git a/keyboards/keebio/iris/keymaps/rs/readme.md b/keyboards/keebio/iris/keymaps/rs/readme.md
index bdf44121e..d23ab6687 100644
--- a/keyboards/keebio/iris/keymaps/rs/readme.md
+++ b/keyboards/keebio/iris/keymaps/rs/readme.md
@@ -1,13 +1 @@
1# Code friendly 60% keymap See [rs readme](../../../../users/rs/readme.md). \ No newline at end of file
2
3I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
4
5The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
6
7The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
8
9Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
10
11This keymap is also available for other keyboards:
12- [ortho_5x12/rs](../../../../layouts/community/ortho_5x12/rs/keymap.c)
13- [ErgoTravel/rs](../../../ergotravel/keymaps/rs/keymap.c)
diff --git a/keyboards/keebio/iris/keymaps/rs/rules.mk b/keyboards/keebio/iris/keymaps/rs/rules.mk
index bd518d8f2..b4f058b4b 100644
--- a/keyboards/keebio/iris/keymaps/rs/rules.mk
+++ b/keyboards/keebio/iris/keymaps/rs/rules.mk
@@ -1 +1,2 @@
1BACKLIGHT_ENABLE = yes 1BACKLIGHT_ENABLE = yes
2BOOTLOADER = atmel-dfu
diff --git a/layouts/community/ortho_4x12/rs/config.h b/layouts/community/ortho_4x12/rs/config.h
new file mode 100644
index 000000000..6f70f09be
--- /dev/null
+++ b/layouts/community/ortho_4x12/rs/config.h
@@ -0,0 +1 @@
#pragma once
diff --git a/layouts/community/ortho_4x12/rs/keymap.c b/layouts/community/ortho_4x12/rs/keymap.c
new file mode 100644
index 000000000..c6d6f14ca
--- /dev/null
+++ b/layouts/community/ortho_4x12/rs/keymap.c
@@ -0,0 +1,52 @@
1#include QMK_KEYBOARD_H
2#include "rs.h"
3
4// Used to create a keymap using only KC_ prefixed keys
5#define LAYOUT_kc( \
6 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
7 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
8 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
9 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
10 ) \
11 LAYOUT_ortho_4x12( \
12 KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \
13 KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \
14 KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \
15 KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b \
16 )
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [_QWERTY] = LAYOUT_kc( \
20 // ,-----------------------------------------------------------------------------------.
21 TAB , Q , W , E , R , T , Y , U , I , O , P , EQL ,
22 // |------+------+------+------+------+------+------+------+------+------+------+------|
23 ESCC , A , S , D , F , G , H , J , K , L , SCLN , QUOT ,
24 // |------+------+------+------+------+------+------+------+------+------+------+------|
25 LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , ENTS ,
26 // |------+------+------+------+------+------+------+------+------+------+------+------|
27 , , LCTL , LALT , LGUI , SPC , SPC , BCOD , FN , , LEFT , RGHT
28 // `-----------------------------------------------------------------------------------'
29 ),
30 [_CODE] = LAYOUT_kc(
31 // ,-----------------------------------------------------------------------------------.
32 GRV , EXLM , AT , HASH , DLR , PERC , CIRC , LPLT , ASTR , RPGT , NEQL , ,
33 // |------+------+------+------+------+------+------+------+------+------+------+------|
34 , 1 , 2 , 3 , 4 , 5 , MINS , LBRC , UP , RBRC , , BSLS ,
35 // |------+------+------+------+------+------+------+------+------+------+------+------|
36 , 6 , 7 , 8 , 9 , 0 , AMPR , LEFT , DOWN , RGHT , , PIPE ,
37 // |------+------+------+------+------+------+------+------+------+------+------+------|
38 , , , , , DOT , , , , , ,
39 // `-----------------------------------------------------------------------------------'
40 ),
41 [_FN] = LAYOUT_kc(
42 // ,-----------------------------------------------------------------------------------.
43 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10 , F11 ,
44 // |------+------+------+------+------+------+------+------+------+------+------+------|
45 BLTG , BLUP , , , , BRMU , VOLU , , PGUP , , , ,
46 // |------+------+------+------+------+------+------+------+------+------+------+------|
47 BLTG , BLDN , , , RST , BRMD , VOLD , CTRA , PGDN , CTRE , , ,
48 // |------+------+------+------+------+------+------+------+------+------+------+------|
49 , , , , , , MUTE , , , , ,
50 // `-----------------------------------------------------------------------------------'
51 ),
52};
diff --git a/layouts/community/ortho_4x12/rs/readme.md b/layouts/community/ortho_4x12/rs/readme.md
new file mode 100644
index 000000000..d23ab6687
--- /dev/null
+++ b/layouts/community/ortho_4x12/rs/readme.md
@@ -0,0 +1 @@
See [rs readme](../../../../users/rs/readme.md). \ No newline at end of file
diff --git a/layouts/community/ortho_5x12/rs/config.h b/layouts/community/ortho_5x12/rs/config.h
index 02076e872..6f70f09be 100644
--- a/layouts/community/ortho_5x12/rs/config.h
+++ b/layouts/community/ortho_5x12/rs/config.h
@@ -1,35 +1 @@
1#pragma once #pragma once
2
3#ifdef AUDIO_ENABLE
4//#define STARTUP_SONG SONG(PREONIC_SOUND)
5#define STARTUP_SONG SONG(NO_SOUND)
6
7#define DEFAULT_LAYER_SONGS \
8 { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) }
9#endif
10
11#define MUSIC_MASK (keycode != KC_NO)
12
13/*
14 * MIDI options
15 */
16
17/* Prevent use of disabled MIDI features in the keymap */
18//#define MIDI_ENABLE_STRICT 1
19
20/* enable basic MIDI features:
21 - MIDI notes can be sent when in Music mode is on
22*/
23
24#define MIDI_BASIC
25
26/* enable advanced MIDI features:
27 - MIDI notes can be added to the keymap
28 - Octave shift and transpose
29 - Virtual sustain, portamento, and modulation wheel
30 - etc.
31*/
32//#define MIDI_ADVANCED
33
34/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
35//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/layouts/community/ortho_5x12/rs/karabiner.json b/layouts/community/ortho_5x12/rs/karabiner.json
deleted file mode 100644
index f5214650a..000000000
--- a/layouts/community/ortho_5x12/rs/karabiner.json
+++ /dev/null
@@ -1,154 +0,0 @@
1{
2 "title": "RS",
3 "rules": [{
4 "description": "CapsLock to Escape / Control Mod-Tap",
5 "manipulators": [{
6 "type": "basic",
7 "from": {
8 "key_code": "caps_lock",
9 "modifiers": {
10 "optional": ["any"]
11 }
12 },
13 "to": [{"key_code": "left_control"}],
14 "to_if_alone": [{"key_code": "escape"}]
15 }]
16 },
17 {
18 "description": "Right-Shift / Enter Mod-Tap",
19 "manipulators": [{
20 "type": "basic",
21 "from": {
22 "key_code": "right_shift",
23 "modifiers": {
24 "optional": ["any"]
25 }
26 },
27 "to": [{"key_code": "right_shift"}],
28 "to_if_alone": [{"key_code": "return_or_enter"}]
29 }]
30 },
31 {
32 "description": "Right-Command / Backspace Mod-Tap",
33 "manipulators": [{
34 "type": "basic",
35 "from": {
36 "key_code": "right_command",
37 "modifiers": {
38 "optional": ["any"]
39 }
40 },
41 "to": [{"key_code": "right_command"}],
42 "to_if_alone": [{"key_code": "delete_or_backspace"}]
43 }]
44 },
45 {
46 "description": "Right-Command Accents",
47 "manipulators": [
48 {
49 "type": "basic",
50 "from": {
51 "key_code": "a",
52 "modifiers": {
53 "mandatory": ["right_command"],
54 "optional": ["left_shift", "right_shift"]
55 }
56 },
57 "to": [
58 {"key_code": "grave_accent_and_tilde", "modifiers": ["left_option"]},
59 {"key_code": "a"}
60 ]
61 }]
62 },
63 {
64 "description": "Right Command Navigation",
65 "manipulators": [{
66 "type": "basic",
67 "from": {
68 "key_code": "j",
69 "modifiers": {
70 "mandatory": ["right_command"],
71 "optional": ["any"]
72 }
73 },
74 "to": [{"key_code": "left_arrow"}]
75 },
76 {
77 "type": "basic",
78 "from": {
79 "key_code": "k",
80 "modifiers": {
81 "mandatory": ["right_command"],
82 "optional": ["any"]
83 }
84 },
85 "to": [{"key_code": "down_arrow"}]
86 },
87 {
88 "type": "basic",
89 "from": {
90 "key_code": "i",
91 "modifiers": {
92 "mandatory": ["right_command"],
93 "optional": ["any"]
94 }
95 },
96 "to": [{"key_code": "up_arrow"}]
97 },
98 {
99 "type": "basic",
100 "from": {
101 "key_code": "l",
102 "modifiers": {
103 "mandatory": ["right_command"],
104 "optional": ["any"]
105 }
106 },
107 "to": [{"key_code": "right_arrow"}]
108 },
109 {
110 "type": "basic",
111 "from": {
112 "key_code": "e",
113 "modifiers": {
114 "mandatory": ["right_command"],
115 "optional": ["any"]
116 }
117 },
118 "to": [{"key_code": "page_up"}]
119 },
120 {
121 "type": "basic",
122 "from": {
123 "key_code": "d",
124 "modifiers": {
125 "mandatory": ["right_command"],
126 "optional": ["any"]
127 }
128 },
129 "to": [{"key_code": "page_down"}]
130 },
131 {
132 "type": "basic",
133 "from": {
134 "key_code": "s",
135 "modifiers": {
136 "mandatory": ["right_command"],
137 "optional": ["any"]
138 }
139 },
140 "to": [{"key_code": "home"}]
141 },
142 {
143 "type": "basic",
144 "from": {
145 "key_code": "f",
146 "modifiers": {
147 "mandatory": ["right_command"],
148 "optional": ["any"]
149 }
150 },
151 "to": [{"key_code": "end"}]
152 }]
153 }]
154}
diff --git a/layouts/community/ortho_5x12/rs/keymap.c b/layouts/community/ortho_5x12/rs/keymap.c
index e4e590669..15cbabaac 100644
--- a/layouts/community/ortho_5x12/rs/keymap.c
+++ b/layouts/community/ortho_5x12/rs/keymap.c
@@ -1,19 +1,5 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2#include "rs.h"
3enum layers {
4 _QWERTY,
5 _HYPER,
6};
7
8#define KC_ KC_TRNS
9
10#define KC_ESCC MT(MOD_LCTL, KC_ESC)
11#define KC_RST RESET
12#define KC_BSPH LT(_HYPER, KC_BSPC)
13#define KC_ENTS MT(MOD_LSFT, KC_ENT)
14// Brightness
15#define KC_BRUP KC_PAUS
16#define KC_BRDN KC_SLCK
17 3
18// Used to create a keymap using only KC_ prefixed keys 4// Used to create a keymap using only KC_ prefixed keys
19#ifndef LAYOUT_kc 5#ifndef LAYOUT_kc
@@ -34,7 +20,6 @@ enum layers {
34#endif 20#endif
35 21
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38 [_QWERTY] = LAYOUT_kc( \ 23 [_QWERTY] = LAYOUT_kc( \
39 // ,-----------------------------------------------------------------------------------. 24 // ,-----------------------------------------------------------------------------------.
40 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , MINS , 25 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , MINS ,
@@ -45,21 +30,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 // |------+------+------+------+------+------+------+------+------+------+------+------| 30 // |------+------+------+------+------+------+------+------+------+------+------+------|
46 LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , ENTS , 31 LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , ENTS ,
47 // |------+------+------+------+------+------+------+------+------+------+------+------| 32 // |------+------+------+------+------+------+------+------+------+------+------+------|
48 , LCTL , LALT , LGUI , SPC , SPC , BSPC , BSPH , LEFT , DOWN , UP , RGHT 33 , , LCTL , LALT , LGUI , SPC , SPC , BCOD , FN , , LEFT , RGHT
49 // `---------------------------------------------------+-------------------------------' 34 // `---------------------------------------------------+-------------------------------'
50 ), // | 35 ),
51 // | 36 [_CODE] = LAYOUT_kc(
52 [_HYPER] = LAYOUT_kc( /* V */ \ 37 // ,-----------------------------------------------------------------------------------.
38 , , , , , , , , , , , ,
39 // |------+------+------+------+------+------+------+------+------+------+------+------|
40 GRV , EXLM , AT , HASH , DLR , PERC , CIRC , LPLT , ASTR , RPGT , NEQL , ,
41 // |------+------+------+------+------+------+------+------+------+------+------+------|
42 , 1 , 2 , 3 , 4 , 5 , MINS , LBRC , UP , RBRC , , BSLS ,
43 // |------+------+------+------+------+------+------+------+------+------+------+------|
44 , 6 , 7 , 8 , 9 , 0 , AMPR , LEFT , DOWN , RGHT , , PIPE ,
45 // |------+------+------+------+------+------+------+------+------+------+------+------|
46 , , , , , DOT , , , , , ,
47 // `-----------------------------------------------------------------------------------'
48 ),
49 [_FN] = LAYOUT_kc(
53 // ,-----------------------------------------------------------------------------------. 50 // ,-----------------------------------------------------------------------------------.
54 RST , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , LBRC , RBRC , , 51 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10 , F11 ,
55 // |------+------+------+------+------+------+------+------+------+------+------+------| 52 // |------+------+------+------+------+------+------+------+------+------+------+------|
56 , , , PGUP , , , , , UP , LCBR , RCBR , BSLS , 53 , , , , , , , , , , , ,
57 // |------+------+------+------+------+------+------+------+------+------+------+------| 54 // |------+------+------+------+------+------+------+------+------+------+------+------|
58 , , HOME , PGDN , END , , MINS , LEFT , DOWN , RGHT , , PIPE , 55 BLTG , BLUP , , , , BRMU , VOLU , , PGUP , , , ,
59 // |------+------+------+------+------+------+------+------+------+------+------+------| 56 // |------+------+------+------+------+------+------+------+------+------+------+------|
60 , , , , , , , , , BRDN , BRUP , , 57 BLTG , BLDN , , , RST , BRMD , VOLD , CTRA , PGDN , CTRE , , ,
61 // |------+------+------+------+------+------+------+------+------+------+------+------| 58 // |------+------+------+------+------+------+------+------+------+------+------+------|
62 , , , , , , , , MUTE , VOLD , VOLU , MPLY 59 , , , , , , MUTE , , , , ,
63 // `-----------------------------------------------------------------------------------' 60 // `-----------------------------------------------------------------------------------'
64 ), 61 ),
65}; 62};
63
diff --git a/layouts/community/ortho_5x12/rs/readme.md b/layouts/community/ortho_5x12/rs/readme.md
index d75eefd5b..d23ab6687 100644
--- a/layouts/community/ortho_5x12/rs/readme.md
+++ b/layouts/community/ortho_5x12/rs/readme.md
@@ -1,17 +1 @@
1# Code friendly 60% keymap See [rs readme](../../../../users/rs/readme.md). \ No newline at end of file
2
3I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
4
5The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
6
7The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
8
9Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
10
11This keymap has been tested with those keyboards:
12- [Preonic](../../../../keyboards/preonic/)
13- [My preonic clone](../../../rs60/)
14
15Checkout an adaptation of this keymap for other keyboards:
16- [Iris/rs](../../../../keyboards/iris/keymaps/rs/keymap.c)
17- [ErgoTravel/rs](../../../../keyboards/ergotravel/keymaps/rs/keymap.c) \ No newline at end of file
diff --git a/keyboards/keebio/iris/keymaps/rs/karabiner.json b/users/rs/karabiner.json
index f5214650a..f5214650a 100644
--- a/keyboards/keebio/iris/keymaps/rs/karabiner.json
+++ b/users/rs/karabiner.json
diff --git a/users/rs/readme.md b/users/rs/readme.md
new file mode 100644
index 000000000..60b34ea32
--- /dev/null
+++ b/users/rs/readme.md
@@ -0,0 +1,30 @@
1# RS: Code Friendly 40% – 60% Keymaps
2
3The rs keymap collection is an evolution of my previous keymap optimized for coding with a 60% keyboards like the Iris. I tried to keep the simplicity of my previous keymap with all the keys necessary for coding on a single layer in addition to the base one. It work well with any 40% and 60% keyboard, split or not.
4
5To build it, use:
6
7 make <keyboard>:rs
8
9Example:
10
11 make keebio/iris:rs
12 make crkbd:rs
13 make planck:rs
14 make preonic:rs
15 make ergotravel:rs
16 make handwired/rs60:rs
17
18Because I sometime have to use my internal keyboard I my macbook, a [karabiner configuration](karabiner.json) is also provided to get most of the features of this keyboard, including the code layer / backspace on right command key etc.
19
20This set of keymaps have been tested with those keyboards:
21- [Planck](../../keyboards/planck/)
22- [Preonic](../../keyboards/preonic/)
23- [My preonic clone](../../keyboards/handwired/rs60/)
24
25This keymap in is also available for other keyboards:
26- [Crkdb/rs](../../keyboards/crkbd/keymaps/rs/keymap.c)
27- [Iris/rs](../../keyboards/keebio/iris/keymaps/rs/keymap.c)
28- [Ergotravel/rs](../../keyboards/ergotravel/keymaps/rs/keymap.c)
29- [ortho_5x12/rs](../../layouts/community/ortho_5x12/rs/keymap.c)
30- [ortho_4x12/rs](../../layouts/community/ortho_4x12/rs/keymap.c)
diff --git a/users/rs/rs.c b/users/rs/rs.c
new file mode 100644
index 000000000..fa634bb92
--- /dev/null
+++ b/users/rs/rs.c
@@ -0,0 +1,74 @@
1
2#include "rs.h"
3
4// process_record_user is like process_record_user for keymaps including this file.
5__attribute__ ((weak))
6bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
7 return true;
8}
9
10// rgb_mod_changed_keymap is called any time the RGB mod has been changed.
11__attribute__ ((weak))
12void rgb_mod_changed_keymap(void) {
13}
14
15// keylog_set_keymap is called for every key press.
16__attribute__ ((weak))
17void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) {
18}
19
20bool process_record_user(uint16_t keycode, keyrecord_t *record) {
21 if (record->event.pressed) {
22 keylog_set_keymap(keycode, record);
23 }
24
25 switch (keycode) {
26 case NEQL: // !=
27 if (record->event.pressed) {
28 SEND_STRING("!=");
29 }
30 return false;
31 case LPLT: // ( or < with shift
32 if (record->event.pressed) {
33 if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) {
34 // <
35 tap_code(KC_COMM); // shift is already registered
36 } else {
37 // (
38 register_mods(MOD_BIT(KC_LSFT));
39 tap_code(KC_9);
40 unregister_mods(MOD_BIT(KC_LSFT));
41 }
42 }
43 return false;
44 case RPGT: // ) or > with shift
45 if (record->event.pressed) {
46 if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) {
47 // <
48 tap_code(KC_DOT); // shift is already registered
49 } else {
50 // )
51 register_mods(MOD_BIT(KC_LSFT));
52 tap_code(KC_0);
53 unregister_mods(MOD_BIT(KC_LSFT));
54 }
55 }
56 return false;
57#ifdef RGBLIGHT_ENABLE
58 case RGB_MOD:
59 if (record->event.pressed) {
60 rgblight_step();
61 rgb_mod_changed_keymap();
62 }
63 return false;
64 case RGBRST:
65 if (record->event.pressed) {
66 eeconfig_update_rgblight_default();
67 rgblight_enable();
68 rgb_mod_changed_keymap();
69 }
70 return false;
71#endif
72 }
73 return process_record_keymap(keycode, record);
74} \ No newline at end of file
diff --git a/users/rs/rs.h b/users/rs/rs.h
new file mode 100644
index 000000000..722d6ed19
--- /dev/null
+++ b/users/rs/rs.h
@@ -0,0 +1,50 @@
1#pragma once
2#include "quantum.h"
3
4enum layers {
5 _QWERTY,
6 _CODE,
7 _FN,
8};
9
10enum custom_keycodes {
11 CODE = SAFE_RANGE,
12 FN,
13 LPLT,
14 RPGT,
15 NEQL,
16#ifdef RGBLIGHT_ENABLE
17 RGBRST,
18#endif
19};
20
21#define KC_ KC_TRNS
22
23#define KC_ESCC MT(MOD_LCTL, KC_ESC)
24#define KC_ENTS MT(MOD_LSFT, KC_ENT)
25#define KC_LTGT LTGT // > or < with shift
26#define KC_LPLT LPLT // ( or < with shift
27#define KC_RPGT RPGT // ) or > with shift
28#define KC_NEQL NEQL // !=
29#define KC_CODE MO(_CODE)
30#define KC_BCOD LT(_CODE, KC_BSPC)
31#define KC_FN MO(_FN)
32#define KC_RST RESET
33#define KC_CTRA LCTL(KC_A)
34#define KC_CTRE LCTL(KC_E)
35#define KC_BLTG BL_TOGG
36#define KC_BLUP BL_INC
37#define KC_BLDN BL_DEC
38#define KC_BLBR BL_BRTG
39
40#ifdef RGBLIGHT_ENABLE
41#define KC_LRST RGBRST
42#define KC_LTOG RGB_TOG
43#define KC_LHUI RGB_HUI
44#define KC_LHUD RGB_HUD
45#define KC_LSAI RGB_SAI
46#define KC_LSAD RGB_SAD
47#define KC_LVAI RGB_VAI
48#define KC_LVAD RGB_VAD
49#define KC_LMOD RGB_MOD
50#endif \ No newline at end of file
diff --git a/users/rs/rules.mk b/users/rs/rules.mk
new file mode 100644
index 000000000..edb5be0f5
--- /dev/null
+++ b/users/rs/rules.mk
@@ -0,0 +1 @@
SRC += rs.c \ No newline at end of file