aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodox_ez/keymaps/rishka/config.h17
-rw-r--r--keyboards/ergodox_ez/keymaps/rishka/keymap.c210
-rw-r--r--keyboards/ergodox_ez/keymaps/rishka/rules.mk2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h41
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c61
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk3
-rw-r--r--keyboards/keebio/bdn9/keymaps/rishka/config.h5
-rw-r--r--keyboards/keebio/bdn9/keymaps/rishka/keymap.c66
-rw-r--r--keyboards/keebio/bdn9/keymaps/rishka/rules.mk1
-rw-r--r--users/rishka/rishka.c1
-rw-r--r--users/rishka/rishka.h74
-rw-r--r--users/rishka/rules.mk1
12 files changed, 482 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/rishka/config.h b/keyboards/ergodox_ez/keymaps/rishka/config.h
new file mode 100644
index 000000000..c8f8180bc
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/rishka/config.h
@@ -0,0 +1,17 @@
1#pragma once
2
3#define PERMISSIVE_HOLD
4
5#undef MOUSEKEY_TIME_TO_MAX
6#define MOUSEKEY_TIME_TO_MAX 0
7
8#undef MOUSEKEY_WHEEL_MAX_SPEED
9#undef MOUSEKEY_WHEEL_TIME_TO_MAX
10
11#define MOUSEKEY_WHEEL_MAX_SPEED 1
12#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
13
14#define MK_C_OFFSET_1 20
15#define MK_C_OFFSET_2 30
16
17#undef MK_MOMENTARY_ACCEL
diff --git a/keyboards/ergodox_ez/keymaps/rishka/keymap.c b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
new file mode 100644
index 000000000..102803e51
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/rishka/keymap.c
@@ -0,0 +1,210 @@
1
2#include QMK_KEYBOARD_H
3#include "version.h"
4#include "rishka.h"
5enum layers {
6 BASE, // default layer
7 WIN, // Switch keys that are needed in windows
8 SYMB, // symbols
9 MDIA, // media keys
10 GAME, // Gamepad setup
11 FIRMWARE // Layer to trigger reset/refresh
12};
13enum custom_keycodes {
14 VRSN = SAFE_RANGE,
15 RGB_SLD
16};
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20[BASE] = LAYOUT_ergodox_pretty_wrapper(
21 KC_EQL, ________________NUMBERS_L__________________, TG(WIN), OSX_LOCK, ________________NUMBERS_R__________________, KC_MINS,
22 KC_DELT, _________________QWERTY_L1_________________, TG(SYMB), TG(SYMB), _________________QWERTY_R1_________________, KC_BSLS,
23 KC_BSPC, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, LT(MDIA, KC_QUOT),
24 OS_LSFT, _________________QWERTY_L3_________________, ALL_T(KC_NO), TG(MDIA), _________________QWERTY_R3_________________, OS_RSFT,
25 LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, OSL(SYMB),
26 ALT_T(KC_APP), TG(GAME), KC_LALT, CTL_T(KC_ESC),
27 LT(FIRMWARE, KC_HOME), KC_PGUP,
28 KC_SPC, GUI_T(KC_BSPC), ALT_T(KC_END), GUI_T(KC_PGDN), CTL_T(KC_TAB), ALT_T(KC_ENT)
29),
30
31[WIN] = LAYOUT_ergodox_pretty_wrapper(
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 KC_TAB, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______,
36 KC_LCTL, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
37 _______, KC_ESC, _______, _______,
38 _______, _______,
39 _______, KC_BSPC, KC_LALT, KC_PGDN, CTL_T(KC_TAB), _______
40),
41
42[SYMB] = LAYOUT_ergodox_pretty_wrapper(
43VRSN, ______________________F_L__________________, KC_F11, KC_F12 , ______________________F_R__________________, KC_NLCK,
44_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
45_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
46_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
47_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PSLS, _______,
48 RGB_MOD, RGB_VAI, RGB_HUI, RGB_SLD,
49 RGB_VAD, RGB_HUD,
50 _______, _______, _______, RGB_TOG, _______, _______
51),
52
53[MDIA] = LAYOUT_ergodox(
54 // left hand
55 _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, KC_MS_U, _______, KC_WH_U, _______,
57 _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
58 _______, _______, _______, _______, _______, _______, _______,
59 _______, _______, _______, KC_BTN1, KC_BTN2,
60 _______, KC_BTN5,
61 KC_BTN4,
62 KC_BTN1, KC_BTN2, KC_BTN3,
63 // right hand
64 _______, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, KC_WH_U, _______, _______, _______,
66 _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, KC_MPLY,
67 _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
68 KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
69 _______, _______,
70 _______,
71 KC_ACL2, KC_ACL1, KC_ACL0
72),
73
74[GAME] = LAYOUT_ergodox(
75 // left hand
76 KC_ESCAPE, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5,
77 KC_F1, KC_Y, KC_Q, KC_W, KC_E, KC_R, KC_T,
78 KC_TAB, KC_LSHIFT, KC_A, KC_S, KC_D, KC_F,
79 KC_LCTRL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_G,
80 LT(BASE, KC_L), KC_J, KC_I, KC_O, KC_M,
81 KC_ESCAPE, _______,
82 KC_ENTER,
83 KC_SPACE, KC_LCTRL, KC_LALT,
84 // right hand
85 KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
86 TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
87 KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT),
88 MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
89 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
90 KC_LALT, CTL_T(KC_ESC),
91 KC_PGUP,
92 KC_PGDN, KC_TAB, KC_ENT
93),
94
95[FIRMWARE] = LAYOUT_ergodox(
96 // left hand
97 _______, _______, _______, _______, _______, _______, _______,
98 _______, _______, _______, _______, _______, _______, _______,
99 _______, _______, _______, _______, _______, _______,
100 _______, _______, _______, _______, _______, _______, _______,
101 _______, _______, _______, _______, _______,
102 _______, _______,
103 _______,
104 RESET, _______, _______,
105 // right hand
106 _______, _______, _______, _______, _______, _______, _______,
107 _______, _______, _______, _______, _______, _______, _______,
108 _______, _______, _______, _______, _______, _______,
109 _______, _______, _______, _______, _______, _______, _______,
110 _______, _______, _______, _______, _______,
111 _______, _______,
112 _______,
113 _______, _______, EEP_RST
114),
115};
116
117bool process_record_user(uint16_t keycode, keyrecord_t *record) {
118 if (record->event.pressed) {
119 switch (keycode) {
120 case VRSN:
121 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
122 return false;
123 #ifdef RGBLIGHT_ENABLE
124 case RGB_SLD:
125 rgblight_mode(1);
126 return false;
127 #endif
128 }
129 }
130 return true;
131}
132
133// Runs just one time when the keyboard initializes.
134void keyboard_post_init_user(void) {
135#ifdef RGBLIGHT_COLOR_LAYER_0
136 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
137#endif
138};
139
140// Runs whenever there is a layer state change.
141uint32_t layer_state_set_user(layer_state_t state) {
142 ergodox_board_led_off();
143 ergodox_right_led_1_off();
144 ergodox_right_led_2_off();
145 ergodox_right_led_3_off();
146
147 uint8_t layer = get_highest_layer(state);
148 switch (layer) {
149 case 0:
150 #ifdef RGBLIGHT_COLOR_LAYER_0
151 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
152 #else
153 #ifdef RGBLIGHT_ENABLE
154 rgblight_init();
155 #endif
156 #endif
157 break;
158 case 1:
159 ergodox_right_led_1_on();
160 #ifdef RGBLIGHT_COLOR_LAYER_1
161 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1);
162 #endif
163 break;
164 case 2:
165 ergodox_right_led_2_on();
166 #ifdef RGBLIGHT_COLOR_LAYER_2
167 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2);
168 #endif
169 break;
170 case 3:
171 ergodox_right_led_3_on();
172 #ifdef RGBLIGHT_COLOR_LAYER_3
173 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3);
174 #endif
175 break;
176 case 4:
177 ergodox_right_led_1_on();
178 ergodox_right_led_2_on();
179 #ifdef RGBLIGHT_COLOR_LAYER_4
180 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4);
181 #endif
182 break;
183 case 5:
184 ergodox_right_led_1_on();
185 ergodox_right_led_3_on();
186 #ifdef RGBLIGHT_COLOR_LAYER_5
187 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5);
188 #endif
189 break;
190 case 6:
191 ergodox_right_led_2_on();
192 ergodox_right_led_3_on();
193 #ifdef RGBLIGHT_COLOR_LAYER_6
194 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6);
195 #endif
196 break;
197 case 7:
198 ergodox_right_led_1_on();
199 ergodox_right_led_2_on();
200 ergodox_right_led_3_on();
201 #ifdef RGBLIGHT_COLOR_LAYER_7
202 rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7);
203 #endif
204 break;
205 default:
206 break;
207 }
208
209 return state;
210};
diff --git a/keyboards/ergodox_ez/keymaps/rishka/rules.mk b/keyboards/ergodox_ez/keymaps/rishka/rules.mk
new file mode 100644
index 000000000..c867f8971
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/rishka/rules.mk
@@ -0,0 +1,2 @@
1# TAP_DANCE_ENABLE = yes
2MOUSEKEY_ENABLE = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h
new file mode 100644
index 000000000..98dc76003
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h
@@ -0,0 +1,41 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18
19#pragma once
20
21
22// #define USE_SERIAL
23#define USE_I2C
24// #define MASTER_LEFT
25// #define MASTER_RIGHT
26#define EE_HANDS
27// Rows are doubled-up
28// #define DEBOUNCE 5
29#define TAPPING_TOGGLE 3
30#define ONESHOT_TAP_TOGGLE 3
31#define PERMISSIVE_HOLD
32#define IGNORE_MOD_TAP_INTERRUPT
33#define TAPPING_TERM 300
34#ifdef RGBLED_NUM
35# undef RGBLED_NUM
36#endif
37#define RGBLED_NUM 54
38#define RGBLIGHT_LIMIT_VAL 200
39#define RGBLIGHT_ANIMATIONS
40// #define RGBLIGHT_LED_MAP { 11,10,9,8,7,6,5,4,3,2,1,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 }
41#define RGBLIGHT_SPLIT 27
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c
new file mode 100644
index 000000000..71a91cfd2
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c
@@ -0,0 +1,61 @@
1/* A standard layout for the Dactyl Manuform 5x6 Keyboard */
2
3#include QMK_KEYBOARD_H
4#include "rishka.h"
5
6enum layers {
7 BASE, // default layer
8 WIN, // Switch keys that are needed in windows
9 SYMB, // symbols
10 MDIA // media keys
11};
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14
15 [BASE] = LAYOUT_5x6_wrapper(
16 KC_EQL , ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_MINS,
17 KC_ESC , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS,
18 KC_F1 , _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, KC_QUOT,
19 OS_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, OS_RSFT,
20 KC_LEFT,KC_RGHT, KC_UP, KC_DOWN,
21 KC_BSPC, KC_SPC, KC_TAB, KC_ENT,
22 KC_LGUI, MO(SYMB), MO(SYMB), TT(MDIA),
23 KC_DEL, KC_GRV, TT(WIN), KC_LALT
24 ),
25 [WIN] = LAYOUT_5x6_wrapper(
26
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______,
32 _______, _______, _______, _______,
33 KC_LCTL, _______, _______, _______,
34 _______, _______, _______, _______
35 ),
36
37 [SYMB] = LAYOUT_5x6_wrapper(
38 KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11,
39 _______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, KC_NLCK,
40 _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
41 _______, _________________SYMBOL_L3_________________, _________________SYMBOL_R3_________________, _______,
42 _______, _______, KC_P0 , KC_PDOT,
43 _______, _______, _______, _______,
44 RESET , _______, _______, _______,
45 RGB_TOG, _______, _______, _______
46 ),
47 [MDIA] = LAYOUT_5x6_wrapper(
48
49 RGB_MOD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 RGB_M_SN, RGB_HUD, _______, KC_MS_U, _______, KC_WH_U, _______, _______, KC_WH_U, _______, _______, _______,
51 RGB_VAI, RGB_SAI, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, MOUSE_L, KC_WH_D, MOUSE_R, _______, _______,
52 RGB_VAD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______,
54 KC_BTN1, KC_BTN2, _______, _______,
55 KC_BTN3, KC_BTN4, _______, _______,
56 KC_BTN5, _______, _______, _______
57
58 ),
59};
60
61
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk
new file mode 100644
index 000000000..7084862d1
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk
@@ -0,0 +1,3 @@
1BOOTLOADER=qmk-dfu
2RGBLIGHT_ENABLE = yes
3
diff --git a/keyboards/keebio/bdn9/keymaps/rishka/config.h b/keyboards/keebio/bdn9/keymaps/rishka/config.h
new file mode 100644
index 000000000..05f1bada9
--- /dev/null
+++ b/keyboards/keebio/bdn9/keymaps/rishka/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#define QMK_ESC_OUTPUT B4
4#define QMK_ESC_INPUT F7
5#define QMK_LED B0
diff --git a/keyboards/keebio/bdn9/keymaps/rishka/keymap.c b/keyboards/keebio/bdn9/keymaps/rishka/keymap.c
new file mode 100644
index 000000000..dec371d17
--- /dev/null
+++ b/keyboards/keebio/bdn9/keymaps/rishka/keymap.c
@@ -0,0 +1,66 @@
1/* Copyright 2019 Danny Nguyen <danny@keeb.io>
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#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 | Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up |
21 | Press: Mute | Home | Press: Play/Pause |
22 | Hold: Layer 2 | Up | RGB Mode |
23 | Left | Down | Right |
24 */
25 [0] = LAYOUT(
26 KC_MUTE, KC_UP, TO(0),
27 KC_F12 , _______ , KC_F1,
28 KC_LEFT, KC_DOWN, KC_RGHT
29 ),
30 /*
31 | RESET | N/A | Media Stop |
32 | Held: Layer 2 | Home | RGB Mode |
33 | Media Previous | End | Media Next |
34 */
35 [1] = LAYOUT(
36 RESET , KC_HOME, _______,
37 _______, _______, _______,
38 KC_MPRV, KC_END , KC_MNXT
39 ),
40};
41void encoder_update_user(uint8_t index, bool clockwise) {
42 if (index == 0) {
43 if (clockwise) {
44 tap_code(KC_VOLD);
45 } else {
46 tap_code(KC_VOLU);
47 }
48 }
49 else if (index == 1) {
50 int mod = 0;
51 if (clockwise) {
52 mod = 1;
53 } else {
54 mod = -1;
55 }
56 int n = 2; //sizeof(PROGMEM);
57 int new_layer = ((layer_state + mod) % n + n) % n;
58 uprintf("new: %d\n", new_layer);
59 layer_on(new_layer);
60 for(int i=0; i < n; i++) {
61 if (new_layer != i) {
62 layer_off(i);
63 }
64 }
65 }
66}
diff --git a/keyboards/keebio/bdn9/keymaps/rishka/rules.mk b/keyboards/keebio/bdn9/keymaps/rishka/rules.mk
new file mode 100644
index 000000000..0613ea866
--- /dev/null
+++ b/keyboards/keebio/bdn9/keymaps/rishka/rules.mk
@@ -0,0 +1 @@
BOOTLOADER = qmk-dfu
diff --git a/users/rishka/rishka.c b/users/rishka/rishka.c
new file mode 100644
index 000000000..c988072d6
--- /dev/null
+++ b/users/rishka/rishka.c
@@ -0,0 +1 @@
#include "rishka.h"
diff --git a/users/rishka/rishka.h b/users/rishka/rishka.h
new file mode 100644
index 000000000..96915993d
--- /dev/null
+++ b/users/rishka/rishka.h
@@ -0,0 +1,74 @@
1#pragma once
2
3#if (!defined(LAYOUT) && defined(KEYMAP))
4# define LAYOUT KEYMAP
5#endif
6
7#undef MK_MOMENTARY_ACCEL
8#define MK_3_SPEED 1
9
10#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
11#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
12#define LAYOUT_5x6_wrapper(...) LAYOUT_5x6(__VA_ARGS__)
13#define KC_MLSF OSM(MOD_LSFT)
14#define KC_MRSF OSM(MOD_RSFT)
15
16#define OS_LGUI OSM(MOD_LGUI)
17#define OS_RGUI OSM(MOD_RGUI)
18#define OS_LSFT OSM(MOD_LSFT)
19#define OS_RSFT OSM(MOD_RSFT)
20#define OS_LCTL OSM(MOD_LCTL)
21#define OS_RCTL OSM(MOD_RCTL)
22#define OS_LALT OSM(MOD_LALT)
23#define OS_RALT OSM(MOD_RALT)
24#define OS_MEH OSM(MOD_MEH)
25#define OS_HYPR OSM(MOD_HYPR)
26#define MOUSE_L LSFT(KC_WH_D)
27#define MOUSE_R LSFT(KC_WH_U)
28#define OSX_LOCK LCTL(LGUI(KC_Q))
29
30// layout parts for easy reuse between keyboard keymaps
31// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
32// | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
33// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
34#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
35#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
36
37// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
38// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
39// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
40#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
41#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
42
43// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
44// | Q | W | E | R | T | | Y | U | I | O | P |
45// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
46// | A | S | D | F | G | | H | J | K | L | ; |
47// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
48// | Z | X | C | V | B | | N | M | , | . | / |
49// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
50#define _________________QWERTY_L1_________________ KC_Q , KC_W , KC_E , KC_R , KC_T
51#define _________________QWERTY_L2_________________ KC_A , KC_S , KC_D , KC_F , KC_G
52#define _________________QWERTY_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B
53
54#define _________________QWERTY_R1_________________ KC_Y , KC_U , KC_I , KC_O , KC_P
55#define _________________QWERTY_R2_________________ KC_H , KC_J , KC_K , KC_L , KC_SCLN
56#define _________________QWERTY_R3_________________ KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH
57
58#define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
59#define _____________MOD_QWERTY_R2_________________ KC_H , ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
60
61// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
62// | ! | @ | { | } | _ | | \ | 7 | 8 | 9 | |
63// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
64// | # | $ | ( | ) | - | | = | 4 | 5 | 6 | | |
65// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
66// | % | ^ | [ | ] | + | | * | 1 | 2 | 3 | / |
67// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
68#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_UNDS
69#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS
70#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS
71
72#define _________________SYMBOL_R1_________________ KC_BSLS, KC_P7, KC_P8 , KC_P9, KC_PAST
73#define _________________SYMBOL_R2_________________ KC_EQL , KC_P4, KC_P5, KC_P6, KC_PPLS
74#define _________________SYMBOL_R3_________________ KC_ASTR, KC_P1, KC_P2, KC_P3, KC_PMNS
diff --git a/users/rishka/rules.mk b/users/rishka/rules.mk
new file mode 100644
index 000000000..a0b8e5847
--- /dev/null
+++ b/users/rishka/rules.mk
@@ -0,0 +1 @@
SRC += rishka.c