* Setup keymaps and userspace for Rishka * Creates a keymap for Ergodox Ez, bdn9 and Dactyl Manuform 5x6 * Update bdn9 config with suggested change * Add pragma to other header files * Apply suggestions from code review Co-Authored-By: fauxpark <fauxpark@gmail.com> * Updates from review from fauxpark * Updates from review Swap to keyboard_post_init, layer_state_t and use layer state for encoder * Updates from review Swap to keyboard_post_init, layer_state_t and use layer state for encoder * Add missing change from reviewpull/7117/head
@ -0,0 +1,17 @@ | |||||
#pragma once | |||||
#define PERMISSIVE_HOLD | |||||
#undef MOUSEKEY_TIME_TO_MAX | |||||
#define MOUSEKEY_TIME_TO_MAX 0 | |||||
#undef MOUSEKEY_WHEEL_MAX_SPEED | |||||
#undef MOUSEKEY_WHEEL_TIME_TO_MAX | |||||
#define MOUSEKEY_WHEEL_MAX_SPEED 1 | |||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 0 | |||||
#define MK_C_OFFSET_1 20 | |||||
#define MK_C_OFFSET_2 30 | |||||
#undef MK_MOMENTARY_ACCEL |
@ -0,0 +1,210 @@ | |||||
#include QMK_KEYBOARD_H | |||||
#include "version.h" | |||||
#include "rishka.h" | |||||
enum layers { | |||||
BASE, // default layer | |||||
WIN, // Switch keys that are needed in windows | |||||
SYMB, // symbols | |||||
MDIA, // media keys | |||||
GAME, // Gamepad setup | |||||
FIRMWARE // Layer to trigger reset/refresh | |||||
}; | |||||
enum custom_keycodes { | |||||
VRSN = SAFE_RANGE, | |||||
RGB_SLD | |||||
}; | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
[BASE] = LAYOUT_ergodox_pretty_wrapper( | |||||
KC_EQL, ________________NUMBERS_L__________________, TG(WIN), OSX_LOCK, ________________NUMBERS_R__________________, KC_MINS, | |||||
KC_DELT, _________________QWERTY_L1_________________, TG(SYMB), TG(SYMB), _________________QWERTY_R1_________________, KC_BSLS, | |||||
KC_BSPC, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, LT(MDIA, KC_QUOT), | |||||
OS_LSFT, _________________QWERTY_L3_________________, ALL_T(KC_NO), TG(MDIA), _________________QWERTY_R3_________________, OS_RSFT, | |||||
LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, OSL(SYMB), | |||||
ALT_T(KC_APP), TG(GAME), KC_LALT, CTL_T(KC_ESC), | |||||
LT(FIRMWARE, KC_HOME), KC_PGUP, | |||||
KC_SPC, GUI_T(KC_BSPC), ALT_T(KC_END), GUI_T(KC_PGDN), CTL_T(KC_TAB), ALT_T(KC_ENT) | |||||
), | |||||
[WIN] = LAYOUT_ergodox_pretty_wrapper( | |||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
KC_TAB, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, | |||||
KC_LCTL, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, | |||||
_______, KC_ESC, _______, _______, | |||||
_______, _______, | |||||
_______, KC_BSPC, KC_LALT, KC_PGDN, CTL_T(KC_TAB), _______ | |||||
), | |||||
[SYMB] = LAYOUT_ergodox_pretty_wrapper( | |||||
VRSN, ______________________F_L__________________, KC_F11, KC_F12 , ______________________F_R__________________, KC_NLCK, | |||||
_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______, | |||||
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, | |||||
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______, | |||||
_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PSLS, _______, | |||||
RGB_MOD, RGB_VAI, RGB_HUI, RGB_SLD, | |||||
RGB_VAD, RGB_HUD, | |||||
_______, _______, _______, RGB_TOG, _______, _______ | |||||
), | |||||
[MDIA] = LAYOUT_ergodox( | |||||
// left hand | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, KC_MS_U, _______, KC_WH_U, _______, | |||||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, KC_BTN1, KC_BTN2, | |||||
_______, KC_BTN5, | |||||
KC_BTN4, | |||||
KC_BTN1, KC_BTN2, KC_BTN3, | |||||
// right hand | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, KC_WH_U, _______, _______, _______, | |||||
_______, KC_WH_L, KC_WH_D, KC_WH_R, _______, KC_MPLY, | |||||
_______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, | |||||
KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, | |||||
_______, _______, | |||||
_______, | |||||
KC_ACL2, KC_ACL1, KC_ACL0 | |||||
), | |||||
[GAME] = LAYOUT_ergodox( | |||||
// left hand | |||||
KC_ESCAPE, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, | |||||
KC_F1, KC_Y, KC_Q, KC_W, KC_E, KC_R, KC_T, | |||||
KC_TAB, KC_LSHIFT, KC_A, KC_S, KC_D, KC_F, | |||||
KC_LCTRL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_G, | |||||
LT(BASE, KC_L), KC_J, KC_I, KC_O, KC_M, | |||||
KC_ESCAPE, _______, | |||||
KC_ENTER, | |||||
KC_SPACE, KC_LCTRL, KC_LALT, | |||||
// right hand | |||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | |||||
TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, | |||||
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT), | |||||
MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, | |||||
KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB), | |||||
KC_LALT, CTL_T(KC_ESC), | |||||
KC_PGUP, | |||||
KC_PGDN, KC_TAB, KC_ENT | |||||
), | |||||
[FIRMWARE] = LAYOUT_ergodox( | |||||
// left hand | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, | |||||
_______, | |||||
RESET, _______, _______, | |||||
// right hand | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, | |||||
_______, | |||||
_______, _______, EEP_RST | |||||
), | |||||
}; | |||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||||
if (record->event.pressed) { | |||||
switch (keycode) { | |||||
case VRSN: | |||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | |||||
return false; | |||||
#ifdef RGBLIGHT_ENABLE | |||||
case RGB_SLD: | |||||
rgblight_mode(1); | |||||
return false; | |||||
#endif | |||||
} | |||||
} | |||||
return true; | |||||
} | |||||
// Runs just one time when the keyboard initializes. | |||||
void keyboard_post_init_user(void) { | |||||
#ifdef RGBLIGHT_COLOR_LAYER_0 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); | |||||
#endif | |||||
}; | |||||
// Runs whenever there is a layer state change. | |||||
uint32_t layer_state_set_user(layer_state_t state) { | |||||
ergodox_board_led_off(); | |||||
ergodox_right_led_1_off(); | |||||
ergodox_right_led_2_off(); | |||||
ergodox_right_led_3_off(); | |||||
uint8_t layer = get_highest_layer(state); | |||||
switch (layer) { | |||||
case 0: | |||||
#ifdef RGBLIGHT_COLOR_LAYER_0 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); | |||||
#else | |||||
#ifdef RGBLIGHT_ENABLE | |||||
rgblight_init(); | |||||
#endif | |||||
#endif | |||||
break; | |||||
case 1: | |||||
ergodox_right_led_1_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_1 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); | |||||
#endif | |||||
break; | |||||
case 2: | |||||
ergodox_right_led_2_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_2 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); | |||||
#endif | |||||
break; | |||||
case 3: | |||||
ergodox_right_led_3_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_3 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); | |||||
#endif | |||||
break; | |||||
case 4: | |||||
ergodox_right_led_1_on(); | |||||
ergodox_right_led_2_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_4 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); | |||||
#endif | |||||
break; | |||||
case 5: | |||||
ergodox_right_led_1_on(); | |||||
ergodox_right_led_3_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_5 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); | |||||
#endif | |||||
break; | |||||
case 6: | |||||
ergodox_right_led_2_on(); | |||||
ergodox_right_led_3_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_6 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); | |||||
#endif | |||||
break; | |||||
case 7: | |||||
ergodox_right_led_1_on(); | |||||
ergodox_right_led_2_on(); | |||||
ergodox_right_led_3_on(); | |||||
#ifdef RGBLIGHT_COLOR_LAYER_7 | |||||
rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7); | |||||
#endif | |||||
break; | |||||
default: | |||||
break; | |||||
} | |||||
return state; | |||||
}; |
@ -0,0 +1,2 @@ | |||||
# TAP_DANCE_ENABLE = yes | |||||
MOUSEKEY_ENABLE = yes |
@ -0,0 +1,41 @@ | |||||
/* | |||||
Copyright 2012 Jun Wako <wakojun@gmail.com> | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
// #define USE_SERIAL | |||||
#define USE_I2C | |||||
// #define MASTER_LEFT | |||||
// #define MASTER_RIGHT | |||||
#define EE_HANDS | |||||
// Rows are doubled-up | |||||
// #define DEBOUNCE 5 | |||||
#define TAPPING_TOGGLE 3 | |||||
#define ONESHOT_TAP_TOGGLE 3 | |||||
#define PERMISSIVE_HOLD | |||||
#define IGNORE_MOD_TAP_INTERRUPT | |||||
#define TAPPING_TERM 300 | |||||
#ifdef RGBLED_NUM | |||||
# undef RGBLED_NUM | |||||
#endif | |||||
#define RGBLED_NUM 54 | |||||
#define RGBLIGHT_LIMIT_VAL 200 | |||||
#define RGBLIGHT_ANIMATIONS | |||||
// #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 } | |||||
#define RGBLIGHT_SPLIT 27 |
@ -0,0 +1,61 @@ | |||||
/* A standard layout for the Dactyl Manuform 5x6 Keyboard */ | |||||
#include QMK_KEYBOARD_H | |||||
#include "rishka.h" | |||||
enum layers { | |||||
BASE, // default layer | |||||
WIN, // Switch keys that are needed in windows | |||||
SYMB, // symbols | |||||
MDIA // media keys | |||||
}; | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
[BASE] = LAYOUT_5x6_wrapper( | |||||
KC_EQL , ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_MINS, | |||||
KC_ESC , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, | |||||
KC_F1 , _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, KC_QUOT, | |||||
OS_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, OS_RSFT, | |||||
KC_LEFT,KC_RGHT, KC_UP, KC_DOWN, | |||||
KC_BSPC, KC_SPC, KC_TAB, KC_ENT, | |||||
KC_LGUI, MO(SYMB), MO(SYMB), TT(MDIA), | |||||
KC_DEL, KC_GRV, TT(WIN), KC_LALT | |||||
), | |||||
[WIN] = LAYOUT_5x6_wrapper( | |||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
_______, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
KC_LCTL, _______, _______, _______, | |||||
_______, _______, _______, _______ | |||||
), | |||||
[SYMB] = LAYOUT_5x6_wrapper( | |||||
KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11, | |||||
_______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, KC_NLCK, | |||||
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, | |||||
_______, _________________SYMBOL_L3_________________, _________________SYMBOL_R3_________________, _______, | |||||
_______, _______, KC_P0 , KC_PDOT, | |||||
_______, _______, _______, _______, | |||||
RESET , _______, _______, _______, | |||||
RGB_TOG, _______, _______, _______ | |||||
), | |||||
[MDIA] = LAYOUT_5x6_wrapper( | |||||
RGB_MOD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
RGB_M_SN, RGB_HUD, _______, KC_MS_U, _______, KC_WH_U, _______, _______, KC_WH_U, _______, _______, _______, | |||||
RGB_VAI, RGB_SAI, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, MOUSE_L, KC_WH_D, MOUSE_R, _______, _______, | |||||
RGB_VAD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
KC_BTN1, KC_BTN2, _______, _______, | |||||
KC_BTN3, KC_BTN4, _______, _______, | |||||
KC_BTN5, _______, _______, _______ | |||||
), | |||||
}; | |||||
@ -0,0 +1,3 @@ | |||||
BOOTLOADER=qmk-dfu | |||||
RGBLIGHT_ENABLE = yes | |||||
@ -0,0 +1,5 @@ | |||||
#pragma once | |||||
#define QMK_ESC_OUTPUT B4 | |||||
#define QMK_ESC_INPUT F7 | |||||
#define QMK_LED B0 |
@ -0,0 +1,66 @@ | |||||
/* Copyright 2019 Danny Nguyen <danny@keeb.io> | |||||
* | |||||
* This program is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 2 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include QMK_KEYBOARD_H | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
/* | |||||
| Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up | | |||||
| Press: Mute | Home | Press: Play/Pause | | |||||
| Hold: Layer 2 | Up | RGB Mode | | |||||
| Left | Down | Right | | |||||
*/ | |||||
[0] = LAYOUT( | |||||
KC_MUTE, KC_UP, TO(0), | |||||
KC_F12 , _______ , KC_F1, | |||||
KC_LEFT, KC_DOWN, KC_RGHT | |||||
), | |||||
/* | |||||
| RESET | N/A | Media Stop | | |||||
| Held: Layer 2 | Home | RGB Mode | | |||||
| Media Previous | End | Media Next | | |||||
*/ | |||||
[1] = LAYOUT( | |||||
RESET , KC_HOME, _______, | |||||
_______, _______, _______, | |||||
KC_MPRV, KC_END , KC_MNXT | |||||
), | |||||
}; | |||||
void encoder_update_user(uint8_t index, bool clockwise) { | |||||
if (index == 0) { | |||||
if (clockwise) { | |||||
tap_code(KC_VOLD); | |||||
} else { | |||||
tap_code(KC_VOLU); | |||||
} | |||||
} | |||||
else if (index == 1) { | |||||
int mod = 0; | |||||
if (clockwise) { | |||||
mod = 1; | |||||
} else { | |||||
mod = -1; | |||||
} | |||||
int n = 2; //sizeof(PROGMEM); | |||||
int new_layer = ((layer_state + mod) % n + n) % n; | |||||
uprintf("new: %d\n", new_layer); | |||||
layer_on(new_layer); | |||||
for(int i=0; i < n; i++) { | |||||
if (new_layer != i) { | |||||
layer_off(i); | |||||
} | |||||
} | |||||
} | |||||
} |
@ -0,0 +1 @@ | |||||
BOOTLOADER = qmk-dfu |
@ -0,0 +1 @@ | |||||
#include "rishka.h" |
@ -0,0 +1,74 @@ | |||||
#pragma once | |||||
#if (!defined(LAYOUT) && defined(KEYMAP)) | |||||
# define LAYOUT KEYMAP | |||||
#endif | |||||
#undef MK_MOMENTARY_ACCEL | |||||
#define MK_3_SPEED 1 | |||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | |||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | |||||
#define LAYOUT_5x6_wrapper(...) LAYOUT_5x6(__VA_ARGS__) | |||||
#define KC_MLSF OSM(MOD_LSFT) | |||||
#define KC_MRSF OSM(MOD_RSFT) | |||||
#define OS_LGUI OSM(MOD_LGUI) | |||||
#define OS_RGUI OSM(MOD_RGUI) | |||||
#define OS_LSFT OSM(MOD_LSFT) | |||||
#define OS_RSFT OSM(MOD_RSFT) | |||||
#define OS_LCTL OSM(MOD_LCTL) | |||||
#define OS_RCTL OSM(MOD_RCTL) | |||||
#define OS_LALT OSM(MOD_LALT) | |||||
#define OS_RALT OSM(MOD_RALT) | |||||
#define OS_MEH OSM(MOD_MEH) | |||||
#define OS_HYPR OSM(MOD_HYPR) | |||||
#define MOUSE_L LSFT(KC_WH_D) | |||||
#define MOUSE_R LSFT(KC_WH_U) | |||||
#define OSX_LOCK LCTL(LGUI(KC_Q)) | |||||
// layout parts for easy reuse between keyboard keymaps | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
// | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5 | |||||
#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0 | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | |||||
#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
// | Q | W | E | R | T | | Y | U | I | O | P | | |||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | |||||
// | A | S | D | F | G | | H | J | K | L | ; | | |||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | |||||
// | Z | X | C | V | B | | N | M | , | . | / | | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
#define _________________QWERTY_L1_________________ KC_Q , KC_W , KC_E , KC_R , KC_T | |||||
#define _________________QWERTY_L2_________________ KC_A , KC_S , KC_D , KC_F , KC_G | |||||
#define _________________QWERTY_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B | |||||
#define _________________QWERTY_R1_________________ KC_Y , KC_U , KC_I , KC_O , KC_P | |||||
#define _________________QWERTY_R2_________________ KC_H , KC_J , KC_K , KC_L , KC_SCLN | |||||
#define _________________QWERTY_R3_________________ KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH | |||||
#define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G | |||||
#define _____________MOD_QWERTY_R2_________________ KC_H , ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN) | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
// | ! | @ | { | } | _ | | \ | 7 | 8 | 9 | | | |||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | |||||
// | # | $ | ( | ) | - | | = | 4 | 5 | 6 | | | | |||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | |||||
// | % | ^ | [ | ] | + | | * | 1 | 2 | 3 | / | | |||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | |||||
#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_UNDS | |||||
#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS | |||||
#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS | |||||
#define _________________SYMBOL_R1_________________ KC_BSLS, KC_P7, KC_P8 , KC_P9, KC_PAST | |||||
#define _________________SYMBOL_R2_________________ KC_EQL , KC_P4, KC_P5, KC_P6, KC_PPLS | |||||
#define _________________SYMBOL_R3_________________ KC_ASTR, KC_P1, KC_P2, KC_P3, KC_PMNS |
@ -0,0 +1 @@ | |||||
SRC += rishka.c |