diff options
author | Kenneth Aloysius <krusli@users.noreply.github.com> | 2018-04-21 02:14:40 +1000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-04-20 09:14:40 -0700 |
commit | 0912c42f04e7c96c80cc9f48c258082e5ba31e2d (patch) | |
tree | e2ec9ea8ed934c8e3aa4b4efe4fcdb0b53a57a84 /keyboards/staryu/keymaps/krusli | |
parent | 3ea8bcb8ae768f43218a5d1e0934867059259f92 (diff) |
Add Staryu macropad support (#2768)
* Add M6-A keymap
* Update XD60 keymap
* Update XD60 keymap readme
* Update JJ40 and Let's Split keymaps
* Add readme for M6-A
* Fix typo, update JJ40 README
* Update jj40 readme
* Cleanup jj40 keymap
* Revert Let's Split QWERTY layer to default before #2010
* Update numpad layers
* Fix: Let's Split keymap getting stuck mods due to having keycodes assigned on the Raise layer
* Keep ASCII art consistent with keymap
* Staryu: initial port
* Add personal keymap
* Added and updated READMEs
* Fix: default keymap for staryu
* Rudimentary backlight support.
* Enabled mousekeys for default keymap
* use QMK_KEYBOARD_H and LAYOUT
* Update readme.md for NIU mini: flash using avrdude
* Fix missing linebreaks for Staryu README
* Update readme.md
Diffstat (limited to 'keyboards/staryu/keymaps/krusli')
-rw-r--r-- | keyboards/staryu/keymaps/krusli/README.md | 9 | ||||
-rw-r--r-- | keyboards/staryu/keymaps/krusli/keymap.c | 97 |
2 files changed, 106 insertions, 0 deletions
diff --git a/keyboards/staryu/keymaps/krusli/README.md b/keyboards/staryu/keymaps/krusli/README.md new file mode 100644 index 0000000000..66a0979070 --- /dev/null +++ b/keyboards/staryu/keymaps/krusli/README.md @@ -0,0 +1,9 @@ +# krusli's RAMA M6-A Layout + +Personal keymap for the RAMA M6-A. + +Top-right button acts as a "toggle between layers" button. Layer 0 -> Layer 1 -> Layer 2 -> Layer 0 -> ... + +- Layer 0: Osu! gamepad layer +- Layer 1: Git commands +- Layer 2 and 3: RGB controls diff --git a/keyboards/staryu/keymaps/krusli/keymap.c b/keyboards/staryu/keymaps/krusli/keymap.c new file mode 100644 index 0000000000..2879b68e58 --- /dev/null +++ b/keyboards/staryu/keymaps/krusli/keymap.c @@ -0,0 +1,97 @@ +/* +Copyright 2018 Kenneth Aloysius + +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 +#include "action_layer.h" + +#include "../../backlight_staryu.h" + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3 +}; + +enum custom_keycodes { + GIT_ADD = SAFE_RANGE, + GIT_COMMIT, + GIT_PUSH, + MUTE, + DEAFEN +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case GIT_ADD: + SEND_STRING("git add ."SS_TAP(X_ENTER)); + break; + case GIT_COMMIT: + SEND_STRING("git commit -m "SS_DOWN(X_LSHIFT)SS_TAP(X_QUOTE)SS_UP(X_LSHIFT)); + break; + case GIT_PUSH: + SEND_STRING("git push"SS_TAP(X_ENTER)); + break; + case MUTE: + SEND_STRING(SS_LGUI(SS_LSFT("M"))); + break; + case DEAFEN: + SEND_STRING(SS_LGUI(SS_LSFT("D"))); + break; + return false; + } + } + return true; +}; + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYER0] = LAYOUT( \ + KC_ESC, TO(_LAYER1), \ + KC_Z, KC_X, KC_SPACE \ + ), + [_LAYER1] = LAYOUT( \ + MUTE, TO(_LAYER2), \ + GIT_ADD, GIT_COMMIT, GIT_PUSH \ + ), + [_LAYER2] = LAYOUT( \ + RGB_MOD, TO(_LAYER3), \ + RGB_TOG, RGB_HUD, RGB_HUI \ + ), + [_LAYER3] = LAYOUT( \ + RGB_VAI, TO(_LAYER0), \ + RGB_SAD, RGB_VAD, RGB_SAI \ + ) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + return MACRO_NONE ; +} + +void matrix_init_user(void) { + for (int i=0; i<5; i++) { + backlight_led_on(i); + } +} + +void matrix_scan_user(void) { +} + +void led_set_user(uint8_t usb_led) { +} |